Bluetooth: Send HCI Reset command by default on device initialization
[pandora-kernel.git] / include / net / bluetooth / hci.h
index a8a9eb6..3645139 100644 (file)
@@ -54,7 +54,7 @@
 
 /* HCI device quirks */
 enum {
-       HCI_QUIRK_RESET_ON_INIT,
+       HCI_QUIRK_NO_RESET,
        HCI_QUIRK_RAW_DEVICE,
        HCI_QUIRK_FIXUP_BUFFER_SIZE
 };
@@ -72,8 +72,6 @@ enum {
        HCI_INQUIRY,
 
        HCI_RAW,
-
-       HCI_SECMGR
 };
 
 /* HCI ioctl defines */
@@ -86,6 +84,7 @@ enum {
 #define HCIGETDEVINFO  _IOR('H', 211, int)
 #define HCIGETCONNLIST _IOR('H', 212, int)
 #define HCIGETCONNINFO _IOR('H', 213, int)
+#define HCIGETAUTHINFO _IOR('H', 215, int)
 
 #define HCISETRAW      _IOW('H', 220, int)
 #define HCISETSCAN     _IOW('H', 221, int)
@@ -97,8 +96,6 @@ enum {
 #define HCISETACLMTU   _IOW('H', 227, int)
 #define HCISETSCOMTU   _IOW('H', 228, int)
 
-#define HCISETSECMGR   _IOW('H', 230, int)
-
 #define HCIINQUIRY     _IOR('H', 240, int)
 
 /* HCI timeouts */
@@ -137,6 +134,8 @@ enum {
 #define ESCO_EV4       0x0010
 #define ESCO_EV5       0x0020
 
+#define SCO_ESCO_MASK  (ESCO_HV1 | ESCO_HV2 | ESCO_HV3)
+
 /* ACL flags */
 #define ACL_CONT               0x01
 #define ACL_START              0x02
@@ -178,6 +177,8 @@ enum {
 
 #define LMP_SNIFF_SUBR 0x02
 
+#define LMP_SIMPLE_PAIR        0x08
+
 /* Connection modes */
 #define HCI_CM_ACTIVE  0x0000
 #define HCI_CM_HOLD    0x0001
@@ -199,6 +200,14 @@ enum {
 #define HCI_LM_RELIABLE        0x0010
 #define HCI_LM_SECURE  0x0020
 
+/* Authentication types */
+#define HCI_AT_NO_BONDING              0x00
+#define HCI_AT_NO_BONDING_MITM         0x01
+#define HCI_AT_DEDICATED_BONDING       0x02
+#define HCI_AT_DEDICATED_BONDING_MITM  0x03
+#define HCI_AT_GENERAL_BONDING         0x04
+#define HCI_AT_GENERAL_BONDING_MITM    0x05
+
 /* -----  HCI Commands ---- */
 #define HCI_OP_INQUIRY                 0x0401
 struct hci_cp_inquiry {
@@ -402,6 +411,17 @@ struct hci_rp_write_link_policy {
        __le16   handle;
 } __attribute__ ((packed));
 
+#define HCI_OP_READ_DEF_LINK_POLICY    0x080e
+struct hci_rp_read_def_link_policy {
+       __u8     status;
+       __le16   policy;
+} __attribute__ ((packed));
+
+#define HCI_OP_WRITE_DEF_LINK_POLICY   0x080f
+struct hci_cp_write_def_link_policy {
+       __le16   policy;
+} __attribute__ ((packed));
+
 #define HCI_OP_SNIFF_SUBRATE           0x0811
 struct hci_cp_sniff_subrate {
        __le16   handle;
@@ -501,6 +521,17 @@ struct hci_cp_host_buffer_size {
        __le16   sco_max_pkt;
 } __attribute__ ((packed));
 
+#define HCI_OP_READ_SSP_MODE           0x0c55
+struct hci_rp_read_ssp_mode {
+       __u8     status;
+       __u8     mode;
+} __attribute__ ((packed));
+
+#define HCI_OP_WRITE_SSP_MODE          0x0c56
+struct hci_cp_write_ssp_mode {
+       __u8     mode;
+} __attribute__ ((packed));
+
 #define HCI_OP_READ_LOCAL_VERSION      0x1001
 struct hci_rp_read_local_version {
        __u8     status;
@@ -696,6 +727,13 @@ struct hci_ev_clock_offset {
        __le16   clock_offset;
 } __attribute__ ((packed));
 
+#define HCI_EV_PKT_TYPE_CHANGE         0x1d
+struct hci_ev_pkt_type_change {
+       __u8     status;
+       __le16   handle;
+       __le16   pkt_type;
+} __attribute__ ((packed));
+
 #define HCI_EV_PSCAN_REP_MODE          0x20
 struct hci_ev_pscan_rep_mode {
        bdaddr_t bdaddr;
@@ -774,6 +812,23 @@ struct extended_inquiry_info {
        __u8     data[240];
 } __attribute__ ((packed));
 
+#define HCI_EV_IO_CAPA_REQUEST         0x31
+struct hci_ev_io_capa_request {
+       bdaddr_t bdaddr;
+} __attribute__ ((packed));
+
+#define HCI_EV_SIMPLE_PAIR_COMPLETE    0x36
+struct hci_ev_simple_pair_complete {
+       __u8     status;
+       bdaddr_t bdaddr;
+} __attribute__ ((packed));
+
+#define HCI_EV_REMOTE_HOST_FEATURES    0x3d
+struct hci_ev_remote_host_features {
+       bdaddr_t bdaddr;
+       __u8     features[8];
+} __attribute__ ((packed));
+
 /* Internal events generated by Bluetooth stack */
 #define HCI_EV_STACK_INTERNAL  0xfd
 struct hci_ev_stack_internal {
@@ -951,6 +1006,11 @@ struct hci_conn_info_req {
        struct   hci_conn_info conn_info[0];
 };
 
+struct hci_auth_info_req {
+       bdaddr_t bdaddr;
+       __u8     type;
+};
+
 struct hci_inquiry_req {
        __u16 dev_id;
        __u16 flags;