hci.h (b231070a18d833f425179f2b51c5b22fb6374c7c) hci.h (06f5b7785af6beebb7b2a452687b5a102c90ca6e)
1/*
2 BlueZ - Bluetooth protocol stack for Linux
3 Copyright (C) 2000-2001 Qualcomm Incorporated
4
5 Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License version 2 as

--- 111 unchanged lines hidden (view full) ---

120
121 HCI_LE_SCAN,
122 HCI_SSP_ENABLED,
123 HCI_HS_ENABLED,
124 HCI_LE_ENABLED,
125 HCI_ADVERTISING,
126 HCI_CONNECTABLE,
127 HCI_DISCOVERABLE,
1/*
2 BlueZ - Bluetooth protocol stack for Linux
3 Copyright (C) 2000-2001 Qualcomm Incorporated
4
5 Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License version 2 as

--- 111 unchanged lines hidden (view full) ---

120
121 HCI_LE_SCAN,
122 HCI_SSP_ENABLED,
123 HCI_HS_ENABLED,
124 HCI_LE_ENABLED,
125 HCI_ADVERTISING,
126 HCI_CONNECTABLE,
127 HCI_DISCOVERABLE,
128 HCI_LIMITED_DISCOVERABLE,
128 HCI_LINK_SECURITY,
129 HCI_PERIODIC_INQ,
130 HCI_FAST_CONNECTABLE,
131 HCI_BREDR_ENABLED,
132};
133
134/* A mask for the flags that are supposed to remain when a reset happens
135 * or the HCI device is closed.

--- 682 unchanged lines hidden (view full) ---

818#define HCI_OP_READ_NUM_SUPPORTED_IAC 0x0c38
819struct hci_rp_read_num_supported_iac {
820 __u8 status;
821 __u8 num_iac;
822} __packed;
823
824#define HCI_OP_READ_CURRENT_IAC_LAP 0x0c39
825
129 HCI_LINK_SECURITY,
130 HCI_PERIODIC_INQ,
131 HCI_FAST_CONNECTABLE,
132 HCI_BREDR_ENABLED,
133};
134
135/* A mask for the flags that are supposed to remain when a reset happens
136 * or the HCI device is closed.

--- 682 unchanged lines hidden (view full) ---

819#define HCI_OP_READ_NUM_SUPPORTED_IAC 0x0c38
820struct hci_rp_read_num_supported_iac {
821 __u8 status;
822 __u8 num_iac;
823} __packed;
824
825#define HCI_OP_READ_CURRENT_IAC_LAP 0x0c39
826
827#define HCI_OP_WRITE_CURRENT_IAC_LAP 0x0c3a
828struct hci_cp_write_current_iac_lap {
829 __u8 num_iac;
830 __u8 iac_lap[6];
831} __packed;
832
826#define HCI_OP_WRITE_INQUIRY_MODE 0x0c45
827
828#define HCI_MAX_EIR_LENGTH 240
829
830#define HCI_OP_WRITE_EIR 0x0c52
831struct hci_cp_write_eir {
832 __u8 fec;
833 __u8 data[HCI_MAX_EIR_LENGTH];

--- 197 unchanged lines hidden (view full) ---

1031 __le16 rem_len;
1032 __u8 frag[0];
1033} __packed;
1034struct hci_rp_write_remote_amp_assoc {
1035 __u8 status;
1036 __u8 phy_handle;
1037} __packed;
1038
833#define HCI_OP_WRITE_INQUIRY_MODE 0x0c45
834
835#define HCI_MAX_EIR_LENGTH 240
836
837#define HCI_OP_WRITE_EIR 0x0c52
838struct hci_cp_write_eir {
839 __u8 fec;
840 __u8 data[HCI_MAX_EIR_LENGTH];

--- 197 unchanged lines hidden (view full) ---

1038 __le16 rem_len;
1039 __u8 frag[0];
1040} __packed;
1041struct hci_rp_write_remote_amp_assoc {
1042 __u8 status;
1043 __u8 phy_handle;
1044} __packed;
1045
1046#define HCI_OP_WRITE_SSP_DEBUG_MODE 0x1804
1047
1039#define HCI_OP_LE_SET_EVENT_MASK 0x2001
1040struct hci_cp_le_set_event_mask {
1041 __u8 mask[8];
1042} __packed;
1043
1044#define HCI_OP_LE_READ_BUFFER_SIZE 0x2002
1045struct hci_rp_le_read_buffer_size {
1046 __u8 status;

--- 4 unchanged lines hidden (view full) ---

1051#define HCI_OP_LE_READ_LOCAL_FEATURES 0x2003
1052struct hci_rp_le_read_local_features {
1053 __u8 status;
1054 __u8 features[8];
1055} __packed;
1056
1057#define HCI_OP_LE_SET_RANDOM_ADDR 0x2005
1058
1048#define HCI_OP_LE_SET_EVENT_MASK 0x2001
1049struct hci_cp_le_set_event_mask {
1050 __u8 mask[8];
1051} __packed;
1052
1053#define HCI_OP_LE_READ_BUFFER_SIZE 0x2002
1054struct hci_rp_le_read_buffer_size {
1055 __u8 status;

--- 4 unchanged lines hidden (view full) ---

1060#define HCI_OP_LE_READ_LOCAL_FEATURES 0x2003
1061struct hci_rp_le_read_local_features {
1062 __u8 status;
1063 __u8 features[8];
1064} __packed;
1065
1066#define HCI_OP_LE_SET_RANDOM_ADDR 0x2005
1067
1059#define LE_ADV_IND 0x00
1060#define LE_ADV_DIRECT_IND 0x01
1061#define LE_ADV_SCAN_IND 0x02
1062#define LE_ADV_NONCONN_IND 0x03
1063
1064#define HCI_OP_LE_SET_ADV_PARAM 0x2006
1065struct hci_cp_le_set_adv_param {
1066 __le16 min_interval;
1067 __le16 max_interval;
1068 __u8 type;
1069 __u8 own_address_type;
1070 __u8 direct_addr_type;
1071 bdaddr_t direct_addr;

--- 10 unchanged lines hidden (view full) ---

1082#define HCI_MAX_AD_LENGTH 31
1083
1084#define HCI_OP_LE_SET_ADV_DATA 0x2008
1085struct hci_cp_le_set_adv_data {
1086 __u8 length;
1087 __u8 data[HCI_MAX_AD_LENGTH];
1088} __packed;
1089
1068#define HCI_OP_LE_SET_ADV_PARAM 0x2006
1069struct hci_cp_le_set_adv_param {
1070 __le16 min_interval;
1071 __le16 max_interval;
1072 __u8 type;
1073 __u8 own_address_type;
1074 __u8 direct_addr_type;
1075 bdaddr_t direct_addr;

--- 10 unchanged lines hidden (view full) ---

1086#define HCI_MAX_AD_LENGTH 31
1087
1088#define HCI_OP_LE_SET_ADV_DATA 0x2008
1089struct hci_cp_le_set_adv_data {
1090 __u8 length;
1091 __u8 data[HCI_MAX_AD_LENGTH];
1092} __packed;
1093
1094#define HCI_OP_LE_SET_SCAN_RSP_DATA 0x2009
1095struct hci_cp_le_set_scan_rsp_data {
1096 __u8 length;
1097 __u8 data[HCI_MAX_AD_LENGTH];
1098} __packed;
1099
1090#define HCI_OP_LE_SET_ADV_ENABLE 0x200a
1091
1092#define LE_SCAN_PASSIVE 0x00
1093#define LE_SCAN_ACTIVE 0x01
1094
1095#define HCI_OP_LE_SET_SCAN_PARAM 0x200b
1096struct hci_cp_le_set_scan_param {
1097 __u8 type;

--- 464 unchanged lines hidden (view full) ---

1562#define HCI_EV_LE_LTK_REQ 0x05
1563struct hci_ev_le_ltk_req {
1564 __le16 handle;
1565 __u8 random[8];
1566 __le16 ediv;
1567} __packed;
1568
1569/* Advertising report event types */
1100#define HCI_OP_LE_SET_ADV_ENABLE 0x200a
1101
1102#define LE_SCAN_PASSIVE 0x00
1103#define LE_SCAN_ACTIVE 0x01
1104
1105#define HCI_OP_LE_SET_SCAN_PARAM 0x200b
1106struct hci_cp_le_set_scan_param {
1107 __u8 type;

--- 464 unchanged lines hidden (view full) ---

1572#define HCI_EV_LE_LTK_REQ 0x05
1573struct hci_ev_le_ltk_req {
1574 __le16 handle;
1575 __u8 random[8];
1576 __le16 ediv;
1577} __packed;
1578
1579/* Advertising report event types */
1570#define ADV_IND 0x00
1571#define ADV_DIRECT_IND 0x01
1572#define ADV_SCAN_IND 0x02
1573#define ADV_NONCONN_IND 0x03
1574#define ADV_SCAN_RSP 0x04
1580#define LE_ADV_IND 0x00
1581#define LE_ADV_DIRECT_IND 0x01
1582#define LE_ADV_SCAN_IND 0x02
1583#define LE_ADV_NONCONN_IND 0x03
1584#define LE_ADV_SCAN_RSP 0x04
1575
1576#define ADDR_LE_DEV_PUBLIC 0x00
1577#define ADDR_LE_DEV_RANDOM 0x01
1578
1579#define HCI_EV_LE_ADVERTISING_REPORT 0x02
1580struct hci_ev_le_advertising_info {
1581 __u8 evt_type;
1582 __u8 bdaddr_type;

--- 191 unchanged lines hidden (view full) ---

1774 __u16 dev_id;
1775 __u16 flags;
1776 __u8 lap[3];
1777 __u8 length;
1778 __u8 num_rsp;
1779};
1780#define IREQ_CACHE_FLUSH 0x0001
1781
1585
1586#define ADDR_LE_DEV_PUBLIC 0x00
1587#define ADDR_LE_DEV_RANDOM 0x01
1588
1589#define HCI_EV_LE_ADVERTISING_REPORT 0x02
1590struct hci_ev_le_advertising_info {
1591 __u8 evt_type;
1592 __u8 bdaddr_type;

--- 191 unchanged lines hidden (view full) ---

1784 __u16 dev_id;
1785 __u16 flags;
1786 __u8 lap[3];
1787 __u8 length;
1788 __u8 num_rsp;
1789};
1790#define IREQ_CACHE_FLUSH 0x0001
1791
1782extern bool enable_hs;
1783
1784#endif /* __HCI_H */
1792#endif /* __HCI_H */