Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
hci_core.h File Reference
#include <net/bluetooth/hci.h>

Go to the source code of this file.

Data Structures

struct  inquiry_data
 
struct  inquiry_entry
 
struct  discovery_state
 
struct  hci_conn_hash
 
struct  bdaddr_list
 
struct  bt_uuid
 
struct  smp_ltk
 
struct  link_key
 
struct  oob_data
 
struct  le_scan_params
 
struct  hci_dev
 
struct  hci_conn
 
struct  hci_chan
 
struct  hci_cb
 
struct  hci_pinfo
 
struct  hci_sec_filter
 

Macros

#define HCI_PRIO_MAX   7
 
#define HCI_MAX_SHORT_NAME_LENGTH   10
 
#define NUM_REASSEMBLY   4
 
#define INQUIRY_CACHE_AGE_MAX   (HZ*30) /* 30 seconds */
 
#define INQUIRY_ENTRY_AGE_MAX   (HZ*60) /* 60 seconds */
 
#define hci_dev_lock(d)   mutex_lock(&d->lock)
 
#define hci_dev_unlock(d)   mutex_unlock(&d->lock)
 
#define to_hci_dev(d)   container_of(d, struct hci_dev, dev)
 
#define to_hci_conn(c)   container_of(c, struct hci_conn, dev)
 
#define SET_HCIDEV_DEV(hdev, pdev)   ((hdev)->dev.parent = (pdev))
 
#define lmp_rswitch_capable(dev)   ((dev)->features[0] & LMP_RSWITCH)
 
#define lmp_encrypt_capable(dev)   ((dev)->features[0] & LMP_ENCRYPT)
 
#define lmp_sniff_capable(dev)   ((dev)->features[0] & LMP_SNIFF)
 
#define lmp_sniffsubr_capable(dev)   ((dev)->features[5] & LMP_SNIFF_SUBR)
 
#define lmp_esco_capable(dev)   ((dev)->features[3] & LMP_ESCO)
 
#define lmp_ssp_capable(dev)   ((dev)->features[6] & LMP_SIMPLE_PAIR)
 
#define lmp_no_flush_capable(dev)   ((dev)->features[6] & LMP_NO_FLUSH)
 
#define lmp_le_capable(dev)   ((dev)->features[4] & LMP_LE)
 
#define lmp_bredr_capable(dev)   (!((dev)->features[4] & LMP_NO_BREDR))
 
#define lmp_host_le_capable(dev)   ((dev)->host_features[0] & LMP_HOST_LE)
 
#define DISCOV_TYPE_BREDR   (BIT(BDADDR_BREDR))
 
#define DISCOV_TYPE_LE
 
#define DISCOV_TYPE_INTERLEAVED
 
#define hci_pi(sk)   ((struct hci_pinfo *) sk)
 
#define HCI_SFLT_MAX_OGF   5
 
#define HCI_REQ_DONE   0
 
#define HCI_REQ_PEND   1
 
#define HCI_REQ_CANCELED   2
 
#define hci_req_lock(d)   mutex_lock(&d->req_lock)
 
#define hci_req_unlock(d)   mutex_unlock(&d->req_lock)
 

Enumerations

enum  {
  HCI_CONN_AUTH_PEND, HCI_CONN_REAUTH_PEND, HCI_CONN_ENCRYPT_PEND, HCI_CONN_RSWITCH_PEND,
  HCI_CONN_MODE_CHANGE_PEND, HCI_CONN_SCO_SETUP_PEND, HCI_CONN_LE_SMP_PEND, HCI_CONN_MGMT_CONNECTED,
  HCI_CONN_SSP_ENABLED, HCI_CONN_POWER_SAVE, HCI_CONN_REMOTE_OOB
}
 

Functions

