git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
include
/
net
/
bluetooth
/
hci.h
diff --git
a/include/net/bluetooth/hci.h
b/include/net/bluetooth/hci.h
index
8bdea57
..
6f0706f
100644
(file)
--- a/
include/net/bluetooth/hci.h
+++ b/
include/net/bluetooth/hci.h
@@
-53,7
+53,8
@@
/* HCI device quirks */
enum {
/* HCI device quirks */
enum {
- HCI_QUIRK_RESET_ON_INIT
+ HCI_QUIRK_RESET_ON_INIT,
+ HCI_QUIRK_RAW_DEVICE
};
/* HCI device flags */
};
/* HCI device flags */
@@
-68,7
+69,9
@@
enum {
HCI_ENCRYPT,
HCI_INQUIRY,
HCI_ENCRYPT,
HCI_INQUIRY,
- HCI_RAW
+ HCI_RAW,
+
+ HCI_SECMGR
};
/* HCI ioctl defines */
};
/* HCI ioctl defines */
@@
-91,7
+94,8
@@
enum {
#define HCISETLINKMODE _IOW('H', 226, int)
#define HCISETACLMTU _IOW('H', 227, int)
#define HCISETSCOMTU _IOW('H', 228, int)
#define HCISETLINKMODE _IOW('H', 226, int)
#define HCISETACLMTU _IOW('H', 227, int)
#define HCISETSCOMTU _IOW('H', 228, int)
-#define HCISETRAWVND _IOW('H', 229, int)
+
+#define HCISETSECMGR _IOW('H', 230, int)
#define HCIINQUIRY _IOR('H', 240, int)
#define HCIINQUIRY _IOR('H', 240, int)
@@
-105,7
+109,7
@@
enum {
#define HCI_ACLDATA_PKT 0x02
#define HCI_SCODATA_PKT 0x03
#define HCI_EVENT_PKT 0x04
#define HCI_ACLDATA_PKT 0x02
#define HCI_SCODATA_PKT 0x03
#define HCI_EVENT_PKT 0x04
-#define HCI_
UNKNOWN_PKT
0xff
+#define HCI_
VENDOR_PKT
0xff
/* HCI Packet types */
#define HCI_DM1 0x0008
/* HCI Packet types */
#define HCI_DM1 0x0008
@@
-167,6
+171,8
@@
enum {
#define HCI_LM_AUTH 0x0002
#define HCI_LM_ENCRYPT 0x0004
#define HCI_LM_TRUSTED 0x0008
#define HCI_LM_AUTH 0x0002
#define HCI_LM_ENCRYPT 0x0004
#define HCI_LM_TRUSTED 0x0008
+#define HCI_LM_RELIABLE 0x0010
+#define HCI_LM_SECURE 0x0020
/* ----- HCI Commands ---- */
/* OGF & OCF values */
/* ----- HCI Commands ---- */
/* OGF & OCF values */
@@
-324,20
+330,28
@@
struct hci_cp_inquiry {
#define OCF_INQUIRY_CANCEL 0x0002
#define OCF_LINK_KEY_REPLY 0x000B
#define OCF_INQUIRY_CANCEL 0x0002
#define OCF_LINK_KEY_REPLY 0x000B
-#define OCF_LINK_KEY_NEG_REPLY 0x000C
struct hci_cp_link_key_reply {
bdaddr_t bdaddr;
__u8 link_key[16];
} __attribute__ ((packed));
struct hci_cp_link_key_reply {
bdaddr_t bdaddr;
__u8 link_key[16];
} __attribute__ ((packed));
+#define OCF_LINK_KEY_NEG_REPLY 0x000C
+struct hci_cp_link_key_neg_reply {
+ bdaddr_t bdaddr;
+} __attribute__ ((packed));
+
#define OCF_PIN_CODE_REPLY 0x000D
#define OCF_PIN_CODE_REPLY 0x000D
-#define OCF_PIN_CODE_NEG_REPLY 0x000E
struct hci_cp_pin_code_reply {
bdaddr_t bdaddr;
__u8 pin_len;
__u8 pin_code[16];
} __attribute__ ((packed));
struct hci_cp_pin_code_reply {
bdaddr_t bdaddr;
__u8 pin_len;
__u8 pin_code[16];
} __attribute__ ((packed));
+#define OCF_PIN_CODE_NEG_REPLY 0x000E
+struct hci_cp_pin_code_neg_reply {
+ bdaddr_t bdaddr;
+} __attribute__ ((packed));
+
#define OCF_CHANGE_CONN_PTYPE 0x000F
struct hci_cp_change_conn_ptype {
__u16 handle;
#define OCF_CHANGE_CONN_PTYPE 0x000F
struct hci_cp_change_conn_ptype {
__u16 handle;
@@
-355,6
+369,11
@@
struct hci_cp_set_conn_encrypt {
__u8 encrypt;
} __attribute__ ((packed));
__u8 encrypt;
} __attribute__ ((packed));
+#define OCF_CHANGE_CONN_LINK_KEY 0x0015
+struct hci_cp_change_conn_link_key {
+ __u16 handle;
+} __attribute__ ((packed));
+
#define OCF_READ_REMOTE_FEATURES 0x001B
struct hci_cp_read_rmt_features {
__u16 handle;
#define OCF_READ_REMOTE_FEATURES 0x001B
struct hci_cp_read_rmt_features {
__u16 handle;
@@
-432,7
+451,7
@@
struct inquiry_info_with_rssi {
__u8 pscan_period_mode;
__u8 dev_class[3];
__u16 clock_offset;
__u8 pscan_period_mode;
__u8 dev_class[3];
__u16 clock_offset;
- __
u
8 rssi;
+ __
s
8 rssi;
} __attribute__ ((packed));
#define HCI_EV_CONN_COMPLETE 0x03
} __attribute__ ((packed));
#define HCI_EV_CONN_COMPLETE 0x03
@@
-471,6
+490,12
@@
struct hci_ev_encrypt_change {
__u8 encrypt;
} __attribute__ ((packed));
__u8 encrypt;
} __attribute__ ((packed));
+#define HCI_EV_CHANGE_CONN_LINK_KEY_COMPLETE 0x09
+struct hci_ev_change_conn_link_key_complete {
+ __u8 status;
+ __u16 handle;
+} __attribute__ ((packed));
+
#define HCI_EV_QOS_SETUP_COMPLETE 0x0D
struct hci_qos {
__u8 service_type;
#define HCI_EV_QOS_SETUP_COMPLETE 0x0D
struct hci_qos {
__u8 service_type;
@@
-511,6
+536,14
@@
struct hci_ev_role_change {
__u8 role;
} __attribute__ ((packed));
__u8 role;
} __attribute__ ((packed));
+#define HCI_EV_MODE_CHANGE 0x14
+struct hci_ev_mode_change {
+ __u8 status;
+ __u16 handle;
+ __u8 mode;
+ __u16 interval;
+} __attribute__ ((packed));
+
#define HCI_EV_PIN_CODE_REQ 0x16
struct hci_ev_pin_code_req {
bdaddr_t bdaddr;
#define HCI_EV_PIN_CODE_REQ 0x16
struct hci_ev_pin_code_req {
bdaddr_t bdaddr;
@@
-544,6
+577,13
@@
struct hci_ev_rmt_version {
__u16 lmp_subver;
} __attribute__ ((packed));
__u16 lmp_subver;
} __attribute__ ((packed));
+#define HCI_EV_CLOCK_OFFSET 0x01C
+struct hci_ev_clock_offset {
+ __u8 status;
+ __u16 handle;
+ __u16 clock_offset;
+} __attribute__ ((packed));
+
/* Internal events generated by Bluetooth stack */
#define HCI_EV_STACK_INTERNAL 0xFD
struct hci_ev_stack_internal {
/* Internal events generated by Bluetooth stack */
#define HCI_EV_STACK_INTERNAL 0xFD
struct hci_ev_stack_internal {