X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fnet%2Fbluetooth%2Fhci.h;h=6f0706f4af68178db7852aa15c728822aefa4a80;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=06e19d370efd1b19a252cd777d02b48fd9069fab;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index 06e19d370..6f0706f4a 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h @@ -53,7 +53,8 @@ /* HCI device quirks */ enum { - HCI_QUIRK_RESET_ON_INIT + HCI_QUIRK_RESET_ON_INIT, + HCI_QUIRK_RAW_DEVICE }; /* HCI device flags */ @@ -68,7 +69,9 @@ enum { HCI_ENCRYPT, HCI_INQUIRY, - HCI_RAW + HCI_RAW, + + HCI_SECMGR }; /* 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 HCISETRAWVND _IOW('H', 229, int) + +#define HCISETSECMGR _IOW('H', 230, 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_UNKNOWN_PKT 0xff +#define HCI_VENDOR_PKT 0xff /* 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_RELIABLE 0x0010 +#define HCI_LM_SECURE 0x0020 /* ----- 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_LINK_KEY_NEG_REPLY 0x000C 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_NEG_REPLY 0x000E 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; @@ -355,6 +369,11 @@ struct hci_cp_set_conn_encrypt { __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; @@ -471,6 +490,12 @@ struct hci_ev_encrypt_change { __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; @@ -511,6 +536,14 @@ struct hci_ev_role_change { __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; @@ -544,6 +577,13 @@ struct hci_ev_rmt_version { __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 {