int l2cap_connect_ind (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
void l2cap_connect_cfm (struct hci_conn *hcon, u8 status)
 
int l2cap_disconn_ind (struct hci_conn *hcon)
 
void l2cap_disconn_cfm (struct hci_conn *hcon, u8 reason)
 
int l2cap_security_cfm (struct hci_conn *hcon, u8 status, u8 encrypt)
 
int l2cap_recv_acldata (struct hci_conn *hcon, struct sk_buff *skb, u16 flags)
 
int sco_connect_ind (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
void sco_connect_cfm (struct hci_conn *hcon, __u8 status)
 
void sco_disconn_cfm (struct hci_conn *hcon, __u8 reason)
 
int sco_recv_scodata (struct hci_conn *hcon, struct sk_buff *skb)
 
bool hci_discovery_active (struct hci_dev *hdev)
 
void hci_discovery_set_state (struct hci_dev *hdev, int state)
 
struct inquiry_entryhci_inquiry_cache_lookup (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
struct inquiry_entryhci_inquiry_cache_lookup_unknown (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
struct inquiry_entryhci_inquiry_cache_lookup_resolve (struct hci_dev *hdev, bdaddr_t *bdaddr, int state)
 
void hci_inquiry_cache_update_resolve (struct hci_dev *hdev, struct inquiry_entry *ie)
 
bool hci_inquiry_cache_update (struct hci_dev *hdev, struct inquiry_data *data, bool name_known, bool *ssp)
 
void hci_acl_disconn (struct hci_conn *conn, __u8 reason)
 
void hci_setup_sync (struct hci_conn *conn, __u16 handle)
 
void hci_sco_setup (struct hci_conn *conn, __u8 status)
 
struct hci_connhci_conn_add (struct hci_dev *hdev, int type, bdaddr_t *dst)
 
int hci_conn_del (struct hci_conn *conn)
 
void hci_conn_hash_flush (struct hci_dev *hdev)
 
void hci_conn_check_pending (struct hci_dev *hdev)
 
struct hci_chanhci_chan_create (struct hci_conn *conn)
 
void hci_chan_del (struct hci_chan *chan)
 
void hci_chan_list_flush (struct hci_conn *conn)
 
struct hci_connhci_connect (struct hci_dev *hdev, int type, bdaddr_t *dst, __u8 dst_type, __u8 sec_level, __u8 auth_type)
 
int hci_conn_check_link_mode (struct hci_conn *conn)
 
int hci_conn_check_secure (struct hci_conn *conn, __u8 sec_level)
 
int hci_conn_security (struct hci_conn *conn, __u8 sec_level, __u8 auth_type)
 
int hci_conn_change_link_key (struct hci_conn *conn)
 
int hci_conn_switch_role (struct hci_conn *conn, __u8 role)
 
void hci_conn_enter_active_mode (struct hci_conn *conn, __u8 force_active)
 
void hci_conn_hold_device (struct hci_conn *conn)
 
void hci_conn_put_device (struct hci_conn *conn)
 
struct hci_devhci_dev_get (int index)
 
struct hci_devhci_get_route (bdaddr_t *src, bdaddr_t *dst)
 
struct hci_devhci_alloc_dev (void)
 
void hci_free_dev (struct hci_dev *hdev)
 
int hci_register_dev (struct hci_dev *hdev)
 
void hci_unregister_dev (struct hci_dev *hdev)
 
int hci_suspend_dev (struct hci_dev *hdev)
 
int hci_resume_dev (struct hci_dev *hdev)
 
int hci_dev_open (__u16 dev)
 
int hci_dev_close (__u16 dev)
 
int hci_dev_reset (__u16 dev)
 
int hci_dev_reset_stat (__u16 dev)
 
int hci_dev_cmd (unsigned int cmd, void __user *arg)
 
int hci_get_dev_list (void __user *arg)
 
int hci_get_dev_info (void __user *arg)
 
int hci_get_conn_list (void __user *arg)
 
int hci_get_conn_info (struct hci_dev *hdev, void __user *arg)
 
int hci_get_auth_info (struct hci_dev *hdev, void __user *arg)
 
int hci_inquiry (void __user *arg)
 
struct bdaddr_listhci_blacklist_lookup (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
int hci_blacklist_clear (struct hci_dev *hdev)
 
int hci_blacklist_add (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 type)
 
int hci_blacklist_del (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 type)
 
int hci_uuids_clear (struct hci_dev *hdev)
 
int hci_link_keys_clear (struct hci_dev *hdev)
 
struct link_keyhci_find_link_key (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
int hci_add_link_key (struct hci_dev *hdev, struct hci_conn *conn, int new_key, bdaddr_t *bdaddr, u8 *val, u8 type, u8 pin_len)
 
struct smp_ltkhci_find_ltk (struct hci_dev *hdev, __le16 ediv, u8 rand[8])
 
int hci_add_ltk (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 addr_type, u8 type, int new_key, u8 authenticated, u8 tk[16], u8 enc_size, __le16 ediv, u8 rand[8])
 
struct smp_ltkhci_find_ltk_by_addr (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 addr_type)
 
int hci_remove_ltk (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
int hci_smp_ltks_clear (struct hci_dev *hdev)
 
int hci_remove_link_key (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
int hci_remote_oob_data_clear (struct hci_dev *hdev)
 
struct oob_datahci_find_remote_oob_data (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
int hci_add_remote_oob_data (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 *hash, u8 *randomizer)
 
int hci_remove_remote_oob_data (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
void hci_event_packet (struct hci_dev *hdev, struct sk_buff *skb)
 
int hci_recv_frame (struct sk_buff *skb)
 
int hci_recv_fragment (struct hci_dev *hdev, int type, void *data, int count)
 
int hci_recv_stream_fragment (struct hci_dev *hdev, void *data, int count)
 
void hci_init_sysfs (struct hci_dev *hdev)
 
int hci_add_sysfs (struct hci_dev *hdev)
 
void hci_del_sysfs (struct hci_dev *hdev)
 
void hci_conn_init_sysfs (struct hci_conn *conn)
 
void hci_conn_add_sysfs (struct hci_conn *conn)
 
void hci_conn_del_sysfs (struct hci_conn *conn)
 
int hci_register_cb (struct hci_cb *hcb)
 
int hci_unregister_cb (struct hci_cb *hcb)
 
int hci_send_cmd (struct hci_dev *hdev, __u16 opcode, __u32 plen, void *param)
 
void hci_send_acl (struct hci_chan *chan, struct sk_buff *skb, __u16 flags)
 
void hci_send_sco (struct hci_conn *conn, struct sk_buff *skb)
 
voidhci_sent_cmd_data (struct hci_dev *hdev, __u16 opcode)
 
void hci_send_to_sock (struct hci_dev *hdev, struct sk_buff *skb)
 
void hci_send_to_control (struct sk_buff *skb, struct sock *skip_sk)
 
void hci_send_to_monitor (struct hci_dev *hdev, struct sk_buff *skb)
 
void hci_sock_dev_event (struct hci_dev *hdev, int event)
 
int mgmt_control (struct sock *sk, struct msghdr *msg, size_t len)
 
int mgmt_index_added (struct hci_dev *hdev)
 
int mgmt_index_removed (struct hci_dev *hdev)
 
int mgmt_powered (struct hci_dev *hdev, u8 powered)
 
int mgmt_discoverable (struct hci_dev *hdev, u8 discoverable)
 
int mgmt_connectable (struct hci_dev *hdev, u8 connectable)
 
int mgmt_write_scan_failed (struct hci_dev *hdev, u8 scan, u8 status)
 
int mgmt_new_link_key (struct hci_dev *hdev, struct link_key *key, bool persistent)
 
int mgmt_device_connected (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, u8 addr_type, u32 flags, u8 *name, u8 name_len, u8 *dev_class)
 
int mgmt_device_disconnected (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, u8 addr_type, u8 reason)
 
int mgmt_disconnect_failed (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, u8 addr_type, u8 status)
 
int mgmt_connect_failed (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, u8 addr_type, u8 status)
 
int mgmt_pin_code_request (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 secure)
 
int mgmt_pin_code_reply_complete (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 status)
 
int mgmt_pin_code_neg_reply_complete (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 status)
 
int mgmt_user_confirm_request (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, u8 addr_type, __le32 value, u8 confirm_hint)
 
int mgmt_user_confirm_reply_complete (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, u8 addr_type, u8 status)
 
int mgmt_user_confirm_neg_reply_complete (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, u8 addr_type, u8 status)
 
int mgmt_user_passkey_request (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, u8 addr_type)
 
int mgmt_user_passkey_reply_complete (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, u8 addr_type, u8 status)
 
int mgmt_user_passkey_neg_reply_complete (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, u8 addr_type, u8 status)
 
int mgmt_user_passkey_notify (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, u8 addr_type, u32 passkey, u8 entered)
 
int mgmt_auth_failed (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, u8 addr_type, u8 status)
 
int mgmt_auth_enable_complete (struct hci_dev *hdev, u8 status)
 
int mgmt_ssp_enable_complete (struct hci_dev *hdev, u8 enable, u8 status)
 
int mgmt_set_class_of_dev_complete (struct hci_dev *hdev, u8 *dev_class, u8 status)
 
int mgmt_set_local_name_complete (struct hci_dev *hdev, u8 *name, u8 status)
 
int mgmt_read_local_oob_data_reply_complete (struct hci_dev *hdev, u8 *hash, u8 *randomizer, u8 status)
 
int mgmt_le_enable_complete (struct hci_dev *hdev, u8 enable, u8 status)
 
int mgmt_device_found (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, u8 addr_type, u8 *dev_class, s8 rssi, u8 cfm_name, u8 ssp, u8 *eir, u16 eir_len)
 
int mgmt_remote_name (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, u8 addr_type, s8 rssi, u8 *name, u8 name_len)
 
int mgmt_start_discovery_failed (struct hci_dev *hdev, u8 status)
 
int mgmt_stop_discovery_failed (struct hci_dev *hdev, u8 status)
 
int mgmt_discovering (struct hci_dev *hdev, u8 discovering)
 
int mgmt_interleaved_discovery (struct hci_dev *hdev)
 
int mgmt_device_blocked (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 type)
 
int mgmt_device_unblocked (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 type)
 
bool mgmt_valid_hdev (struct hci_dev *hdev)
 
int mgmt_new_ltk (struct hci_dev *hdev, struct smp_ltk *key, u8 persistent)
 
void hci_req_complete (struct hci_dev *hdev, __u16 cmd, int result)
 
void hci_le_conn_update (struct hci_conn *conn, u16 min, u16 max, u16 latency, u16 to_multiplier)
 
void hci_le_start_enc (struct hci_conn *conn, __le16 ediv, __u8 rand[8], __u8 ltk[16])
 
int hci_do_inquiry (struct hci_dev *hdev, u8 length)
 
int hci_cancel_inquiry (struct hci_dev *hdev)
 
int hci_le_scan (struct hci_dev *hdev, u8 type, u16 interval, u16 window, int timeout)
 
int hci_cancel_le_scan (struct hci_dev *hdev)
 
u8 bdaddr_to_le (u8 bdaddr_type)
 

Variables

struct smp_ltk __packed
 
struct list_head hci_dev_list
 
struct list_head hci_cb_list
 
rwlock_t hci_dev_list_lock
 
rwlock_t hci_cb_list_lock
 

Macro Definition Documentation

#define DISCOV_TYPE_BREDR   (BIT(BDADDR_BREDR))

Definition at line 984 of file hci_core.h.

#define DISCOV_TYPE_INTERLEAVED
Value:

Definition at line 987 of file hci_core.h.

#define DISCOV_TYPE_LE
Value:

Definition at line 985 of file hci_core.h.

#define hci_dev_lock (   d)    mutex_lock(&d->lock)

Definition at line 623 of file hci_core.h.

#define hci_dev_unlock (   d)    mutex_unlock(&d->lock)

Definition at line 624 of file hci_core.h.

#define HCI_MAX_SHORT_NAME_LENGTH   10

Definition at line 125 of file hci_core.h.

#define hci_pi (   sk)    ((struct hci_pinfo *) sk)

Definition at line 1055 of file hci_core.h.

#define HCI_PRIO_MAX   7

Definition at line 31 of file hci_core.h.

#define HCI_REQ_CANCELED   2

Definition at line 1077 of file hci_core.h.

#define HCI_REQ_DONE   0

Definition at line 1075 of file hci_core.h.

#define hci_req_lock (   d)    mutex_lock(&d->req_lock)

Definition at line 1079 of file hci_core.h.

#define HCI_REQ_PEND   1

Definition at line 1076 of file hci_core.h.

#define hci_req_unlock (   d)    mutex_unlock(&d->req_lock)

Definition at line 1080 of file hci_core.h.

#define HCI_SFLT_MAX_OGF   5

Definition at line 1066 of file hci_core.h.

#define INQUIRY_CACHE_AGE_MAX   (HZ*30) /* 30 seconds */

Definition at line 368 of file hci_core.h.

#define INQUIRY_ENTRY_AGE_MAX   (HZ*60) /* 60 seconds */

Definition at line 369 of file hci_core.h.

#define lmp_bredr_capable (   dev)    (!((dev)->features[4] & LMP_NO_BREDR))

Definition at line 726 of file hci_core.h.

#define lmp_encrypt_capable (   dev)    ((dev)->features[0] & LMP_ENCRYPT)

Definition at line 719 of file hci_core.h.

#define lmp_esco_capable (   dev)    ((dev)->features[3] & LMP_ESCO)

Definition at line 722 of file hci_core.h.

#define lmp_host_le_capable (   dev)    ((dev)->host_features[0] & LMP_HOST_LE)

Definition at line 729 of file hci_core.h.

#define lmp_le_capable (   dev)    ((dev)->features[4] & LMP_LE)

Definition at line 725 of file hci_core.h.

#define lmp_no_flush_capable (   dev)    ((dev)->features[6] & LMP_NO_FLUSH)

Definition at line 724 of file hci_core.h.

#define lmp_rswitch_capable (   dev)    ((dev)->features[0] & LMP_RSWITCH)

Definition at line 718 of file hci_core.h.

#define lmp_sniff_capable (   dev)    ((dev)->features[0] & LMP_SNIFF)

Definition at line 720 of file hci_core.h.

#define lmp_sniffsubr_capable (   dev)    ((dev)->features[5] & LMP_SNIFF_SUBR)

Definition at line 721 of file hci_core.h.

#define lmp_ssp_capable (   dev)    ((dev)->features[6] & LMP_SIMPLE_PAIR)

Definition at line 723 of file hci_core.h.

#define NUM_REASSEMBLY   4

Definition at line 127 of file hci_core.h.

#define SET_HCIDEV_DEV (   hdev,
  pdev 
)    ((hdev)->dev.parent = (pdev))

Definition at line 715 of file hci_core.h.

#define to_hci_conn (   c)    container_of(c, struct hci_conn, dev)

Definition at line 627 of file hci_core.h.

#define to_hci_dev (   d)    container_of(d, struct hci_dev, dev)

Definition at line 626 of file hci_core.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
HCI_CONN_AUTH_PEND 
HCI_CONN_REAUTH_PEND 
HCI_CONN_ENCRYPT_PEND 
HCI_CONN_RSWITCH_PEND 
HCI_CONN_MODE_CHANGE_PEND 
HCI_CONN_SCO_SETUP_PEND 
HCI_CONN_LE_SMP_PEND 
HCI_CONN_MGMT_CONNECTED 
HCI_CONN_SSP_ENABLED 
HCI_CONN_POWER_SAVE 
HCI_CONN_REMOTE_OOB 

Definition at line 412 of file hci_core.h.

Function Documentation

u8 bdaddr_to_le ( u8  bdaddr_type)

Definition at line 2887 of file hci_core.c.

void hci_acl_disconn ( struct hci_conn conn,
__u8  reason 
)

Definition at line 120 of file hci_conn.c.

int hci_add_link_key ( struct hci_dev hdev,
struct hci_conn conn,
int  new_key,
bdaddr_t *  bdaddr,
u8 val,
u8  type,
u8  pin_len 
)

Definition at line 1243 of file hci_core.c.

int hci_add_ltk ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  addr_type,
u8  type,
int  new_key,
u8  authenticated,
u8  tk[16],
u8  enc_size,
__le16  ediv,
u8  rand[8] 
)

Definition at line 1296 of file hci_core.c.

int hci_add_remote_oob_data ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8 hash,
u8 randomizer 
)

Definition at line 1424 of file hci_core.c.

int hci_add_sysfs ( struct hci_dev hdev)

Definition at line 546 of file hci_sysfs.c.

struct hci_dev* hci_alloc_dev ( void  )
read

Definition at line 1634 of file hci_core.c.

int hci_blacklist_add ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  type 
)

Definition at line 1475 of file hci_core.c.

int hci_blacklist_clear ( struct hci_dev hdev)

Definition at line 1459 of file hci_core.c.

int hci_blacklist_del ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  type 
)

Definition at line 1496 of file hci_core.c.

struct bdaddr_list* hci_blacklist_lookup ( struct hci_dev hdev,
bdaddr_t *  bdaddr 
)
read

Definition at line 1448 of file hci_core.c.

int hci_cancel_inquiry ( struct hci_dev hdev)

Definition at line 2877 of file hci_core.c.

int hci_cancel_le_scan ( struct hci_dev hdev)

Definition at line 1571 of file hci_core.c.

struct hci_chan* hci_chan_create ( struct hci_conn conn)
read

Definition at line 923 of file hci_conn.c.

void hci_chan_del ( struct hci_chan chan)

Definition at line 942 of file hci_conn.c.

void hci_chan_list_flush ( struct hci_conn conn)

Definition at line 957 of file hci_conn.c.

struct hci_conn* hci_conn_add ( struct hci_dev hdev,
int  type,
bdaddr_t *  dst 
)
read

Definition at line 319 of file hci_conn.c.

void hci_conn_add_sysfs ( struct hci_conn conn)

Definition at line 114 of file hci_sysfs.c.

int hci_conn_change_link_key ( struct hci_conn conn)

Definition at line 716 of file hci_conn.c.

int hci_conn_check_link_mode ( struct hci_conn conn)

Definition at line 586 of file hci_conn.c.

void hci_conn_check_pending ( struct hci_dev hdev)

Definition at line 794 of file hci_conn.c.

int hci_conn_check_secure ( struct hci_conn conn,
__u8  sec_level 
)

Definition at line 701 of file hci_conn.c.

int hci_conn_del ( struct hci_conn conn)

Definition at line 382 of file hci_conn.c.

void hci_conn_del_sysfs ( struct hci_conn conn)

Definition at line 130 of file hci_sysfs.c.

void hci_conn_enter_active_mode ( struct hci_conn conn,
__u8  force_active 
)

Definition at line 750 of file hci_conn.c.

void hci_conn_hash_flush ( struct hci_dev hdev)

Definition at line 778 of file hci_conn.c.

void hci_conn_hold_device ( struct hci_conn conn)

Definition at line 809 of file hci_conn.c.

void hci_conn_init_sysfs ( struct hci_conn conn)

Definition at line 101 of file hci_sysfs.c.

void hci_conn_put_device ( struct hci_conn conn)

Definition at line 815 of file hci_conn.c.

int hci_conn_security ( struct hci_conn conn,
__u8  sec_level,
__u8  auth_type 
)

Definition at line 645 of file hci_conn.c.

int hci_conn_switch_role ( struct hci_conn conn,
__u8  role 
)

Definition at line 731 of file hci_conn.c.

struct hci_conn* hci_connect ( struct hci_dev hdev,
int  type,
bdaddr_t *  dst,
__u8  dst_type,
__u8  sec_level,
__u8  auth_type 
)
read

Definition at line 567 of file hci_conn.c.

void hci_del_sysfs ( struct hci_dev hdev)

Definition at line 579 of file hci_sysfs.c.

int hci_dev_close ( __u16  dev)

Definition at line 824 of file hci_core.c.

int hci_dev_cmd ( unsigned int  cmd,
void __user arg 
)

Definition at line 896 of file hci_core.c.

struct hci_dev* hci_dev_get ( int  index)
read

Definition at line 326 of file hci_core.c.

int hci_dev_open ( __u16  dev)

Definition at line 642 of file hci_core.c.

int hci_dev_reset ( __u16  dev)

Definition at line 842 of file hci_core.c.

int hci_dev_reset_stat ( __u16  dev)

Definition at line 880 of file hci_core.c.

bool hci_discovery_active ( struct hci_dev hdev)

Definition at line 348 of file hci_core.c.

void hci_discovery_set_state ( struct hci_dev hdev,
int  state 
)

Definition at line 362 of file hci_core.c.

int hci_do_inquiry ( struct hci_dev hdev,
u8  length 
)

Definition at line 2857 of file hci_core.c.

void hci_event_packet ( struct hci_dev hdev,
struct sk_buff skb 
)

Definition at line 3561 of file hci_event.c.

struct link_key* hci_find_link_key ( struct hci_dev hdev,
bdaddr_t *  bdaddr 
)
read

Definition at line 1168 of file hci_core.c.

struct smp_ltk* hci_find_ltk ( struct hci_dev hdev,
__le16  ediv,
u8  rand[8] 
)
read

Definition at line 1215 of file hci_core.c.

struct smp_ltk* hci_find_ltk_by_addr ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  addr_type 
)
read

Definition at line 1230 of file hci_core.c.

struct oob_data* hci_find_remote_oob_data ( struct hci_dev hdev,
bdaddr_t *  bdaddr 
)
read

Definition at line 1384 of file hci_core.c.

void hci_free_dev ( struct hci_dev hdev)

Definition at line 1688 of file hci_core.c.

int hci_get_auth_info ( struct hci_dev hdev,
void __user arg 
)

Definition at line 903 of file hci_conn.c.

int hci_get_conn_info ( struct hci_dev hdev,
void __user arg 
)

Definition at line 875 of file hci_conn.c.

int hci_get_conn_list ( void __user arg)

Definition at line 822 of file hci_conn.c.

int hci_get_dev_info ( void __user arg)

Definition at line 1018 of file hci_core.c.

int hci_get_dev_list ( void __user arg)

Definition at line 971 of file hci_core.c.

struct hci_dev* hci_get_route ( bdaddr_t *  src,
bdaddr_t *  dst 
)
read

Definition at line 435 of file hci_conn.c.

void hci_init_sysfs ( struct hci_dev hdev)

Definition at line 535 of file hci_sysfs.c.

int hci_inquiry ( void __user arg)

Definition at line 573 of file hci_core.c.

struct inquiry_entry* hci_inquiry_cache_lookup ( struct hci_dev hdev,
bdaddr_t *  bdaddr 
)
read

Definition at line 402 of file hci_core.c.

struct inquiry_entry* hci_inquiry_cache_lookup_resolve ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
int  state 
)
read

Definition at line 434 of file hci_core.c.

struct inquiry_entry* hci_inquiry_cache_lookup_unknown ( struct hci_dev hdev,
bdaddr_t *  bdaddr 
)
read

Definition at line 418 of file hci_core.c.

bool hci_inquiry_cache_update ( struct hci_dev hdev,
struct inquiry_data data,
bool  name_known,
bool ssp 
)

Definition at line 472 of file hci_core.c.

void hci_inquiry_cache_update_resolve ( struct hci_dev hdev,
struct inquiry_entry ie 
)

Definition at line 453 of file hci_core.c.

void hci_le_conn_update ( struct hci_conn conn,
u16  min,
u16  max,
u16  latency,
u16  to_multiplier 
)

Definition at line 175 of file hci_conn.c.

int hci_le_scan ( struct hci_dev hdev,
u8  type,
u16  interval,
u16  window,
int  timeout 
)

Definition at line 1613 of file hci_core.c.

void hci_le_start_enc ( struct hci_conn conn,
__le16  ediv,
__u8  rand[8],
__u8  ltk[16] 
)

Definition at line 194 of file hci_conn.c.

int hci_link_keys_clear ( struct hci_dev hdev)

Definition at line 1140 of file hci_core.c.

int hci_recv_fragment ( struct hci_dev hdev,
int  type,
void data,
int  count 
)

Definition at line 1980 of file hci_core.c.

int hci_recv_frame ( struct sk_buff skb)

Definition at line 1849 of file hci_core.c.

int hci_recv_stream_fragment ( struct hci_dev hdev,
void data,
int  count 
)

Definition at line 2002 of file hci_core.c.

int hci_register_cb ( struct hci_cb hcb)

Definition at line 2037 of file hci_core.c.

int hci_register_dev ( struct hci_dev hdev)

Definition at line 1698 of file hci_core.c.

int hci_remote_oob_data_clear ( struct hci_dev hdev)

Definition at line 1412 of file hci_core.c.

int hci_remove_link_key ( struct hci_dev hdev,
bdaddr_t *  bdaddr 
)

Definition at line 1333 of file hci_core.c.

int hci_remove_ltk ( struct hci_dev hdev,
bdaddr_t *  bdaddr 
)

Definition at line 1349 of file hci_core.c.

int hci_remove_remote_oob_data ( struct hci_dev hdev,
bdaddr_t *  bdaddr 
)

Definition at line 1396 of file hci_core.c.

void hci_req_complete ( struct hci_dev hdev,
__u16  cmd,
int  result 
)

Definition at line 60 of file hci_core.c.

int hci_resume_dev ( struct hci_dev hdev)

Definition at line 1841 of file hci_core.c.

void hci_sco_setup ( struct hci_conn conn,
__u8  status 
)

Definition at line 213 of file hci_conn.c.

void hci_send_acl ( struct hci_chan chan,
struct sk_buff skb,
__u16  flags 
)

Definition at line 2203 of file hci_core.c.

int hci_send_cmd ( struct hci_dev hdev,
__u16  opcode,
__u32  plen,
void param 
)

Definition at line 2090 of file hci_core.c.

void hci_send_sco ( struct hci_conn conn,
struct sk_buff skb 
)

Definition at line 2218 of file hci_core.c.

void hci_send_to_control ( struct sk_buff skb,
struct sock skip_sk 
)

Definition at line 142 of file hci_sock.c.

void hci_send_to_monitor ( struct hci_dev hdev,
struct sk_buff skb 
)

Definition at line 176 of file hci_sock.c.

void hci_send_to_sock ( struct hci_dev hdev,
struct sk_buff skb 
)

Definition at line 70 of file hci_sock.c.

void* hci_sent_cmd_data ( struct hci_dev hdev,
__u16  opcode 
)

Definition at line 2126 of file hci_core.c.

void hci_setup_sync ( struct hci_conn conn,
__u16  handle 
)

Definition at line 151 of file hci_conn.c.

int hci_smp_ltks_clear ( struct hci_dev hdev)

Definition at line 1156 of file hci_core.c.

void hci_sock_dev_event ( struct hci_dev hdev,
int  event 
)

Definition at line 372 of file hci_sock.c.

int hci_suspend_dev ( struct hci_dev hdev)

Definition at line 1833 of file hci_core.c.

int hci_unregister_cb ( struct hci_cb hcb)

Definition at line 2049 of file hci_core.c.

void hci_unregister_dev ( struct hci_dev hdev)

Definition at line 1777 of file hci_core.c.

int hci_uuids_clear ( struct hci_dev hdev)

Definition at line 1124 of file hci_core.c.

void l2cap_connect_cfm ( struct hci_conn hcon,
u8  status 
)

Definition at line 5352 of file l2cap_core.c.

int l2cap_connect_ind ( struct hci_dev hdev,
bdaddr_t *  bdaddr 
)

Definition at line 5321 of file l2cap_core.c.

void l2cap_disconn_cfm ( struct hci_conn hcon,
u8  reason 
)

Definition at line 5378 of file l2cap_core.c.

int l2cap_disconn_ind ( struct hci_conn hcon)

Definition at line 5367 of file l2cap_core.c.

int l2cap_recv_acldata ( struct hci_conn hcon,
struct sk_buff skb,
u16  flags 
)

Definition at line 5519 of file l2cap_core.c.

int l2cap_security_cfm ( struct hci_conn hcon,
u8  status,
u8  encrypt 
)

Definition at line 5401 of file l2cap_core.c.

int mgmt_auth_enable_complete ( struct hci_dev hdev,
u8  status 
)

Definition at line 3326 of file mgmt.c.

int mgmt_auth_failed ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  link_type,
u8  addr_type,
u8  status 
)

Definition at line 3314 of file mgmt.c.

int mgmt_connect_failed ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  link_type,
u8  addr_type,
u8  status 
)

Definition at line 3147 of file mgmt.c.

int mgmt_connectable ( struct hci_dev hdev,
u8  connectable 
)

Definition at line 2955 of file mgmt.c.

int mgmt_control ( struct sock sk,
struct msghdr msg,
size_t  len 
)

Definition at line 2740 of file mgmt.c.

int mgmt_device_blocked ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  type 
)

