Bluetooth: Add low energy commands and events
authorVille Tervo <ville.tervo@nokia.com>
Fri, 11 Feb 2011 01:38:46 +0000 (22:38 -0300)
committerGustavo F. Padovan <padovan@profusion.mobi>
Wed, 16 Feb 2011 19:32:15 +0000 (16:32 -0300)
Add needed HCI command and event structs to
create LE connections.

Signed-off-by: Ville Tervo <ville.tervo@nokia.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
include/net/bluetooth/hci.h

index 4bee030..802d250 100644 (file)
@@ -642,6 +642,36 @@ struct hci_rp_read_bd_addr {
        bdaddr_t bdaddr;
 } __packed;
 
+#define HCI_OP_LE_SET_EVENT_MASK       0x2001
+struct hci_cp_le_set_event_mask {
+       __u8     mask[8];
+} __packed;
+
+#define HCI_OP_LE_READ_BUFFER_SIZE     0x2002
+struct hci_rp_le_read_buffer_size {
+       __u8     status;
+       __le16   le_mtu;
+       __u8     le_max_pkt;
+} __packed;
+
+#define HCI_OP_LE_CREATE_CONN          0x200d
+struct hci_cp_le_create_conn {
+       __le16   scan_interval;
+       __le16   scan_window;
+       __u8     filter_policy;
+       __u8     peer_addr_type;
+       bdaddr_t peer_addr;
+       __u8     own_address_type;
+       __le16   conn_interval_min;
+       __le16   conn_interval_max;
+       __le16   conn_latency;
+       __le16   supervision_timeout;
+       __le16   min_ce_len;
+       __le16   max_ce_len;
+} __packed;
+
+#define HCI_OP_LE_CREATE_CONN_CANCEL   0x200e
+
 /* ---- HCI Events ---- */
 #define HCI_EV_INQUIRY_COMPLETE                0x01
 
@@ -902,6 +932,25 @@ struct hci_ev_remote_host_features {
        __u8     features[8];
 } __packed;
 
+#define HCI_EV_LE_META                 0x3e
+struct hci_ev_le_meta {
+       __u8     subevent;
+} __packed;
+
+/* Low energy meta events */
+#define HCI_EV_LE_CONN_COMPLETE                0x01
+struct hci_ev_le_conn_complete {
+       __u8     status;
+       __le16   handle;
+       __u8     role;
+       __u8     bdaddr_type;
+       bdaddr_t bdaddr;
+       __le16   interval;
+       __le16   latency;
+       __le16   supervision_timeout;
+       __u8     clk_accurancy;
+} __packed;
+
 /* Internal events generated by Bluetooth stack */
 #define HCI_EV_STACK_INTERNAL  0xfd
 struct hci_ev_stack_internal {