hci.h (d4263348f796f29546f90802177865dd4379dd0a) hci.h (863efaf224d24705c0ffdc59f2a0ec68f2d85b4f)
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

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

112 HCI_SETUP,
113 HCI_AUTO_OFF,
114 HCI_RFKILLED,
115 HCI_MGMT,
116 HCI_PAIRABLE,
117 HCI_SERVICE_CACHE,
118 HCI_DEBUG_KEYS,
119 HCI_DUT_MODE,
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

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

112 HCI_SETUP,
113 HCI_AUTO_OFF,
114 HCI_RFKILLED,
115 HCI_MGMT,
116 HCI_PAIRABLE,
117 HCI_SERVICE_CACHE,
118 HCI_DEBUG_KEYS,
119 HCI_DUT_MODE,
120 HCI_FORCE_SC,
121 HCI_FORCE_STATIC_ADDR,
120 HCI_UNREGISTER,
121 HCI_USER_CHANNEL,
122
123 HCI_LE_SCAN,
124 HCI_SSP_ENABLED,
122 HCI_UNREGISTER,
123 HCI_USER_CHANNEL,
124
125 HCI_LE_SCAN,
126 HCI_SSP_ENABLED,
127 HCI_SC_ENABLED,
128 HCI_SC_ONLY,
129 HCI_PRIVACY,
130 HCI_RPA_RESOLVING,
125 HCI_HS_ENABLED,
126 HCI_LE_ENABLED,
127 HCI_ADVERTISING,
128 HCI_CONNECTABLE,
129 HCI_DISCOVERABLE,
130 HCI_LIMITED_DISCOVERABLE,
131 HCI_LINK_SECURITY,
132 HCI_PERIODIC_INQ,

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

277#define LMP_EXTFEATURES 0x80
278
279/* Extended LMP features */
280#define LMP_CSB_MASTER 0x01
281#define LMP_CSB_SLAVE 0x02
282#define LMP_SYNC_TRAIN 0x04
283#define LMP_SYNC_SCAN 0x08
284
131 HCI_HS_ENABLED,
132 HCI_LE_ENABLED,
133 HCI_ADVERTISING,
134 HCI_CONNECTABLE,
135 HCI_DISCOVERABLE,
136 HCI_LIMITED_DISCOVERABLE,
137 HCI_LINK_SECURITY,
138 HCI_PERIODIC_INQ,

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

283#define LMP_EXTFEATURES 0x80
284
285/* Extended LMP features */
286#define LMP_CSB_MASTER 0x01
287#define LMP_CSB_SLAVE 0x02
288#define LMP_SYNC_TRAIN 0x04
289#define LMP_SYNC_SCAN 0x08
290
291#define LMP_SC 0x01
292#define LMP_PING 0x02
293
285/* Host features */
286#define LMP_HOST_SSP 0x01
287#define LMP_HOST_LE 0x02
288#define LMP_HOST_LE_BREDR 0x04
294/* Host features */
295#define LMP_HOST_SSP 0x01
296#define LMP_HOST_LE 0x02
297#define LMP_HOST_LE_BREDR 0x04
298#define LMP_HOST_SC 0x08
289
290/* Connection modes */
291#define HCI_CM_ACTIVE 0x0000
292#define HCI_CM_HOLD 0x0001
293#define HCI_CM_SNIFF 0x0002
294#define HCI_CM_PARK 0x0003
295
296/* Link policies */

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

302/* Link modes */
303#define HCI_LM_ACCEPT 0x8000
304#define HCI_LM_MASTER 0x0001
305#define HCI_LM_AUTH 0x0002
306#define HCI_LM_ENCRYPT 0x0004
307#define HCI_LM_TRUSTED 0x0008
308#define HCI_LM_RELIABLE 0x0010
309#define HCI_LM_SECURE 0x0020
299
300/* Connection modes */
301#define HCI_CM_ACTIVE 0x0000
302#define HCI_CM_HOLD 0x0001
303#define HCI_CM_SNIFF 0x0002
304#define HCI_CM_PARK 0x0003
305
306/* Link policies */

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

