Bluetooth: Set le data length command and event
[platform/kernel/linux-rpi.git] / include / net / bluetooth / hci_core.h
index a6c185c..44bd0b5 100644 (file)
@@ -697,6 +697,12 @@ struct hci_conn {
        __u8            remote_id;
 
        unsigned int    sent;
+#ifdef TIZEN_BT
+       __u16           tx_len;
+       __u16           tx_time;
+       __u16           rx_len;
+       __u16           rx_time;
+#endif
 
        struct sk_buff_head data_q;
        struct list_head chan_list;
@@ -749,6 +755,10 @@ struct hci_conn_params {
        u16 conn_latency;
        u16 supervision_timeout;
 
+#ifdef TIZEN_BT
+       u16 max_tx_octets;
+       u16 max_tx_time;
+#endif
        enum {
                HCI_AUTO_CONN_DISABLED,
                HCI_AUTO_CONN_REPORT,
@@ -864,6 +874,10 @@ u32 hci_inquiry_cache_update(struct hci_dev *hdev, struct inquiry_data *data,
 void hci_inquiry_cache_flush(struct hci_dev *hdev);
 
 /* ----- HCI Connections ----- */
+#ifdef TIZEN_BT
+#define LINK_SUPERVISION_TIMEOUT       0x1F40   /* n * 0.625 = 5 seconds */
+#endif /* TIZEN_BT */
+
 enum {
        HCI_CONN_AUTH_PEND,
        HCI_CONN_REAUTH_PEND,
@@ -1164,6 +1178,7 @@ static inline int hci_conn_hash_lookup_rssi_count(struct hci_dev *hdev)
        return count;
 }
 
+int hci_conn_change_supervision_timeout(struct hci_conn *conn, __u16 timeout);
 bool hci_le_discovery_active(struct hci_dev *hdev);
 void hci_le_discovery_set_state(struct hci_dev *hdev, int state);
 
@@ -1383,6 +1398,9 @@ int hci_get_dev_info(void __user *arg);
 int hci_get_conn_list(void __user *arg);
 int hci_get_conn_info(struct hci_dev *hdev, void __user *arg);
 int hci_get_auth_info(struct hci_dev *hdev, void __user *arg);
+#ifdef TIZEN_BT
+u32 get_link_mode(struct hci_conn *conn);
+#endif
 int hci_inquiry(void __user *arg);
 
 struct bdaddr_list *hci_bdaddr_list_lookup(struct list_head *list,
@@ -1993,6 +2011,18 @@ void mgmt_le_device_found(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
                u16 eir_len, u8 *scan_rsp, u8 scan_rsp_len, u8 adv_type);
 void mgmt_multi_adv_state_change_evt(struct hci_dev *hdev, u8 adv_instance,
                u8 state_change_reason, u16 connection_handle);
+void mgmt_6lowpan_conn_changed(struct hci_dev *hdev, char if_name[16],
+               bdaddr_t *bdaddr, u8 addr_type, bool connected);
+void mgmt_le_read_maximum_data_length_complete(struct hci_dev *hdev,
+               u8 status);
+void mgmt_le_write_host_suggested_data_length_complete(struct hci_dev *hdev,
+               u8 status);
+void mgmt_le_read_host_suggested_data_length_complete(struct hci_dev *hdev,
+               u8 status);
+void mgmt_le_data_length_change_complete(struct hci_dev *hdev,
+               bdaddr_t *bdaddr, u16 tx_octets, u16 tx_time,
+               u16 rx_octets, u16 rx_time);
+int hci_le_set_data_length(struct hci_conn *conn, u16 tx_octets, u16 tx_time);
 #endif
 
 u8 hci_le_conn_update(struct hci_conn *conn, u16 min, u16 max, u16 latency,