Definition at line 3695 of file mgmt.c.

int mgmt_device_connected ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  link_type,
u8  addr_type,
u32  flags,
u8 name,
u8  name_len,
u8 dev_class 
)

Definition at line 3036 of file mgmt.c.

int mgmt_device_disconnected ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  link_type,
u8  addr_type,
u8  reason 
)

Definition at line 3098 of file mgmt.c.

int mgmt_device_found ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  link_type,
u8  addr_type,
u8 dev_class,
s8  rssi,
u8  cfm_name,
u8  ssp,
u8 eir,
u16  eir_len 
)

Definition at line 3572 of file mgmt.c.

int mgmt_device_unblocked ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  type 
)

Definition at line 3709 of file mgmt.c.

int mgmt_disconnect_failed ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  link_type,
u8  addr_type,
u8  status 
)

Definition at line 3123 of file mgmt.c.

int mgmt_discoverable ( struct hci_dev hdev,
u8  discoverable 
)

Definition at line 2929 of file mgmt.c.

int mgmt_discovering ( struct hci_dev hdev,
u8  discovering 
)

Definition at line 3668 of file mgmt.c.

int mgmt_index_added ( struct hci_dev hdev)

Definition at line 2834 of file mgmt.c.

int mgmt_index_removed ( struct hci_dev hdev)

Definition at line 2842 of file mgmt.c.

int mgmt_interleaved_discovery ( struct hci_dev hdev)

Definition at line 2300 of file mgmt.c.

int mgmt_le_enable_complete ( struct hci_dev hdev,
u8  enable,
u8  status 
)

Definition at line 3534 of file mgmt.c.

int mgmt_new_link_key ( struct hci_dev hdev,
struct link_key key,
bool  persistent 
)

Definition at line 2996 of file mgmt.c.

int mgmt_new_ltk ( struct hci_dev hdev,
struct smp_ltk key,
u8  persistent 
)

Definition at line 3013 of file mgmt.c.

int mgmt_pin_code_neg_reply_complete ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  status 
)

Definition at line 3193 of file mgmt.c.

int mgmt_pin_code_reply_complete ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  status 
)

Definition at line 3171 of file mgmt.c.

int mgmt_pin_code_request ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  secure 
)

Definition at line 3159 of file mgmt.c.

int mgmt_powered ( struct hci_dev hdev,
u8  powered 
)

Definition at line 2876 of file mgmt.c.

int mgmt_read_local_oob_data_reply_complete ( struct hci_dev hdev,
u8 hash,
u8 randomizer,
u8  status 
)

Definition at line 3503 of file mgmt.c.

int mgmt_remote_name ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  link_type,
u8  addr_type,
s8  rssi,
u8 name,
u8  name_len 
)