312/* Link modes */
313#define HCI_LM_ACCEPT 0x8000
314#define HCI_LM_MASTER 0x0001
315#define HCI_LM_AUTH 0x0002
316#define HCI_LM_ENCRYPT 0x0004
317#define HCI_LM_TRUSTED 0x0008
318#define HCI_LM_RELIABLE 0x0010
319#define HCI_LM_SECURE 0x0020
320#define HCI_LM_FIPS 0x0040
310
311/* Authentication types */
312#define HCI_AT_NO_BONDING 0x00
313#define HCI_AT_NO_BONDING_MITM 0x01
314#define HCI_AT_DEDICATED_BONDING 0x02
315#define HCI_AT_DEDICATED_BONDING_MITM 0x03
316#define HCI_AT_GENERAL_BONDING 0x04
317#define HCI_AT_GENERAL_BONDING_MITM 0x05

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

322#define HCI_IO_KEYBOARD_ONLY 0x02
323#define HCI_IO_NO_INPUT_OUTPUT 0x03
324
325/* Link Key types */
326#define HCI_LK_COMBINATION 0x00
327#define HCI_LK_LOCAL_UNIT 0x01
328#define HCI_LK_REMOTE_UNIT 0x02
329#define HCI_LK_DEBUG_COMBINATION 0x03
321
322/* Authentication types */
323#define HCI_AT_NO_BONDING 0x00
324#define HCI_AT_NO_BONDING_MITM 0x01
325#define HCI_AT_DEDICATED_BONDING 0x02
326#define HCI_AT_DEDICATED_BONDING_MITM 0x03
327#define HCI_AT_GENERAL_BONDING 0x04
328#define HCI_AT_GENERAL_BONDING_MITM 0x05

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

333#define HCI_IO_KEYBOARD_ONLY 0x02
334#define HCI_IO_NO_INPUT_OUTPUT 0x03
335
336/* Link Key types */
337#define HCI_LK_COMBINATION 0x00
338#define HCI_LK_LOCAL_UNIT 0x01
339#define HCI_LK_REMOTE_UNIT 0x02
340#define HCI_LK_DEBUG_COMBINATION 0x03
330#define HCI_LK_UNAUTH_COMBINATION 0x04
331#define HCI_LK_AUTH_COMBINATION 0x05
341#define HCI_LK_UNAUTH_COMBINATION_P192 0x04
342#define HCI_LK_AUTH_COMBINATION_P192 0x05
332#define HCI_LK_CHANGED_COMBINATION 0x06
343#define HCI_LK_CHANGED_COMBINATION 0x06
344#define HCI_LK_UNAUTH_COMBINATION_P256 0x07
345#define HCI_LK_AUTH_COMBINATION_P256 0x08
333/* The spec doesn't define types for SMP keys, the _MASTER suffix is implied */
334#define HCI_SMP_STK 0x80
335#define HCI_SMP_STK_SLAVE 0x81
336#define HCI_SMP_LTK 0x82
337#define HCI_SMP_LTK_SLAVE 0x83
338
346/* The spec doesn't define types for SMP keys, the _MASTER suffix is implied */
347#define HCI_SMP_STK 0x80
348#define HCI_SMP_STK_SLAVE 0x81
349#define HCI_SMP_LTK 0x82
350#define HCI_SMP_LTK_SLAVE 0x83
351
352/* Long Term Key types */
353#define HCI_LTK_UNAUTH 0x00
354#define HCI_LTK_AUTH 0x01
355
339/* ---- HCI Error Codes ---- */
340#define HCI_ERROR_AUTH_FAILURE 0x05
341#define HCI_ERROR_CONNECTION_TIMEOUT 0x08
342#define HCI_ERROR_REJ_BAD_ADDR 0x0f
343#define HCI_ERROR_REMOTE_USER_TERM 0x13
344#define HCI_ERROR_REMOTE_LOW_RESOURCES 0x14
345#define HCI_ERROR_REMOTE_POWER_OFF 0x15
346#define HCI_ERROR_LOCAL_HOST_TERM 0x16

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

655struct hci_rp_set_csb {
656 __u8 status;
657 __u8 lt_addr;
658 __le16 interval;
659} __packed;
660
661#define HCI_OP_START_SYNC_TRAIN 0x0443
662
356/* ---- HCI Error Codes ---- */
357#define HCI_ERROR_AUTH_FAILURE 0x05
358#define HCI_ERROR_CONNECTION_TIMEOUT 0x08
359#define HCI_ERROR_REJ_BAD_ADDR 0x0f
360#define HCI_ERROR_REMOTE_USER_TERM 0x13
361#define HCI_ERROR_REMOTE_LOW_RESOURCES 0x14
362#define HCI_ERROR_REMOTE_POWER_OFF 0x15
363#define HCI_ERROR_LOCAL_HOST_TERM 0x16

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

672struct hci_rp_set_csb {
673 __u8 status;
674 __u8 lt_addr;
675 __le16 interval;
676} __packed;
677
678#define HCI_OP_START_SYNC_TRAIN 0x0443
679
680#define HCI_OP_REMOTE_OOB_EXT_DATA_REPLY 0x0445
681struct hci_cp_remote_oob_ext_data_reply {
682 bdaddr_t bdaddr;
683 __u8 hash192[16];
684 __u8 randomizer192[16];
685 __u8 hash256[16];
686 __u8 randomizer256[16];
687} __packed;
688
663#define HCI_OP_SNIFF_MODE 0x0803
664struct hci_cp_sniff_mode {
665 __le16 handle;
666 __le16 max_interval;
667 __le16 min_interval;
668 __le16 attempt;
669 __le16 timeout;
670} __packed;

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

928 __le32 sync_train_tout;
929 __u8 service_data;
930} __packed;
931struct hci_rp_write_sync_train_params {
932 __u8 status;
933 __le16 sync_train_int;
934} __packed;
935
689#define HCI_OP_SNIFF_MODE 0x0803
690struct hci_cp_sniff_mode {
691 __le16 handle;
692 __le16 max_interval;
693 __le16 min_interval;
694 __le16 attempt;
695 __le16 timeout;
696} __packed;

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

954 __le32 sync_train_tout;
955 __u8 service_data;
956} __packed;
957struct hci_rp_write_sync_train_params {
958 __u8 status;
959 __le16 sync_train_int;
960} __packed;
961
962#define HCI_OP_READ_SC_SUPPORT 0x0c79
963struct hci_rp_read_sc_support {
964 __u8 status;
965 __u8 support;
966} __packed;
967
968#define HCI_OP_WRITE_SC_SUPPORT 0x0c7a
969struct hci_cp_write_sc_support {
970 __u8 support;
971} __packed;
972
973#define HCI_OP_READ_LOCAL_OOB_EXT_DATA 0x0c7d
974struct hci_rp_read_local_oob_ext_data {
975 __u8 status;
976 __u8 hash192[16];
977 __u8 randomizer192[16];
978 __u8 hash256[16];
979 __u8 randomizer256[16];
980} __packed;
981
936#define HCI_OP_READ_LOCAL_VERSION 0x1001
937struct hci_rp_read_local_version {
938 __u8 status;
939 __u8 hci_ver;
940 __le16 hci_rev;
941 __u8 lmp_ver;
942 __le16 manufacturer;
943 __le16 lmp_subver;

--- 860 unchanged lines hidden ---
982#define HCI_OP_READ_LOCAL_VERSION 0x1001
983struct hci_rp_read_local_version {
984 __u8 status;
985 __u8 hci_ver;
986 __le16 hci_rev;
987 __u8 lmp_ver;
988 __le16 manufacturer;
989 __le16 lmp_subver;

--- 860 unchanged lines hidden ---