@ -21,11 +21,13 @@
SOFTWARE IS DISCLAIMED .
*/
# define MGMT_INDEX_NONE 0xFFFF
struct mgmt_hdr {
__le16 opcode ;
__le16 index ;
__le16 len ;
} __packed ;
# define MGMT_HDR_SIZE 4
# define MGMT_OP_READ_VERSION 0x0001
struct mgmt_rp_read_version {
@ -40,11 +42,7 @@ struct mgmt_rp_read_index_list {
} __packed ;
# define MGMT_OP_READ_INFO 0x0004
struct mgmt_cp_read_info {
__le16 index ;
} __packed ;
struct mgmt_rp_read_info {
__le16 index ;
__u8 type ;
__u8 powered ;
__u8 connectable ;
@ -60,7 +58,6 @@ struct mgmt_rp_read_info {
} __packed ;
struct mgmt_mode {
__le16 index ;
__u8 val ;
} __packed ;
@ -74,27 +71,23 @@ struct mgmt_mode {
# define MGMT_OP_ADD_UUID 0x0009
struct mgmt_cp_add_uuid {
__le16 index ;
__u8 uuid [ 16 ] ;
__u8 svc_hint ;
} __packed ;
# define MGMT_OP_REMOVE_UUID 0x000A
struct mgmt_cp_remove_uuid {
__le16 index ;
__u8 uuid [ 16 ] ;
} __packed ;
# define MGMT_OP_SET_DEV_CLASS 0x000B
struct mgmt_cp_set_dev_class {
__le16 index ;
__u8 major ;
__u8 minor ;
} __packed ;
# define MGMT_OP_SET_SERVICE_CACHE 0x000C
struct mgmt_cp_set_service_cache {
__le16 index ;
__u8 enable ;
} __packed ;
@ -107,7 +100,6 @@ struct mgmt_key_info {
# define MGMT_OP_LOAD_KEYS 0x000D
struct mgmt_cp_load_keys {
__le16 index ;
__u8 debug_keys ;
__le16 key_count ;
struct mgmt_key_info keys [ 0 ] ;
@ -115,75 +107,60 @@ struct mgmt_cp_load_keys {
# define MGMT_OP_REMOVE_KEY 0x000E
struct mgmt_cp_remove_key {
__le16 index ;
bdaddr_t bdaddr ;
__u8 disconnect ;
} __packed ;
# define MGMT_OP_DISCONNECT 0x000F
struct mgmt_cp_disconnect {
__le16 index ;
bdaddr_t bdaddr ;
} __packed ;
struct mgmt_rp_disconnect {
__le16 index ;
bdaddr_t bdaddr ;
} __packed ;
# define MGMT_OP_GET_CONNECTIONS 0x0010
struct mgmt_cp_get_connections {
__le16 index ;
} __packed ;
struct mgmt_rp_get_connections {
__le16 index ;
__le16 conn_count ;
bdaddr_t conn [ 0 ] ;
} __packed ;
# define MGMT_OP_PIN_CODE_REPLY 0x0011
struct mgmt_cp_pin_code_reply {
__le16 index ;
bdaddr_t bdaddr ;
__u8 pin_len ;
__u8 pin_code [ 16 ] ;
} __packed ;
struct mgmt_rp_pin_code_reply {
__le16 index ;
bdaddr_t bdaddr ;
uint8_t status ;
} __packed ;
# define MGMT_OP_PIN_CODE_NEG_REPLY 0x0012
struct mgmt_cp_pin_code_neg_reply {
__le16 index ;
bdaddr_t bdaddr ;
} __packed ;
# define MGMT_OP_SET_IO_CAPABILITY 0x0013
struct mgmt_cp_set_io_capability {
__le16 index ;
__u8 io_capability ;
} __packed ;
# define MGMT_OP_PAIR_DEVICE 0x0014
struct mgmt_cp_pair_device {
__le16 index ;
bdaddr_t bdaddr ;
__u8 io_cap ;
} __packed ;
struct mgmt_rp_pair_device {
__le16 index ;
bdaddr_t bdaddr ;
__u8 status ;
} __packed ;
# define MGMT_OP_USER_CONFIRM_REPLY 0x0015
struct mgmt_cp_user_confirm_reply {
__le16 index ;
bdaddr_t bdaddr ;
} __packed ;
struct mgmt_rp_user_confirm_reply {
__le16 index ;
bdaddr_t bdaddr ;
__u8 status ;
} __packed ;
@ -204,19 +181,12 @@ struct mgmt_ev_cmd_status {
# define MGMT_EV_CONTROLLER_ERROR 0x0003
struct mgmt_ev_controller_error {
__le16 index ;
__u8 error_code ;
} __packed ;
# define MGMT_EV_INDEX_ADDED 0x0004
struct mgmt_ev_index_added {
__le16 index ;
} __packed ;
# define MGMT_EV_INDEX_REMOVED 0x0005
struct mgmt_ev_index_removed {
__le16 index ;
} __packed ;
# define MGMT_EV_POWERED 0x0006
@ -228,46 +198,39 @@ struct mgmt_ev_index_removed {
# define MGMT_EV_NEW_KEY 0x000A
struct mgmt_ev_new_key {
__le16 index ;
struct mgmt_key_info key ;
__u8 old_key_type ;
} __packed ;
# define MGMT_EV_CONNECTED 0x000B
struct mgmt_ev_connected {
__le16 index ;
bdaddr_t bdaddr ;
} __packed ;
# define MGMT_EV_DISCONNECTED 0x000C
struct mgmt_ev_disconnected {
__le16 index ;
bdaddr_t bdaddr ;
} __packed ;
# define MGMT_EV_CONNECT_FAILED 0x000D
struct mgmt_ev_connect_failed {
__le16 index ;
bdaddr_t bdaddr ;
__u8 status ;
} __packed ;
# define MGMT_EV_PIN_CODE_REQUEST 0x000E
struct mgmt_ev_pin_code_request {
__le16 index ;
bdaddr_t bdaddr ;
} __packed ;
# define MGMT_EV_USER_CONFIRM_REQUEST 0x000F
struct mgmt_ev_user_confirm_request {
__le16 index ;
bdaddr_t bdaddr ;
__le32 value ;
} __packed ;
# define MGMT_EV_AUTH_FAILED 0x0010
struct mgmt_ev_auth_failed {
__le16 index ;
bdaddr_t bdaddr ;
__u8 status ;
} __packed ;