Lines Matching refs:hdev

383 	int (*open)(struct hci_dev *hdev);
384 int (*close)(struct hci_dev *hdev);
385 int (*flush)(struct hci_dev *hdev);
386 int (*setup)(struct hci_dev *hdev);
387 int (*shutdown)(struct hci_dev *hdev);
388 int (*send)(struct hci_dev *hdev, struct sk_buff *skb);
389 void (*notify)(struct hci_dev *hdev, unsigned int evt);
390 void (*hw_error)(struct hci_dev *hdev, u8 code);
391 int (*set_bdaddr)(struct hci_dev *hdev, const bdaddr_t *bdaddr);
466 struct hci_dev *hdev; member
515 #define hci_dev_set_flag(hdev, nr) set_bit((nr), (hdev)->dev_flags) argument
516 #define hci_dev_clear_flag(hdev, nr) clear_bit((nr), (hdev)->dev_flags) argument
517 #define hci_dev_change_flag(hdev, nr) change_bit((nr), (hdev)->dev_flags) argument
518 #define hci_dev_test_flag(hdev, nr) test_bit((nr), (hdev)->dev_flags) argument
519 #define hci_dev_test_and_set_flag(hdev, nr) test_and_set_bit((nr), (hdev)->dev_flags) argument
520 #define hci_dev_test_and_clear_flag(hdev, nr) test_and_clear_bit((nr), (hdev)->dev_flags) argument
521 #define hci_dev_test_and_change_flag(hdev, nr) test_and_change_bit((nr), (hdev)->dev_flags) argument
523 #define hci_dev_clear_volatile_flags(hdev) \ argument
525 hci_dev_clear_flag(hdev, HCI_LE_SCAN); \
526 hci_dev_clear_flag(hdev, HCI_LE_ADV); \
527 hci_dev_clear_flag(hdev, HCI_PERIODIC_INQ); \
531 int l2cap_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr);
535 int sco_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, __u8 *flags);
542 static inline void discovery_init(struct hci_dev *hdev) in discovery_init() argument
544 hdev->discovery.state = DISCOVERY_STOPPED; in discovery_init()
545 INIT_LIST_HEAD(&hdev->discovery.all); in discovery_init()
546 INIT_LIST_HEAD(&hdev->discovery.unknown); in discovery_init()
547 INIT_LIST_HEAD(&hdev->discovery.resolve); in discovery_init()
548 hdev->discovery.report_invalid_rssi = true; in discovery_init()
549 hdev->discovery.rssi = HCI_RSSI_INVALID; in discovery_init()
552 static inline void hci_discovery_filter_clear(struct hci_dev *hdev) in hci_discovery_filter_clear() argument
554 hdev->discovery.result_filtering = false; in hci_discovery_filter_clear()
555 hdev->discovery.report_invalid_rssi = true; in hci_discovery_filter_clear()
556 hdev->discovery.rssi = HCI_RSSI_INVALID; in hci_discovery_filter_clear()
557 hdev->discovery.uuid_count = 0; in hci_discovery_filter_clear()
558 kfree(hdev->discovery.uuids); in hci_discovery_filter_clear()
559 hdev->discovery.uuids = NULL; in hci_discovery_filter_clear()
560 hdev->discovery.scan_start = 0; in hci_discovery_filter_clear()
561 hdev->discovery.scan_duration = 0; in hci_discovery_filter_clear()
564 static inline void adv_info_init(struct hci_dev *hdev) in adv_info_init() argument
566 memset(&hdev->adv_instance, 0, sizeof(struct adv_info)); in adv_info_init()
569 bool hci_discovery_active(struct hci_dev *hdev);
571 void hci_discovery_set_state(struct hci_dev *hdev, int state);
573 static inline int inquiry_cache_empty(struct hci_dev *hdev) in inquiry_cache_empty() argument
575 return list_empty(&hdev->discovery.all); in inquiry_cache_empty()
578 static inline long inquiry_cache_age(struct hci_dev *hdev) in inquiry_cache_age() argument
580 struct discovery_state *c = &hdev->discovery; in inquiry_cache_age()
589 struct inquiry_entry *hci_inquiry_cache_lookup(struct hci_dev *hdev,
591 struct inquiry_entry *hci_inquiry_cache_lookup_unknown(struct hci_dev *hdev,
593 struct inquiry_entry *hci_inquiry_cache_lookup_resolve(struct hci_dev *hdev,
596 void hci_inquiry_cache_update_resolve(struct hci_dev *hdev,
598 u32 hci_inquiry_cache_update(struct hci_dev *hdev, struct inquiry_data *data,
600 void hci_inquiry_cache_flush(struct hci_dev *hdev);
629 struct hci_dev *hdev = conn->hdev; in hci_conn_ssp_enabled() local
630 return hci_dev_test_flag(hdev, HCI_SSP_ENABLED) && in hci_conn_ssp_enabled()
636 struct hci_dev *hdev = conn->hdev; in hci_conn_sc_enabled() local
637 return hci_dev_test_flag(hdev, HCI_SC_ENABLED) && in hci_conn_sc_enabled()
641 static inline void hci_conn_hash_add(struct hci_dev *hdev, struct hci_conn *c) in hci_conn_hash_add() argument
643 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_add()
664 static inline void hci_conn_hash_del(struct hci_dev *hdev, struct hci_conn *c) in hci_conn_hash_del() argument
666 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_del()
690 static inline unsigned int hci_conn_num(struct hci_dev *hdev, __u8 type) in hci_conn_num() argument
692 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_num()
708 static inline unsigned int hci_conn_count(struct hci_dev *hdev) in hci_conn_count() argument
710 struct hci_conn_hash *c = &hdev->conn_hash; in hci_conn_count()
715 static inline __u8 hci_conn_lookup_type(struct hci_dev *hdev, __u16 handle) in hci_conn_lookup_type() argument
717 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_lookup_type()
735 static inline struct hci_conn *hci_conn_hash_lookup_handle(struct hci_dev *hdev, in hci_conn_hash_lookup_handle() argument
738 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_handle()
754 static inline struct hci_conn *hci_conn_hash_lookup_ba(struct hci_dev *hdev, in hci_conn_hash_lookup_ba() argument
757 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_ba()
774 static inline struct hci_conn *hci_conn_hash_lookup_state(struct hci_dev *hdev, in hci_conn_hash_lookup_state() argument
777 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_state()
798 struct hci_conn *hci_conn_add(struct hci_dev *hdev, int type, bdaddr_t *dst,
801 void hci_conn_hash_flush(struct hci_dev *hdev);
802 void hci_conn_check_pending(struct hci_dev *hdev);
807 struct hci_chan *hci_chan_lookup_handle(struct hci_dev *hdev, __u16 handle);
809 struct hci_conn *hci_connect_le(struct hci_dev *hdev, bdaddr_t *dst,
812 struct hci_conn *hci_connect_acl(struct hci_dev *hdev, bdaddr_t *dst,
814 struct hci_conn *hci_connect_sco(struct hci_dev *hdev, int type, bdaddr_t *dst,
896 queue_delayed_work(conn->hdev->workqueue, in hci_conn_drop()
925 static inline void *hci_get_drvdata(struct hci_dev *hdev) in hci_get_drvdata() argument
927 return dev_get_drvdata(&hdev->dev); in hci_get_drvdata()
930 static inline void hci_set_drvdata(struct hci_dev *hdev, void *data) in hci_set_drvdata() argument
932 dev_set_drvdata(&hdev->dev, data); in hci_set_drvdata()
939 void hci_free_dev(struct hci_dev *hdev);
940 int hci_register_dev(struct hci_dev *hdev);
941 void hci_unregister_dev(struct hci_dev *hdev);
942 int hci_suspend_dev(struct hci_dev *hdev);
943 int hci_resume_dev(struct hci_dev *hdev);
944 int hci_reset_dev(struct hci_dev *hdev);
953 int hci_get_conn_info(struct hci_dev *hdev, void __user *arg);
954 int hci_get_auth_info(struct hci_dev *hdev, void __user *arg);
963 struct hci_conn_params *hci_conn_params_lookup(struct hci_dev *hdev,
965 struct hci_conn_params *hci_conn_params_add(struct hci_dev *hdev,
967 void hci_conn_params_del(struct hci_dev *hdev, bdaddr_t *addr, u8 addr_type);
968 void hci_conn_params_clear_all(struct hci_dev *hdev);
969 void hci_conn_params_clear_disabled(struct hci_dev *hdev);
975 void hci_uuids_clear(struct hci_dev *hdev);
977 void hci_link_keys_clear(struct hci_dev *hdev);
978 struct link_key *hci_find_link_key(struct hci_dev *hdev, bdaddr_t *bdaddr);
979 struct link_key *hci_add_link_key(struct hci_dev *hdev, struct hci_conn *conn,
982 struct smp_ltk *hci_add_ltk(struct hci_dev *hdev, bdaddr_t *bdaddr,
985 struct smp_ltk *hci_find_ltk(struct hci_dev *hdev, bdaddr_t *bdaddr,
987 int hci_remove_ltk(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 bdaddr_type);
988 void hci_smp_ltks_clear(struct hci_dev *hdev);
989 int hci_remove_link_key(struct hci_dev *hdev, bdaddr_t *bdaddr);
991 struct smp_irk *hci_find_irk_by_rpa(struct hci_dev *hdev, bdaddr_t *rpa);
992 struct smp_irk *hci_find_irk_by_addr(struct hci_dev *hdev, bdaddr_t *bdaddr,
994 struct smp_irk *hci_add_irk(struct hci_dev *hdev, bdaddr_t *bdaddr,
996 void hci_remove_irk(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 addr_type);
997 void hci_smp_irks_clear(struct hci_dev *hdev);
999 bool hci_bdaddr_is_paired(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 type);
1001 void hci_remote_oob_data_clear(struct hci_dev *hdev);
1002 struct oob_data *hci_find_remote_oob_data(struct hci_dev *hdev,
1004 int hci_add_remote_oob_data(struct hci_dev *hdev, bdaddr_t *bdaddr,
1007 int hci_remove_remote_oob_data(struct hci_dev *hdev, bdaddr_t *bdaddr,
1010 void hci_event_packet(struct hci_dev *hdev, struct sk_buff *skb);
1012 int hci_recv_frame(struct hci_dev *hdev, struct sk_buff *skb);
1014 void hci_init_sysfs(struct hci_dev *hdev);
1019 #define SET_HCIDEV_DEV(hdev, pdev) ((hdev)->dev.parent = (pdev)) argument
1064 static inline int hci_proto_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, in hci_proto_connect_ind() argument
1069 return l2cap_connect_ind(hdev, bdaddr); in hci_proto_connect_ind()
1073 return sco_connect_ind(hdev, bdaddr, flags); in hci_proto_connect_ind()
1251 static inline struct smp_irk *hci_get_irk(struct hci_dev *hdev, in hci_get_irk() argument
1257 return hci_find_irk_by_rpa(hdev, bdaddr); in hci_get_irk()
1284 struct sk_buff *__hci_cmd_sync(struct hci_dev *hdev, u16 opcode, u32 plen,
1286 struct sk_buff *__hci_cmd_sync_ev(struct hci_dev *hdev, u16 opcode, u32 plen,
1289 int hci_send_cmd(struct hci_dev *hdev, __u16 opcode, __u32 plen,
1294 void *hci_sent_cmd_data(struct hci_dev *hdev, __u16 opcode);
1297 void hci_send_to_sock(struct hci_dev *hdev, struct sk_buff *skb);
1300 void hci_send_to_monitor(struct hci_dev *hdev, struct sk_buff *skb);
1302 void hci_sock_dev_event(struct hci_dev *hdev, int event);
1310 int (*func) (struct sock *sk, struct hci_dev *hdev, void *data,
1321 void (*hdev_init) (struct sock *sk, struct hci_dev *hdev);
1346 int mgmt_new_settings(struct hci_dev *hdev);
1347 void mgmt_index_added(struct hci_dev *hdev);
1348 void mgmt_index_removed(struct hci_dev *hdev);
1349 void mgmt_set_powered_failed(struct hci_dev *hdev, int err);
1350 int mgmt_powered(struct hci_dev *hdev, u8 powered);
1351 int mgmt_update_adv_data(struct hci_dev *hdev);
1352 void mgmt_discoverable_timeout(struct hci_dev *hdev);
1353 void mgmt_new_link_key(struct hci_dev *hdev, struct link_key *key,
1355 void mgmt_device_connected(struct hci_dev *hdev, struct hci_conn *conn,
1357 void mgmt_device_disconnected(struct hci_dev *hdev, bdaddr_t *bdaddr,
1360 void mgmt_disconnect_failed(struct hci_dev *hdev, bdaddr_t *bdaddr,
1362 void mgmt_connect_failed(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
1364 void mgmt_pin_code_request(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 secure);
1365 void mgmt_pin_code_reply_complete(struct hci_dev *hdev, bdaddr_t *bdaddr,
1367 void mgmt_pin_code_neg_reply_complete(struct hci_dev *hdev, bdaddr_t *bdaddr,
1369 int mgmt_user_confirm_request(struct hci_dev *hdev, bdaddr_t *bdaddr,
1372 int mgmt_user_confirm_reply_complete(struct hci_dev *hdev, bdaddr_t *bdaddr,
1374 int mgmt_user_confirm_neg_reply_complete(struct hci_dev *hdev, bdaddr_t *bdaddr,
1376 int mgmt_user_passkey_request(struct hci_dev *hdev, bdaddr_t *bdaddr,
1378 int mgmt_user_passkey_reply_complete(struct hci_dev *hdev, bdaddr_t *bdaddr,
1380 int mgmt_user_passkey_neg_reply_complete(struct hci_dev *hdev, bdaddr_t *bdaddr,
1382 int mgmt_user_passkey_notify(struct hci_dev *hdev, bdaddr_t *bdaddr,
1386 void mgmt_auth_enable_complete(struct hci_dev *hdev, u8 status);
1387 void mgmt_ssp_enable_complete(struct hci_dev *hdev, u8 enable, u8 status);
1388 void mgmt_set_class_of_dev_complete(struct hci_dev *hdev, u8 *dev_class,
1390 void mgmt_set_local_name_complete(struct hci_dev *hdev, u8 *name, u8 status);
1391 void mgmt_device_found(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
1394 void mgmt_remote_name(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
1396 void mgmt_discovering(struct hci_dev *hdev, u8 discovering);
1397 bool mgmt_powering_down(struct hci_dev *hdev);
1398 void mgmt_new_ltk(struct hci_dev *hdev, struct smp_ltk *key, bool persistent);
1399 void mgmt_new_irk(struct hci_dev *hdev, struct smp_irk *irk);
1400 void mgmt_new_csrk(struct hci_dev *hdev, struct smp_csrk *csrk,
1402 void mgmt_new_conn_param(struct hci_dev *hdev, bdaddr_t *bdaddr,
1405 void mgmt_reenable_advertising(struct hci_dev *hdev);
1413 void hci_copy_identity_address(struct hci_dev *hdev, bdaddr_t *bdaddr,