?? hci.h
字號:
#define OCF_ACCEPT_SYNC_CONN_REQ 0x0029typedef struct { bdaddr_t bdaddr; uint32_t tx_bandwith; uint32_t rx_bandwith; uint16_t max_latency; uint16_t voice_setting; uint8_t retrans_effort; uint16_t pkt_type;} __attribute__ ((packed)) accept_sync_conn_req_cp;#define ACCEPT_SYNC_CONN_REQ_CP_SIZE 21#define OCF_REJECT_SYNC_CONN_REQ 0x002Atypedef struct { bdaddr_t bdaddr; uint8_t reason;} __attribute__ ((packed)) reject_sync_conn_req_cp;#define REJECT_SYNC_CONN_REQ_CP_SIZE 7#define OCF_IO_CAPABILITY_REPLY 0x002Btypedef struct { bdaddr_t bdaddr; uint8_t capability; uint8_t oob_data; uint8_t authentication;} __attribute__ ((packed)) io_capability_reply_cp;#define IO_CAPABILITY_REPLY_CP_SIZE 9#define OCF_USER_CONFIRM_REPLY 0x002Ctypedef struct { bdaddr_t bdaddr;} __attribute__ ((packed)) user_confirm_reply_cp;#define USER_CONFIRM_REPLY_CP_SIZE 6#define OCF_USER_CONFIRM_NEG_REPLY 0x002D#define OCF_USER_PASSKEY_REPLY 0x002Etypedef struct { bdaddr_t bdaddr; uint32_t passkey;} __attribute__ ((packed)) user_passkey_reply_cp;#define USER_PASSKEY_REPLY_CP_SIZE 10#define OCF_USER_PASSKEY_NEG_REPLY 0x002F#define OCF_REMOTE_OOB_DATA_REPLY 0x0030typedef struct { bdaddr_t bdaddr; uint8_t hash[16]; uint8_t randomizer[16];} __attribute__ ((packed)) remote_oob_data_reply_cp;#define REMOTE_OOB_DATA_REPLY_CP_SIZE 38#define OCF_REMOTE_OOB_DATA_NEG_REPLY 0x0033#define OCF_IO_CAPABILITY_NEG_REPLY 0x0034typedef struct { bdaddr_t bdaddr; uint8_t reason;} __attribute__ ((packed)) io_capability_neg_reply_cp;#define IO_CAPABILITY_NEG_REPLY_CP_SIZE 7/* Link Policy */#define OGF_LINK_POLICY 0x02#define OCF_HOLD_MODE 0x0001typedef struct { uint16_t handle; uint16_t max_interval; uint16_t min_interval;} __attribute__ ((packed)) hold_mode_cp;#define HOLD_MODE_CP_SIZE 6#define OCF_SNIFF_MODE 0x0003typedef struct { uint16_t handle; uint16_t max_interval; uint16_t min_interval; uint16_t attempt; uint16_t timeout;} __attribute__ ((packed)) sniff_mode_cp;#define SNIFF_MODE_CP_SIZE 10#define OCF_EXIT_SNIFF_MODE 0x0004typedef struct { uint16_t handle;} __attribute__ ((packed)) exit_sniff_mode_cp;#define EXIT_SNIFF_MODE_CP_SIZE 2#define OCF_PARK_MODE 0x0005typedef struct { uint16_t handle; uint16_t max_interval; uint16_t min_interval;} __attribute__ ((packed)) park_mode_cp;#define PARK_MODE_CP_SIZE 6#define OCF_EXIT_PARK_MODE 0x0006typedef struct { uint16_t handle;} __attribute__ ((packed)) exit_park_mode_cp;#define EXIT_PARK_MODE_CP_SIZE 2#define OCF_QOS_SETUP 0x0007typedef struct { uint8_t service_type; /* 1 = best effort */ uint32_t token_rate; /* Byte per seconds */ uint32_t peak_bandwidth; /* Byte per seconds */ uint32_t latency; /* Microseconds */ uint32_t delay_variation; /* Microseconds */} __attribute__ ((packed)) hci_qos;#define HCI_QOS_CP_SIZE 17typedef struct { uint16_t handle; uint8_t flags; /* Reserved */ hci_qos qos;} __attribute__ ((packed)) qos_setup_cp;#define QOS_SETUP_CP_SIZE (3 + HCI_QOS_CP_SIZE)#define OCF_ROLE_DISCOVERY 0x0009typedef struct { uint16_t handle;} __attribute__ ((packed)) role_discovery_cp;#define ROLE_DISCOVERY_CP_SIZE 2typedef struct { uint8_t status; uint16_t handle; uint8_t role;} __attribute__ ((packed)) role_discovery_rp;#define ROLE_DISCOVERY_RP_SIZE 4#define OCF_SWITCH_ROLE 0x000Btypedef struct { bdaddr_t bdaddr; uint8_t role;} __attribute__ ((packed)) switch_role_cp;#define SWITCH_ROLE_CP_SIZE 7#define OCF_READ_LINK_POLICY 0x000Ctypedef struct { uint16_t handle;} __attribute__ ((packed)) read_link_policy_cp;#define READ_LINK_POLICY_CP_SIZE 2typedef struct { uint8_t status; uint16_t handle; uint16_t policy;} __attribute__ ((packed)) read_link_policy_rp;#define READ_LINK_POLICY_RP_SIZE 5#define OCF_WRITE_LINK_POLICY 0x000Dtypedef struct { uint16_t handle; uint16_t policy;} __attribute__ ((packed)) write_link_policy_cp;#define WRITE_LINK_POLICY_CP_SIZE 4typedef struct { uint8_t status; uint16_t handle;} __attribute__ ((packed)) write_link_policy_rp;#define WRITE_LINK_POLICY_RP_SIZE 3#define OCF_READ_DEFAULT_LINK_POLICY 0x000E#define OCF_WRITE_DEFAULT_LINK_POLICY 0x000F#define OCF_FLOW_SPECIFICATION 0x0010#define OCF_SNIFF_SUBRATING 0x0011typedef struct { uint16_t handle; uint16_t max_latency; uint16_t min_remote_timeout; uint16_t min_local_timeout;} __attribute__ ((packed)) sniff_subrating_cp;#define SNIFF_SUBRATING_CP_SIZE 8/* Host Controller and Baseband */#define OGF_HOST_CTL 0x03#define OCF_SET_EVENT_MASK 0x0001typedef struct { uint8_t mask[8];} __attribute__ ((packed)) set_event_mask_cp;#define SET_EVENT_MASK_CP_SIZE 8#define OCF_RESET 0x0003#define OCF_SET_EVENT_FLT 0x0005typedef struct { uint8_t flt_type; uint8_t cond_type; uint8_t condition[0];} __attribute__ ((packed)) set_event_flt_cp;#define SET_EVENT_FLT_CP_SIZE 2/* Filter types */#define FLT_CLEAR_ALL 0x00#define FLT_INQ_RESULT 0x01#define FLT_CONN_SETUP 0x02/* INQ_RESULT Condition types */#define INQ_RESULT_RETURN_ALL 0x00#define INQ_RESULT_RETURN_CLASS 0x01#define INQ_RESULT_RETURN_BDADDR 0x02/* CONN_SETUP Condition types */#define CONN_SETUP_ALLOW_ALL 0x00#define CONN_SETUP_ALLOW_CLASS 0x01#define CONN_SETUP_ALLOW_BDADDR 0x02/* CONN_SETUP Conditions */#define CONN_SETUP_AUTO_OFF 0x01#define CONN_SETUP_AUTO_ON 0x02#define OCF_FLUSH 0x0008#define OCF_READ_PIN_TYPE 0x0009typedef struct { uint8_t status; uint8_t pin_type;} __attribute__ ((packed)) read_pin_type_rp;#define READ_PIN_TYPE_RP_SIZE 2#define OCF_WRITE_PIN_TYPE 0x000Atypedef struct { uint8_t pin_type;} __attribute__ ((packed)) write_pin_type_cp;#define WRITE_PIN_TYPE_CP_SIZE 1#define OCF_CREATE_NEW_UNIT_KEY 0x000B#define OCF_READ_STORED_LINK_KEY 0x000Dtypedef struct { bdaddr_t bdaddr; uint8_t read_all;} __attribute__ ((packed)) read_stored_link_key_cp;#define READ_STORED_LINK_KEY_CP_SIZE 7typedef struct { uint8_t status; uint16_t max_keys; uint16_t num_keys;} __attribute__ ((packed)) read_stored_link_key_rp;#define READ_STORED_LINK_KEY_RP_SIZE 5#define OCF_WRITE_STORED_LINK_KEY 0x0011typedef struct { uint8_t num_keys; /* variable length part */} __attribute__ ((packed)) write_stored_link_key_cp;#define WRITE_STORED_LINK_KEY_CP_SIZE 1typedef struct { uint8_t status; uint8_t num_keys;} __attribute__ ((packed)) write_stored_link_key_rp;#define READ_WRITE_LINK_KEY_RP_SIZE 2#define OCF_DELETE_STORED_LINK_KEY 0x0012typedef struct { bdaddr_t bdaddr; uint8_t delete_all;} __attribute__ ((packed)) delete_stored_link_key_cp;#define DELETE_STORED_LINK_KEY_CP_SIZE 7typedef struct { uint8_t status; uint16_t num_keys;} __attribute__ ((packed)) delete_stored_link_key_rp;#define DELETE_STORED_LINK_KEY_RP_SIZE 3#define OCF_CHANGE_LOCAL_NAME 0x0013typedef struct { uint8_t name[248];} __attribute__ ((packed)) change_local_name_cp;#define CHANGE_LOCAL_NAME_CP_SIZE 248 #define OCF_READ_LOCAL_NAME 0x0014typedef struct { uint8_t status; uint8_t name[248];} __attribute__ ((packed)) read_local_name_rp;#define READ_LOCAL_NAME_RP_SIZE 249 #define OCF_READ_CONN_ACCEPT_TIMEOUT 0x0015typedef struct { uint8_t status; uint16_t timeout;} __attribute__ ((packed)) read_conn_accept_timeout_rp;#define READ_CONN_ACCEPT_TIMEOUT_RP_SIZE 3#define OCF_WRITE_CONN_ACCEPT_TIMEOUT 0x0016typedef struct { uint16_t timeout;} __attribute__ ((packed)) write_conn_accept_timeout_cp;#define WRITE_CONN_ACCEPT_TIMEOUT_CP_SIZE 2#define OCF_READ_PAGE_TIMEOUT 0x0017typedef struct { uint8_t status; uint16_t timeout;} __attribute__ ((packed)) read_page_timeout_rp;#define READ_PAGE_TIMEOUT_RP_SIZE 3#define OCF_WRITE_PAGE_TIMEOUT 0x0018typedef struct { uint16_t timeout;} __attribute__ ((packed)) write_page_timeout_cp;#define WRITE_PAGE_TIMEOUT_CP_SIZE 2#define OCF_READ_SCAN_ENABLE 0x0019typedef struct { uint8_t status; uint8_t enable;} __attribute__ ((packed)) read_scan_enable_rp;#define READ_SCAN_ENABLE_RP_SIZE 2#define OCF_WRITE_SCAN_ENABLE 0x001A #define SCAN_DISABLED 0x00 #define SCAN_INQUIRY 0x01 #define SCAN_PAGE 0x02#define OCF_READ_PAGE_ACTIVITY 0x001Btypedef struct { uint8_t status; uint16_t interval; uint16_t window;} __attribute__ ((packed)) read_page_activity_rp;#define READ_PAGE_ACTIVITY_RP_SIZE 5#define OCF_WRITE_PAGE_ACTIVITY 0x001Ctypedef struct { uint16_t interval; uint16_t window;} __attribute__ ((packed)) write_page_activity_cp;#define WRITE_PAGE_ACTIVITY_CP_SIZE 4#define OCF_READ_INQ_ACTIVITY 0x001Dtypedef struct { uint8_t status; uint16_t interval; uint16_t window;} __attribute__ ((packed)) read_inq_activity_rp;#define READ_INQ_ACTIVITY_RP_SIZE 5#define OCF_WRITE_INQ_ACTIVITY 0x001Etypedef struct { uint16_t interval; uint16_t window;} __attribute__ ((packed)) write_inq_activity_cp;#define WRITE_INQ_ACTIVITY_CP_SIZE 4#define OCF_READ_AUTH_ENABLE 0x001F#define OCF_WRITE_AUTH_ENABLE 0x0020 #define AUTH_DISABLED 0x00 #define AUTH_ENABLED 0x01#define OCF_READ_ENCRYPT_MODE 0x0021#define OCF_WRITE_ENCRYPT_MODE 0x0022 #define ENCRYPT_DISABLED 0x00 #define ENCRYPT_P2P 0x01 #define ENCRYPT_BOTH 0x02#define OCF_READ_CLASS_OF_DEV 0x0023typedef struct { uint8_t status; uint8_t dev_class[3];} __attribute__ ((packed)) read_class_of_dev_rp;#define READ_CLASS_OF_DEV_RP_SIZE 4 #define OCF_WRITE_CLASS_OF_DEV 0x0024typedef struct { uint8_t dev_class[3];} __attribute__ ((packed)) write_class_of_dev_cp;#define WRITE_CLASS_OF_DEV_CP_SIZE 3#define OCF_READ_VOICE_SETTING 0x0025typedef struct { uint8_t status; uint16_t voice_setting;} __attribute__ ((packed)) read_voice_setting_rp;#define READ_VOICE_SETTING_RP_SIZE 3#define OCF_WRITE_VOICE_SETTING 0x0026typedef struct { uint16_t voice_setting;} __attribute__ ((packed)) write_voice_setting_cp;#define WRITE_VOICE_SETTING_CP_SIZE 2#define OCF_READ_AUTOMATIC_FLUSH_TIMEOUT 0x0027#define OCF_WRITE_AUTOMATIC_FLUSH_TIMEOUT 0x0028#define OCF_READ_NUM_BROADCAST_RETRANS 0x0029#define OCF_WRITE_NUM_BROADCAST_RETRANS 0x002A#define OCF_READ_HOLD_MODE_ACTIVITY 0x002B#define OCF_WRITE_HOLD_MODE_ACTIVITY 0x002C#define OCF_READ_TRANSMIT_POWER_LEVEL 0x002Dtypedef struct { uint16_t handle; uint8_t type;} __attribute__ ((packed)) read_transmit_power_level_cp;#define READ_TRANSMIT_POWER_LEVEL_CP_SIZE 3typedef struct { uint8_t status; uint16_t handle; int8_t level;} __attribute__ ((packed)) read_transmit_power_level_rp;#define READ_TRANSMIT_POWER_LEVEL_RP_SIZE 4#define OCF_SET_CONTROLLER_TO_HOST_FC 0x0031#define OCF_HOST_BUFFER_SIZE 0x0033typedef struct { uint16_t acl_mtu; uint8_t sco_mtu; uint16_t acl_max_pkt; uint16_t sco_max_pkt;} __attribute__ ((packed)) host_buffer_size_cp;#define HOST_BUFFER_SIZE_CP_SIZE 7#define OCF_HOST_NUM_COMP_PKTS 0x0035typedef struct { uint8_t num_hndl; /* variable length part */} __attribute__ ((packed)) host_num_comp_pkts_cp;#define HOST_NUM_COMP_PKTS_CP_SIZE 1#define OCF_READ_LINK_SUPERVISION_TIMEOUT 0x0036typedef struct { uint8_t status; uint16_t handle; uint16_t timeout;} __attribute__ ((packed)) read_link_supervision_timeout_rp;#define READ_LINK_SUPERVISION_TIMEOUT_RP_SIZE 5#define OCF_WRITE_LINK_SUPERVISION_TIMEOUT 0x0037typedef struct { uint16_t handle; uint16_t timeout;} __attribute__ ((packed)) write_link_supervision_timeout_cp;#define WRITE_LINK_SUPERVISION_TIMEOUT_CP_SIZE 4typedef struct { uint8_t status; uint16_t handle;} __attribute__ ((packed)) write_link_supervision_timeout_rp;#define WRITE_LINK_SUPERVISION_TIMEOUT_RP_SIZE 3#define OCF_READ_NUM_SUPPORTED_IAC 0x0038#define MAX_IAC_LAP 0x40#define OCF_READ_CURRENT_IAC_LAP 0x0039typedef struct { uint8_t status; uint8_t num_current_iac; uint8_t lap[MAX_IAC_LAP][3];} __attribute__ ((packed)) read_current_iac_lap_rp;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -