Lines Matching refs:conn

473 	void (*connect_cfm_cb)	(struct hci_conn *conn, u8 status);
474 void (*security_cfm_cb) (struct hci_conn *conn, u8 status);
475 void (*disconn_cfm_cb) (struct hci_conn *conn, u8 reason);
481 struct hci_conn *conn; member
507 struct hci_conn *conn; member
627 static inline bool hci_conn_ssp_enabled(struct hci_conn *conn) in hci_conn_ssp_enabled() argument
629 struct hci_dev *hdev = conn->hdev; in hci_conn_ssp_enabled()
631 test_bit(HCI_CONN_SSP_ENABLED, &conn->flags); in hci_conn_ssp_enabled()
634 static inline bool hci_conn_sc_enabled(struct hci_conn *conn) in hci_conn_sc_enabled() argument
636 struct hci_dev *hdev = conn->hdev; in hci_conn_sc_enabled()
638 test_bit(HCI_CONN_SC_ENABLED, &conn->flags); in hci_conn_sc_enabled()
794 int hci_disconnect(struct hci_conn *conn, __u8 reason);
795 bool hci_setup_sync(struct hci_conn *conn, __u16 handle);
796 void hci_sco_setup(struct hci_conn *conn, __u8 status);
800 int hci_conn_del(struct hci_conn *conn);
804 struct hci_chan *hci_chan_create(struct hci_conn *conn);
806 void hci_chan_list_flush(struct hci_conn *conn);
816 int hci_conn_check_link_mode(struct hci_conn *conn);
817 int hci_conn_check_secure(struct hci_conn *conn, __u8 sec_level);
818 int hci_conn_security(struct hci_conn *conn, __u8 sec_level, __u8 auth_type,
820 int hci_conn_switch_role(struct hci_conn *conn, __u8 role);
822 void hci_conn_enter_active_mode(struct hci_conn *conn, __u8 force_active);
824 void hci_le_conn_failed(struct hci_conn *conn, u8 status);
847 static inline struct hci_conn *hci_conn_get(struct hci_conn *conn) in hci_conn_get() argument
849 get_device(&conn->dev); in hci_conn_get()
850 return conn; in hci_conn_get()
853 static inline void hci_conn_put(struct hci_conn *conn) in hci_conn_put() argument
855 put_device(&conn->dev); in hci_conn_put()
858 static inline void hci_conn_hold(struct hci_conn *conn) in hci_conn_hold() argument
860 BT_DBG("hcon %p orig refcnt %d", conn, atomic_read(&conn->refcnt)); in hci_conn_hold()
862 atomic_inc(&conn->refcnt); in hci_conn_hold()
863 cancel_delayed_work(&conn->disc_work); in hci_conn_hold()
866 static inline void hci_conn_drop(struct hci_conn *conn) in hci_conn_drop() argument
868 BT_DBG("hcon %p orig refcnt %d", conn, atomic_read(&conn->refcnt)); in hci_conn_drop()
870 if (atomic_dec_and_test(&conn->refcnt)) { in hci_conn_drop()
873 switch (conn->type) { in hci_conn_drop()
876 cancel_delayed_work(&conn->idle_work); in hci_conn_drop()
877 if (conn->state == BT_CONNECTED) { in hci_conn_drop()
878 timeo = conn->disc_timeout; in hci_conn_drop()
879 if (!conn->out) in hci_conn_drop()
887 timeo = conn->disc_timeout; in hci_conn_drop()
895 cancel_delayed_work(&conn->disc_work); in hci_conn_drop()
896 queue_delayed_work(conn->hdev->workqueue, in hci_conn_drop()
897 &conn->disc_work, timeo); in hci_conn_drop()
979 struct link_key *hci_add_link_key(struct hci_dev *hdev, struct hci_conn *conn,
1015 void hci_conn_init_sysfs(struct hci_conn *conn);
1016 void hci_conn_add_sysfs(struct hci_conn *conn);
1017 void hci_conn_del_sysfs(struct hci_conn *conn);
1081 static inline int hci_proto_disconn_ind(struct hci_conn *conn) in hci_proto_disconn_ind() argument
1083 if (conn->type != ACL_LINK && conn->type != LE_LINK) in hci_proto_disconn_ind()
1086 return l2cap_disconn_ind(conn); in hci_proto_disconn_ind()
1095 void (*connect_cfm) (struct hci_conn *conn, __u8 status);
1096 void (*disconn_cfm) (struct hci_conn *conn, __u8 status);
1097 void (*security_cfm) (struct hci_conn *conn, __u8 status,
1099 void (*key_change_cfm) (struct hci_conn *conn, __u8 status);
1100 void (*role_switch_cfm) (struct hci_conn *conn, __u8 status, __u8 role);
1103 static inline void hci_connect_cfm(struct hci_conn *conn, __u8 status) in hci_connect_cfm() argument
1110 cb->connect_cfm(conn, status); in hci_connect_cfm()
1114 if (conn->connect_cfm_cb) in hci_connect_cfm()
1115 conn->connect_cfm_cb(conn, status); in hci_connect_cfm()
1118 static inline void hci_disconn_cfm(struct hci_conn *conn, __u8 reason) in hci_disconn_cfm() argument
1125 cb->disconn_cfm(conn, reason); in hci_disconn_cfm()
1129 if (conn->disconn_cfm_cb) in hci_disconn_cfm()
1130 conn->disconn_cfm_cb(conn, reason); in hci_disconn_cfm()
1133 static inline void hci_auth_cfm(struct hci_conn *conn, __u8 status) in hci_auth_cfm() argument
1138 if (test_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags)) in hci_auth_cfm()
1141 encrypt = test_bit(HCI_CONN_ENCRYPT, &conn->flags) ? 0x01 : 0x00; in hci_auth_cfm()
1146 cb->security_cfm(conn, status, encrypt); in hci_auth_cfm()
1150 if (conn->security_cfm_cb) in hci_auth_cfm()
1151 conn->security_cfm_cb(conn, status); in hci_auth_cfm()
1154 static inline void hci_encrypt_cfm(struct hci_conn *conn, __u8 status, in hci_encrypt_cfm() argument
1159 if (conn->sec_level == BT_SECURITY_SDP) in hci_encrypt_cfm()
1160 conn->sec_level = BT_SECURITY_LOW; in hci_encrypt_cfm()
1162 if (conn->pending_sec_level > conn->sec_level) in hci_encrypt_cfm()
1163 conn->sec_level = conn->pending_sec_level; in hci_encrypt_cfm()
1168 cb->security_cfm(conn, status, encrypt); in hci_encrypt_cfm()
1172 if (conn->security_cfm_cb) in hci_encrypt_cfm()
1173 conn->security_cfm_cb(conn, status); in hci_encrypt_cfm()
1176 static inline void hci_key_change_cfm(struct hci_conn *conn, __u8 status) in hci_key_change_cfm() argument
1183 cb->key_change_cfm(conn, status); in hci_key_change_cfm()
1188 static inline void hci_role_switch_cfm(struct hci_conn *conn, __u8 status, in hci_role_switch_cfm() argument
1196 cb->role_switch_cfm(conn, status, role); in hci_role_switch_cfm()
1292 void hci_send_sco(struct hci_conn *conn, struct sk_buff *skb);
1355 void mgmt_device_connected(struct hci_dev *hdev, struct hci_conn *conn,
1385 void mgmt_auth_failed(struct hci_conn *conn, u8 status);
1406 void mgmt_smp_complete(struct hci_conn *conn, bool complete);
1408 u8 hci_le_conn_update(struct hci_conn *conn, u16 min, u16 max, u16 latency,
1410 void hci_le_start_enc(struct hci_conn *conn, __le16 ediv, __le64 rand,