diff options
author | Sudha Bheemanna <b.sudha@samsung.com> | 2016-09-08 12:24:43 +0530 |
---|---|---|
committer | Seung-Woo Kim <sw0312.kim@samsung.com> | 2016-12-14 13:53:17 +0900 |
commit | 8095ed769f41eebf5d5878f7172e056d6215878f (patch) | |
tree | 6ea0903fe76bb5e1e552ddd7ed9d59544c5b137e /include | |
parent | bfb2d61eeee235c0b8c8787a3bc43bfd565b8596 (diff) |
Bluetooth: Set link Supervision timeout for a connection
This patch allows to set the supervision timeout for a connection
if the device role is master.
Change-Id: I7897167ec07803f3059f2ab4d3314b0b7a951533
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/bluetooth/bluetooth.h | 7 | ||||
-rw-r--r-- | include/net/bluetooth/hci.h | 15 | ||||
-rw-r--r-- | include/net/bluetooth/hci_core.h | 8 |
3 files changed, 30 insertions, 0 deletions
diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h index 9d25f2c2fd0f..4830ea890192 100644 --- a/include/net/bluetooth/bluetooth.h +++ b/include/net/bluetooth/bluetooth.h @@ -176,6 +176,13 @@ typedef struct { __u8 b[6]; } __packed bdaddr_t; +#ifdef TIZEN_BT +/* Automatically enable sniff mode for connection. + * In case of normal phone this timeout would be 5 seconds + */ +#define TIZEN_SNIFF_TIMEOUT 5 /* 5 seconds */ +#endif + /* BD Address type */ #define BDADDR_BREDR 0x00 #define BDADDR_LE_PUBLIC 0x01 diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index 37b4539b99b3..14f17175da25 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h @@ -967,6 +967,21 @@ struct hci_cp_host_buffer_size { __le16 sco_max_pkt; } __packed; +#ifdef TIZEN_BT +/* Set Link supervision timeout */ +#define HCI_OP_WRITE_LINK_SUPERVISION_TIMEOUT 0x0c37 +struct hci_cp_write_link_supervision_timeout { + __le16 handle; + __le16 timeout; +} __packed; + +struct hci_rp_write_link_supervision_timeout { + __u8 status; + __le16 handle; +} __packed; +/* Set Link supervision timeout */ +#endif /* TIZEN_BT */ + #define HCI_OP_READ_NUM_SUPPORTED_IAC 0x0c38 struct hci_rp_read_num_supported_iac { __u8 status; diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index e1aa78458d0e..ecbdcb2be062 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h @@ -619,6 +619,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, @@ -873,6 +877,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); @@ -1055,6 +1060,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, |