Lines Matching refs:hdev
640 int (*open)(struct hci_dev *hdev);
641 int (*close)(struct hci_dev *hdev);
642 int (*flush)(struct hci_dev *hdev);
643 int (*setup)(struct hci_dev *hdev);
644 int (*shutdown)(struct hci_dev *hdev);
645 int (*send)(struct hci_dev *hdev, struct sk_buff *skb);
646 void (*notify)(struct hci_dev *hdev, unsigned int evt);
647 void (*hw_error)(struct hci_dev *hdev, u8 code);
648 int (*post_init)(struct hci_dev *hdev);
649 int (*set_diag)(struct hci_dev *hdev, bool enable);
650 int (*set_bdaddr)(struct hci_dev *hdev, const bdaddr_t *bdaddr);
651 void (*reset)(struct hci_dev *hdev);
652 bool (*wakeup)(struct hci_dev *hdev);
653 int (*set_quality_report)(struct hci_dev *hdev, bool enable);
654 int (*get_data_path_id)(struct hci_dev *hdev, __u8 *data_path);
655 int (*get_codec_config_data)(struct hci_dev *hdev, __u8 type,
658 u8 (*classify_pkt_type)(struct hci_dev *hdev, struct sk_buff *skb);
661 #define hci_set_quirk(hdev, nr) set_bit((nr), (hdev)->quirk_flags) argument
662 #define hci_clear_quirk(hdev, nr) clear_bit((nr), (hdev)->quirk_flags) argument
663 #define hci_test_quirk(hdev, nr) test_bit((nr), (hdev)->quirk_flags) argument
765 struct hci_dev *hdev; member
830 #define hci_dev_set_flag(hdev, nr) set_bit((nr), (hdev)->dev_flags) argument
831 #define hci_dev_clear_flag(hdev, nr) clear_bit((nr), (hdev)->dev_flags) argument
832 #define hci_dev_change_flag(hdev, nr) change_bit((nr), (hdev)->dev_flags) argument
833 #define hci_dev_test_flag(hdev, nr) test_bit((nr), (hdev)->dev_flags) argument
834 #define hci_dev_test_and_set_flag(hdev, nr) test_and_set_bit((nr), (hdev)->dev_flags) argument
835 #define hci_dev_test_and_clear_flag(hdev, nr) test_and_clear_bit((nr), (hdev)->dev_flags) argument
836 #define hci_dev_test_and_change_flag(hdev, nr) test_and_change_bit((nr), (hdev)->dev_flags) argument
838 #define hci_dev_clear_volatile_flags(hdev) \ argument
840 hci_dev_clear_flag((hdev), HCI_LE_SCAN); \
841 hci_dev_clear_flag((hdev), HCI_LE_ADV); \
842 hci_dev_clear_flag((hdev), HCI_LL_RPA_RESOLUTION); \
843 hci_dev_clear_flag((hdev), HCI_PERIODIC_INQ); \
844 hci_dev_clear_flag((hdev), HCI_QUALITY_REPORT); \
847 #define hci_dev_le_state_simultaneous(hdev) \ argument
848 (!hci_test_quirk((hdev), HCI_QUIRK_BROKEN_LE_STATES) && \
849 ((hdev)->le_states[4] & 0x08) && /* Central */ \
850 ((hdev)->le_states[4] & 0x40) && /* Peripheral */ \
851 ((hdev)->le_states[3] & 0x10)) /* Simultaneous */
854 int l2cap_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr);
859 int sco_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, __u8 *flags);
862 static inline int sco_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, in sco_connect_ind() argument
874 int iso_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, __u8 *flags);
877 static inline int iso_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, in iso_connect_ind() argument
892 static inline void discovery_init(struct hci_dev *hdev) in discovery_init() argument
894 spin_lock_init(&hdev->discovery.lock); in discovery_init()
895 hdev->discovery.state = DISCOVERY_STOPPED; in discovery_init()
896 INIT_LIST_HEAD(&hdev->discovery.all); in discovery_init()
897 INIT_LIST_HEAD(&hdev->discovery.unknown); in discovery_init()
898 INIT_LIST_HEAD(&hdev->discovery.resolve); in discovery_init()
899 hdev->discovery.report_invalid_rssi = true; in discovery_init()
900 hdev->discovery.rssi = HCI_RSSI_INVALID; in discovery_init()
903 static inline void hci_discovery_filter_clear(struct hci_dev *hdev) in hci_discovery_filter_clear() argument
905 hdev->discovery.result_filtering = false; in hci_discovery_filter_clear()
906 hdev->discovery.report_invalid_rssi = true; in hci_discovery_filter_clear()
907 hdev->discovery.rssi = HCI_RSSI_INVALID; in hci_discovery_filter_clear()
908 hdev->discovery.uuid_count = 0; in hci_discovery_filter_clear()
910 spin_lock(&hdev->discovery.lock); in hci_discovery_filter_clear()
911 kfree(hdev->discovery.uuids); in hci_discovery_filter_clear()
912 hdev->discovery.uuids = NULL; in hci_discovery_filter_clear()
913 spin_unlock(&hdev->discovery.lock); in hci_discovery_filter_clear()
916 bool hci_discovery_active(struct hci_dev *hdev);
918 void hci_discovery_set_state(struct hci_dev *hdev, int state);
920 static inline int inquiry_cache_empty(struct hci_dev *hdev) in inquiry_cache_empty() argument
922 return list_empty(&hdev->discovery.all); in inquiry_cache_empty()
925 static inline long inquiry_cache_age(struct hci_dev *hdev) in inquiry_cache_age() argument
927 struct discovery_state *c = &hdev->discovery; in inquiry_cache_age()
936 struct inquiry_entry *hci_inquiry_cache_lookup(struct hci_dev *hdev,
938 struct inquiry_entry *hci_inquiry_cache_lookup_unknown(struct hci_dev *hdev,
940 struct inquiry_entry *hci_inquiry_cache_lookup_resolve(struct hci_dev *hdev,
943 void hci_inquiry_cache_update_resolve(struct hci_dev *hdev,
945 u32 hci_inquiry_cache_update(struct hci_dev *hdev, struct inquiry_data *data,
947 void hci_inquiry_cache_flush(struct hci_dev *hdev);
987 struct hci_dev *hdev = conn->hdev; in hci_conn_ssp_enabled() local
988 return hci_dev_test_flag(hdev, HCI_SSP_ENABLED) && in hci_conn_ssp_enabled()
994 struct hci_dev *hdev = conn->hdev; in hci_conn_sc_enabled() local
995 return hci_dev_test_flag(hdev, HCI_SC_ENABLED) && in hci_conn_sc_enabled()
999 static inline void hci_conn_hash_add(struct hci_dev *hdev, struct hci_conn *c) in hci_conn_hash_add() argument
1001 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_add()
1024 static inline void hci_conn_hash_del(struct hci_dev *hdev, struct hci_conn *c) in hci_conn_hash_del() argument
1026 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_del()
1052 static inline unsigned int hci_conn_num(struct hci_dev *hdev, __u8 type) in hci_conn_num() argument
1054 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_num()
1072 static inline unsigned int hci_conn_count(struct hci_dev *hdev) in hci_conn_count() argument
1074 struct hci_conn_hash *c = &hdev->conn_hash; in hci_conn_count()
1079 static inline bool hci_conn_valid(struct hci_dev *hdev, struct hci_conn *conn) in hci_conn_valid() argument
1081 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_valid()
1097 static inline __u8 hci_conn_lookup_type(struct hci_dev *hdev, __u16 handle) in hci_conn_lookup_type() argument
1099 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_lookup_type()
1117 static inline struct hci_conn *hci_conn_hash_lookup_bis(struct hci_dev *hdev, in hci_conn_hash_lookup_bis() argument
1120 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_bis()
1140 hci_conn_hash_lookup_create_pa_sync(struct hci_dev *hdev) in hci_conn_hash_lookup_create_pa_sync() argument
1142 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_create_pa_sync()
1164 hci_conn_hash_lookup_per_adv_bis(struct hci_dev *hdev, in hci_conn_hash_lookup_per_adv_bis() argument
1168 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_per_adv_bis()
1189 static inline struct hci_conn *hci_conn_hash_lookup_handle(struct hci_dev *hdev, in hci_conn_hash_lookup_handle() argument
1192 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_handle()
1208 static inline struct hci_conn *hci_conn_hash_lookup_ba(struct hci_dev *hdev, in hci_conn_hash_lookup_ba() argument
1211 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_ba()
1228 static inline struct hci_conn *hci_conn_hash_lookup_le(struct hci_dev *hdev, in hci_conn_hash_lookup_le() argument
1232 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_le()
1252 static inline struct hci_conn *hci_conn_hash_lookup_cis(struct hci_dev *hdev, in hci_conn_hash_lookup_cis() argument
1258 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_cis()
1287 static inline struct hci_conn *hci_conn_hash_lookup_cig(struct hci_dev *hdev, in hci_conn_hash_lookup_cig() argument
1290 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_cig()
1310 static inline struct hci_conn *hci_conn_hash_lookup_big(struct hci_dev *hdev, in hci_conn_hash_lookup_big() argument
1313 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_big()
1334 hci_conn_hash_lookup_big_sync_pend(struct hci_dev *hdev, in hci_conn_hash_lookup_big_sync_pend() argument
1337 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_big_sync_pend()
1358 hci_conn_hash_lookup_big_state(struct hci_dev *hdev, __u8 handle, __u16 state, in hci_conn_hash_lookup_big_state() argument
1361 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_big_state()
1382 hci_conn_hash_lookup_pa_sync_big_handle(struct hci_dev *hdev, __u8 big) in hci_conn_hash_lookup_pa_sync_big_handle() argument
1384 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_pa_sync_big_handle()
1405 hci_conn_hash_lookup_pa_sync_handle(struct hci_dev *hdev, __u16 sync_handle) in hci_conn_hash_lookup_pa_sync_handle() argument
1407 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_lookup_pa_sync_handle()
1434 static inline void hci_conn_hash_list_state(struct hci_dev *hdev, in hci_conn_hash_list_state() argument
1438 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_list_state()
1454 static inline void hci_conn_hash_list_flag(struct hci_dev *hdev, in hci_conn_hash_list_flag() argument
1458 struct hci_conn_hash *h = &hdev->conn_hash; in hci_conn_hash_list_flag()
1474 static inline struct hci_conn *hci_lookup_le_connect(struct hci_dev *hdev) in hci_lookup_le_connect() argument
1476 struct hci_conn_hash *h = &hdev->conn_hash; in hci_lookup_le_connect()
1495 static inline bool hci_is_le_conn_scanning(struct hci_dev *hdev) in hci_is_le_conn_scanning() argument
1497 struct hci_conn_hash *h = &hdev->conn_hash; in hci_is_le_conn_scanning()
1519 int hci_le_create_cis_pending(struct hci_dev *hdev);
1522 struct hci_conn *hci_conn_add(struct hci_dev *hdev, int type, bdaddr_t *dst,
1524 struct hci_conn *hci_conn_add_unset(struct hci_dev *hdev, int type,
1527 void hci_conn_hash_flush(struct hci_dev *hdev);
1532 struct hci_chan *hci_chan_lookup_handle(struct hci_dev *hdev, __u16 handle);
1534 struct hci_conn *hci_connect_le_scan(struct hci_dev *hdev, bdaddr_t *dst,
1538 struct hci_conn *hci_connect_le(struct hci_dev *hdev, bdaddr_t *dst,
1542 struct hci_conn *hci_connect_acl(struct hci_dev *hdev, bdaddr_t *dst,
1545 struct hci_conn *hci_connect_sco(struct hci_dev *hdev, int type, bdaddr_t *dst,
1548 struct hci_conn *hci_bind_cis(struct hci_dev *hdev, bdaddr_t *dst,
1550 struct hci_conn *hci_bind_bis(struct hci_dev *hdev, bdaddr_t *dst, __u8 sid,
1553 struct hci_conn *hci_connect_cis(struct hci_dev *hdev, bdaddr_t *dst,
1555 struct hci_conn *hci_connect_bis(struct hci_dev *hdev, bdaddr_t *dst,
1559 struct hci_conn *hci_pa_create_sync(struct hci_dev *hdev, bdaddr_t *dst,
1561 int hci_conn_big_create_sync(struct hci_dev *hdev, struct hci_conn *hcon,
1655 queue_delayed_work(conn->hdev->workqueue, in hci_conn_drop()
1684 static inline void *hci_get_drvdata(struct hci_dev *hdev) in hci_get_drvdata() argument
1686 return dev_get_drvdata(&hdev->dev); in hci_get_drvdata()
1689 static inline void hci_set_drvdata(struct hci_dev *hdev, void *data) in hci_set_drvdata() argument
1691 dev_set_drvdata(&hdev->dev, data); in hci_set_drvdata()
1694 static inline void *hci_get_priv(struct hci_dev *hdev) in hci_get_priv() argument
1696 return (char *)hdev + sizeof(*hdev); in hci_get_priv()
1709 void hci_free_dev(struct hci_dev *hdev);
1710 int hci_register_dev(struct hci_dev *hdev);
1711 void hci_unregister_dev(struct hci_dev *hdev);
1712 void hci_release_dev(struct hci_dev *hdev);
1713 int hci_register_suspend_notifier(struct hci_dev *hdev);
1714 int hci_unregister_suspend_notifier(struct hci_dev *hdev);
1715 int hci_suspend_dev(struct hci_dev *hdev);
1716 int hci_resume_dev(struct hci_dev *hdev);
1717 int hci_reset_dev(struct hci_dev *hdev);
1718 int hci_recv_frame(struct hci_dev *hdev, struct sk_buff *skb);
1719 int hci_recv_diag(struct hci_dev *hdev, struct sk_buff *skb);
1720 __printf(2, 3) void hci_set_hw_info(struct hci_dev *hdev, const char *fmt, ...);
1721 __printf(2, 3) void hci_set_fw_info(struct hci_dev *hdev, const char *fmt, ...);
1723 static inline void hci_set_msft_opcode(struct hci_dev *hdev, __u16 opcode) in hci_set_msft_opcode() argument
1726 hdev->msft_opcode = opcode; in hci_set_msft_opcode()
1730 static inline void hci_set_aosp_capable(struct hci_dev *hdev) in hci_set_aosp_capable() argument
1733 hdev->aosp_capable = true; in hci_set_aosp_capable()
1737 static inline void hci_devcd_setup(struct hci_dev *hdev) in hci_devcd_setup() argument
1740 INIT_WORK(&hdev->dump.dump_rx, hci_devcd_rx); in hci_devcd_setup()
1741 INIT_DELAYED_WORK(&hdev->dump.dump_timeout, hci_devcd_timeout); in hci_devcd_setup()
1742 skb_queue_head_init(&hdev->dump.dump_q); in hci_devcd_setup()
1748 int hci_dev_do_close(struct hci_dev *hdev);
1755 int hci_get_conn_info(struct hci_dev *hdev, void __user *arg);
1756 int hci_get_auth_info(struct hci_dev *hdev, void __user *arg);
1777 struct hci_conn_params *hci_conn_params_lookup(struct hci_dev *hdev,
1779 struct hci_conn_params *hci_conn_params_add(struct hci_dev *hdev,
1781 void hci_conn_params_del(struct hci_dev *hdev, bdaddr_t *addr, u8 addr_type);
1782 void hci_conn_params_clear_disabled(struct hci_dev *hdev);
1792 void hci_uuids_clear(struct hci_dev *hdev);
1794 void hci_link_keys_clear(struct hci_dev *hdev);
1796 struct link_key *hci_find_link_key(struct hci_dev *hdev, bdaddr_t *bdaddr);
1797 struct link_key *hci_add_link_key(struct hci_dev *hdev, struct hci_conn *conn,
1800 struct smp_ltk *hci_add_ltk(struct hci_dev *hdev, bdaddr_t *bdaddr,
1803 struct smp_ltk *hci_find_ltk(struct hci_dev *hdev, bdaddr_t *bdaddr,
1805 int hci_remove_ltk(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 bdaddr_type);
1806 void hci_smp_ltks_clear(struct hci_dev *hdev);
1807 int hci_remove_link_key(struct hci_dev *hdev, bdaddr_t *bdaddr);
1809 struct smp_irk *hci_find_irk_by_rpa(struct hci_dev *hdev, bdaddr_t *rpa);
1810 struct smp_irk *hci_find_irk_by_addr(struct hci_dev *hdev, bdaddr_t *bdaddr,
1812 struct smp_irk *hci_add_irk(struct hci_dev *hdev, bdaddr_t *bdaddr,
1814 void hci_remove_irk(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 addr_type);
1815 bool hci_is_blocked_key(struct hci_dev *hdev, u8 type, u8 val[16]);
1816 void hci_blocked_keys_clear(struct hci_dev *hdev);
1817 void hci_smp_irks_clear(struct hci_dev *hdev);
1819 bool hci_bdaddr_is_paired(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 type);
1821 void hci_remote_oob_data_clear(struct hci_dev *hdev);
1822 struct oob_data *hci_find_remote_oob_data(struct hci_dev *hdev,
1824 int hci_add_remote_oob_data(struct hci_dev *hdev, bdaddr_t *bdaddr,
1827 int hci_remove_remote_oob_data(struct hci_dev *hdev, bdaddr_t *bdaddr,
1830 void hci_adv_instances_clear(struct hci_dev *hdev);
1831 struct adv_info *hci_find_adv_instance(struct hci_dev *hdev, u8 instance);
1832 struct adv_info *hci_find_adv_sid(struct hci_dev *hdev, u8 sid);
1833 struct adv_info *hci_get_next_instance(struct hci_dev *hdev, u8 instance);
1834 struct adv_info *hci_add_adv_instance(struct hci_dev *hdev, u8 instance,
1840 struct adv_info *hci_add_per_instance(struct hci_dev *hdev, u8 instance, u8 sid,
1843 int hci_set_adv_instance_data(struct hci_dev *hdev, u8 instance,
1846 int hci_remove_adv_instance(struct hci_dev *hdev, u8 instance);
1847 void hci_adv_instances_set_rpa_expired(struct hci_dev *hdev, bool rpa_expired);
1848 u32 hci_adv_instance_flags(struct hci_dev *hdev, u8 instance);
1849 bool hci_adv_instance_is_scannable(struct hci_dev *hdev, u8 instance);
1851 void hci_adv_monitors_clear(struct hci_dev *hdev);
1852 void hci_free_adv_monitor(struct hci_dev *hdev, struct adv_monitor *monitor);
1853 int hci_add_adv_monitor(struct hci_dev *hdev, struct adv_monitor *monitor);
1854 int hci_remove_single_adv_monitor(struct hci_dev *hdev, u16 handle);
1855 int hci_remove_all_adv_monitor(struct hci_dev *hdev);
1856 bool hci_is_adv_monitoring(struct hci_dev *hdev);
1857 int hci_get_adv_monitor_offload_ext(struct hci_dev *hdev);
1859 void hci_event_packet(struct hci_dev *hdev, struct sk_buff *skb);
1861 void hci_init_sysfs(struct hci_dev *hdev);
1866 #define SET_HCIDEV_DEV(hdev, pdev) ((hdev)->dev.parent = (pdev)) argument
1867 #define GET_HCIDEV_DEV(hdev) ((hdev)->dev.parent) argument
1999 static inline int hci_proto_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, in hci_proto_connect_ind() argument
2004 return l2cap_connect_ind(hdev, bdaddr); in hci_proto_connect_ind()
2008 return sco_connect_ind(hdev, bdaddr, flags); in hci_proto_connect_ind()
2013 return iso_connect_ind(hdev, bdaddr, flags); in hci_proto_connect_ind()
2182 static inline struct smp_irk *hci_get_irk(struct hci_dev *hdev, in hci_get_irk() argument
2188 return hci_find_irk_by_rpa(hdev, bdaddr); in hci_get_irk()
2243 int __hci_cmd_send(struct hci_dev *hdev, u16 opcode, u32 plen,
2246 int hci_send_cmd(struct hci_dev *hdev, __u16 opcode, __u32 plen,
2252 void *hci_sent_cmd_data(struct hci_dev *hdev, __u16 opcode);
2253 void *hci_recv_event_data(struct hci_dev *hdev, __u8 event);
2258 void hci_send_to_sock(struct hci_dev *hdev, struct sk_buff *skb);
2261 void hci_send_to_monitor(struct hci_dev *hdev, struct sk_buff *skb);
2262 void hci_send_monitor_ctrl_event(struct hci_dev *hdev, u16 event,
2266 void hci_sock_dev_event(struct hci_dev *hdev, int event);
2275 int (*func) (struct sock *sk, struct hci_dev *hdev, void *data,
2286 void (*hdev_init) (struct sock *sk, struct hci_dev *hdev);
2335 int mgmt_new_settings(struct hci_dev *hdev);
2336 void mgmt_index_added(struct hci_dev *hdev);
2337 void mgmt_index_removed(struct hci_dev *hdev);
2338 void mgmt_set_powered_failed(struct hci_dev *hdev, int err);
2339 void mgmt_power_on(struct hci_dev *hdev, int err);
2340 void __mgmt_power_off(struct hci_dev *hdev);
2341 void mgmt_new_link_key(struct hci_dev *hdev, struct link_key *key,
2343 void mgmt_device_connected(struct hci_dev *hdev, struct hci_conn *conn,
2345 void mgmt_device_disconnected(struct hci_dev *hdev, bdaddr_t *bdaddr,
2348 void mgmt_disconnect_failed(struct hci_dev *hdev, bdaddr_t *bdaddr,
2350 void mgmt_connect_failed(struct hci_dev *hdev, struct hci_conn *conn,
2352 void mgmt_pin_code_request(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 secure);
2353 void mgmt_pin_code_reply_complete(struct hci_dev *hdev, bdaddr_t *bdaddr,
2355 void mgmt_pin_code_neg_reply_complete(struct hci_dev *hdev, bdaddr_t *bdaddr,
2357 int mgmt_user_confirm_request(struct hci_dev *hdev, bdaddr_t *bdaddr,
2360 int mgmt_user_confirm_reply_complete(struct hci_dev *hdev, bdaddr_t *bdaddr,
2362 int mgmt_user_confirm_neg_reply_complete(struct hci_dev *hdev, bdaddr_t *bdaddr,
2364 int mgmt_user_passkey_request(struct hci_dev *hdev, bdaddr_t *bdaddr,
2366 int mgmt_user_passkey_reply_complete(struct hci_dev *hdev, bdaddr_t *bdaddr,
2368 int mgmt_user_passkey_neg_reply_complete(struct hci_dev *hdev, bdaddr_t *bdaddr,
2370 int mgmt_user_passkey_notify(struct hci_dev *hdev, bdaddr_t *bdaddr,
2374 void mgmt_auth_enable_complete(struct hci_dev *hdev, u8 status);
2375 void mgmt_set_class_of_dev_complete(struct hci_dev *hdev, u8 *dev_class,
2377 void mgmt_set_local_name_complete(struct hci_dev *hdev, u8 *name, u8 status);
2378 void mgmt_device_found(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
2382 void mgmt_remote_name(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
2384 void mgmt_discovering(struct hci_dev *hdev, u8 discovering);
2385 void mgmt_suspending(struct hci_dev *hdev, u8 state);
2386 void mgmt_resuming(struct hci_dev *hdev, u8 reason, bdaddr_t *bdaddr,
2388 bool mgmt_powering_down(struct hci_dev *hdev);
2389 void mgmt_new_ltk(struct hci_dev *hdev, struct smp_ltk *key, bool persistent);
2390 void mgmt_new_irk(struct hci_dev *hdev, struct smp_irk *irk, bool persistent);
2391 void mgmt_new_csrk(struct hci_dev *hdev, struct smp_csrk *csrk,
2393 void mgmt_new_conn_param(struct hci_dev *hdev, bdaddr_t *bdaddr,
2397 bool mgmt_get_connectable(struct hci_dev *hdev);
2398 u8 mgmt_get_adv_discov_flags(struct hci_dev *hdev);
2399 void mgmt_advertising_added(struct sock *sk, struct hci_dev *hdev,
2401 void mgmt_advertising_removed(struct sock *sk, struct hci_dev *hdev,
2403 int mgmt_phy_configuration_changed(struct hci_dev *hdev, struct sock *skip);
2404 void mgmt_adv_monitor_device_lost(struct hci_dev *hdev, u16 handle,
2413 void hci_copy_identity_address(struct hci_dev *hdev, bdaddr_t *bdaddr,