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

Go to the source code of this file.

Macros

#define STREAM_REASSEMBLY   0
 

Functions

 LIST_HEAD (hci_dev_list)
 
 DEFINE_RWLOCK (hci_dev_list_lock)
 
 LIST_HEAD (hci_cb_list)
 
 DEFINE_RWLOCK (hci_cb_list_lock)
 
void hci_req_complete (struct hci_dev *hdev, __u16 cmd, int result)
 
struct hci_devhci_dev_get (int index)
 
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)
 
int hci_inquiry (void __user *arg)
 
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_uuids_clear (struct hci_dev *hdev)
 
int hci_link_keys_clear (struct hci_dev *hdev)
 
int hci_smp_ltks_clear (struct hci_dev *hdev)
 
struct link_keyhci_find_link_key (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
struct smp_ltkhci_find_ltk (struct hci_dev *hdev, __le16 ediv, u8 rand[8])
 
struct smp_ltkhci_find_ltk_by_addr (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 addr_type)
 
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)
 
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])
 
int hci_remove_link_key (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
int hci_remove_ltk (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
struct oob_datahci_find_remote_oob_data (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
int hci_remove_remote_oob_data (struct hci_dev *hdev, bdaddr_t *bdaddr)
 
int hci_remote_oob_data_clear (struct hci_dev *hdev)
 
int hci_add_remote_oob_data (struct hci_dev *hdev, bdaddr_t *bdaddr, u8 *hash, u8 *randomizer)
 
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_cancel_le_scan (struct hci_dev *hdev)
 
int hci_le_scan (struct hci_dev *hdev, u8 type, u16 interval, u16 window, int timeout)
 
struct hci_devhci_alloc_dev (void)
 
 EXPORT_SYMBOL (hci_alloc_dev)
 
void hci_free_dev (struct hci_dev *hdev)
 
 EXPORT_SYMBOL (hci_free_dev)
 
int hci_register_dev (struct hci_dev *hdev)
 
 EXPORT_SYMBOL (hci_register_dev)
 
void hci_unregister_dev (struct hci_dev *hdev)
 
 EXPORT_SYMBOL (hci_unregister_dev)
 
int hci_suspend_dev (struct hci_dev *hdev)
 
 EXPORT_SYMBOL (hci_suspend_dev)
 
int hci_resume_dev (struct hci_dev *hdev)
 
 EXPORT_SYMBOL (hci_resume_dev)
 
int hci_recv_frame (struct sk_buff *skb)
 
 EXPORT_SYMBOL (hci_recv_frame)
 
int hci_recv_fragment (struct hci_dev *hdev, int type, void *data, int count)
 
 EXPORT_SYMBOL (hci_recv_fragment)
 
int hci_recv_stream_fragment (struct hci_dev *hdev, void *data, int count)
 
 EXPORT_SYMBOL (hci_recv_stream_fragment)
 
int hci_register_cb (struct hci_cb *cb)
 
 EXPORT_SYMBOL (hci_register_cb)
 
int hci_unregister_cb (struct hci_cb *cb)
 
 EXPORT_SYMBOL (hci_unregister_cb)
 
int hci_send_cmd (struct hci_dev *hdev, __u16 opcode, __u32 plen, void *param)
 
voidhci_sent_cmd_data (struct hci_dev *hdev, __u16 opcode)
 
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)
 
int hci_do_inquiry (struct hci_dev *hdev, u8 length)
 
int hci_cancel_inquiry (struct hci_dev *hdev)
 
u8 bdaddr_to_le (u8 bdaddr_type)
 

Macro Definition Documentation

#define STREAM_REASSEMBLY   0

Definition at line 2000 of file hci_core.c.

Function Documentation

u8 bdaddr_to_le ( u8  bdaddr_type)

Definition at line 2887 of file hci_core.c.

DEFINE_RWLOCK ( hci_dev_list_lock  )
DEFINE_RWLOCK ( hci_cb_list_lock  )
EXPORT_SYMBOL ( hci_alloc_dev  )
EXPORT_SYMBOL ( hci_free_dev  )
EXPORT_SYMBOL ( hci_register_dev  )
EXPORT_SYMBOL ( hci_unregister_dev  )
EXPORT_SYMBOL ( hci_suspend_dev  )
EXPORT_SYMBOL ( hci_resume_dev  )
EXPORT_SYMBOL ( hci_recv_frame  )
EXPORT_SYMBOL ( hci_recv_fragment  )
EXPORT_SYMBOL ( hci_recv_stream_fragment  )
EXPORT_SYMBOL ( hci_register_cb  )
EXPORT_SYMBOL ( hci_unregister_cb  )
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.

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.

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.

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_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.

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.

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.

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 cb)

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_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_sent_cmd_data ( struct hci_dev hdev,
__u16  opcode 
)

Definition at line 2126 of file hci_core.c.

int hci_smp_ltks_clear ( struct hci_dev hdev)

Definition at line 1156 of file hci_core.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 cb)

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.

LIST_HEAD ( hci_dev_list  )
LIST_HEAD ( hci_cb_list  )