Definition at line 3607 of file mgmt.c.

int mgmt_set_class_of_dev_complete ( struct hci_dev hdev,
u8 dev_class,
u8  status 
)

Definition at line 3433 of file mgmt.c.

int mgmt_set_local_name_complete ( struct hci_dev hdev,
u8 name,
u8  status 
)

Definition at line 3455 of file mgmt.c.

int mgmt_ssp_enable_complete ( struct hci_dev hdev,
u8  enable,
u8  status 
)

Definition at line 3373 of file mgmt.c.

int mgmt_start_discovery_failed ( struct hci_dev hdev,
u8  status 
)

Definition at line 3631 of file mgmt.c.

int mgmt_stop_discovery_failed ( struct hci_dev hdev,
u8  status 
)

Definition at line 3652 of file mgmt.c.

int mgmt_user_confirm_neg_reply_complete ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  link_type,
u8  addr_type,
u8  status 
)

Definition at line 3275 of file mgmt.c.

int mgmt_user_confirm_reply_complete ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  link_type,
u8  addr_type,
u8  status 
)

Definition at line 3268 of file mgmt.c.

int mgmt_user_confirm_request ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  link_type,
u8  addr_type,
__le32  value,
u8  confirm_hint 
)

Definition at line 3215 of file mgmt.c.

int mgmt_user_passkey_neg_reply_complete ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  link_type,
u8  addr_type,
u8  status 
)

Definition at line 3290 of file mgmt.c.

int mgmt_user_passkey_notify ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  link_type,
u8  addr_type,
u32  passkey,
u8  entered 
)

Definition at line 3298 of file mgmt.c.

int mgmt_user_passkey_reply_complete ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  link_type,
u8  addr_type,
u8  status 
)

Definition at line 3283 of file mgmt.c.

int mgmt_user_passkey_request ( struct hci_dev hdev,
bdaddr_t *  bdaddr,
u8  link_type,
u8  addr_type 
)

Definition at line 3232 of file mgmt.c.

bool mgmt_valid_hdev ( struct hci_dev hdev)

Definition at line 197 of file mgmt.c.

int mgmt_write_scan_failed ( struct hci_dev hdev,
u8  scan,
u8  status 
)

Definition at line 2981 of file mgmt.c.

void sco_connect_cfm ( struct hci_conn hcon,
__u8  status 
)

Definition at line 915 of file sco.c.

int sco_connect_ind ( struct hci_dev hdev,
bdaddr_t *  bdaddr 
)

Definition at line 890 of file sco.c.

void sco_disconn_cfm ( struct hci_conn hcon,
__u8  reason 
)

Definition at line 928 of file sco.c.

int sco_recv_scodata ( struct hci_conn hcon,
struct sk_buff skb 
)

Definition at line 935 of file sco.c.

Variable Documentation

struct list_head hci_cb_list
rwlock_t hci_cb_list_lock
struct list_head hci_dev_list
rwlock_t hci_dev_list_lock