⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hci.h

📁 这是Linux环境下的蓝牙源代码
💻 H
📖 第 1 页 / 共 4 页
字号:
#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_READ_SYNC_FLOW_ENABLE	0x002E#define OCF_WRITE_SYNC_FLOW_ENABLE	0x002F#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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -