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

📄 hci.h

📁 Bluezan implementation of the Bluetooth&#8482 wireless standards specifications for Linux. The code
💻 H
📖 第 1 页 / 共 3 页
字号:
#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/* 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_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_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_READ_LINK_SUPERVISION_TIMEOUT	0x0036typedef struct {	uint8_t		status;	uint16_t	handle;	uint16_t	link_sup_to;} __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	link_sup_to;} __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 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;#define READ_CURRENT_IAC_LAP_RP_SIZE 2+3*MAX_IAC_LAP#define OCF_WRITE_CURRENT_IAC_LAP	0x003Atypedef struct {	uint8_t		num_current_iac;	uint8_t		lap[MAX_IAC_LAP][3];} __attribute__ ((packed)) write_current_iac_lap_cp;#define WRITE_CURRENT_IAC_LAP_CP_SIZE 1+3*MAX_IAC_LAP#define OCF_SET_AFH_CLASSIFICATION	0x003Ftypedef struct {	uint8_t		map[10];} __attribute__ ((packed)) set_afh_classification_cp;#define SET_AFH_CLASSIFICATION_CP_SIZE 10typedef struct {	uint8_t		status;} __attribute__ ((packed)) set_afh_classification_rp;#define SET_AFH_CLASSIFICATION_RP_SIZE 1#define OCF_READ_INQUIRY_SCAN_TYPE	0x0042typedef struct {	uint8_t		status;	uint8_t		type;} __attribute__ ((packed)) read_inquiry_scan_type_rp;#define READ_INQUIRY_SCAN_TYPE_RP_SIZE 2#define OCF_WRITE_INQUIRY_SCAN_TYPE	0x0043typedef struct {	uint8_t		type;} __attribute__ ((packed)) write_inquiry_scan_type_cp;#define WRITE_INQUIRY_SCAN_TYPE_CP_SIZE 1typedef struct {	uint8_t		status;} __attribute__ ((packed)) write_inquiry_scan_type_rp;#define WRITE_INQUIRY_SCAN_TYPE_RP_SIZE 1#define OCF_READ_INQUIRY_MODE		0x0044typedef struct {	uint8_t		status;	uint8_t		mode;} __attribute__ ((packed)) read_inquiry_mode_rp;#define READ_INQUIRY_MODE_RP_SIZE 2#define OCF_WRITE_INQUIRY_MODE		0x0045typedef struct {	uint8_t		mode;} __attribute__ ((packed)) write_inquiry_mode_cp;#define WRITE_INQUIRY_MODE_CP_SIZE 1typedef struct {	uint8_t		status;} __attribute__ ((packed)) write_inquiry_mode_rp;#define WRITE_INQUIRY_MODE_RP_SIZE 1#define OCF_READ_AFH_MODE		0x0048typedef struct {	uint8_t		status;	uint8_t		mode;} __attribute__ ((packed)) read_afh_mode_rp;#define READ_AFH_MODE_RP_SIZE 2#define OCF_WRITE_AFH_MODE		0x0049typedef struct {	uint8_t		mode;} __attribute__ ((packed)) write_afh_mode_cp;#define WRITE_AFH_MODE_CP_SIZE 1typedef struct {	uint8_t		status;} __attribute__ ((packed)) write_afh_mode_rp;#define WRITE_AFH_MODE_RP_SIZE 1/* Informational Parameters */#define OGF_INFO_PARAM		0x04#define OCF_READ_LOCAL_VERSION		0x0001typedef struct {	uint8_t		status;	uint8_t		hci_ver;	uint16_t	hci_rev;	uint8_t		lmp_ver;	uint16_t	manufacturer;	uint16_t	lmp_subver;} __attribute__ ((packed)) read_local_version_rp;#define READ_LOCAL_VERSION_RP_SIZE 9#define OCF_READ_LOCAL_COMMANDS		0x0002typedef struct {	uint8_t		status;	uint8_t		commands[64];} __attribute__ ((packed)) read_local_commands_rp;#define READ_LOCAL_COMMANDS_RP_SIZE 65#define OCF_READ_LOCAL_FEATURES		0x0003typedef struct {	uint8_t		status;	uint8_t		features[8];} __attribute__ ((packed)) read_local_features_rp;#define READ_LOCAL_FEATURES_RP_SIZE 9#define OCF_READ_LOCAL_EXT_FEATURES	0x0004typedef struct {	uint8_t		page_num;} __attribute__ ((packed)) read_local_ext_features_cp;#define READ_LOCAL_EXT_FEATURES_CP_SIZE 1typedef struct {	uint8_t		status;	uint8_t		page_num;	uint8_t		max_page_num;	uint8_t		features[8];} __attribute__ ((packed)) read_local_ext_features_rp;#define READ_LOCAL_EXT_FEATURES_RP_SIZE 11#define OCF_READ_BUFFER_SIZE		0x0005typedef struct {	uint8_t		status;	uint16_t	acl_mtu;	uint8_t		sco_mtu;	uint16_t	acl_max_pkt;	uint16_t	sco_max_pkt;} __attribute__ ((packed)) read_buffer_size_rp;#define READ_BUFFER_SIZE_RP_SIZE 8#define OCF_READ_BD_ADDR		0x0009typedef struct {	uint8_t		status;	bdaddr_t	bdaddr;} __attribute__ ((packed)) read_bd_addr_rp;#define READ_BD_ADDR_RP_SIZE 7/* Status params */#define OGF_STATUS_PARAM	0x05#define OCF_READ_FAILED_CONTACT_COUNTER		0x0001typedef struct {	uint8_t		status;	uint16_t	handle;	uint8_t		counter;} __attribute__ ((packed)) read_failed_contact_counter_rp;#define READ_FAILED_CONTACT_COUNTER_RP_SIZE 4#define OCF_RESET_FAILED_CONTACT_COUNTER	0x0002typedef struct {	uint8_t		status;	uint16_t	handle;} __attribute__ ((packed)) reset_failed_contact_counter_rp;#define RESET_FAILED_CONTACT_COUNTER_RP_SIZE 4#define OCF_READ_LINK_QUALITY		0x0003typedef struct {	uint8_t		status;	uint16_t	handle;	uint8_t		link_quality;} __attribute__ ((packed)) read_link_quality_rp;#define READ_LINK_QUALITY_RP_SIZE 4#define OCF_READ_RSSI			0x0005typedef struct {	uint8_t		status;	uint16_t	handle;	int8_t		rssi;} __attribute__ ((packed)) read_rssi_rp;#define READ_RSSI_RP_SIZE 4#define OCF_READ_AFH_MAP		0x0006typedef struct {	uint8_t		status;	uint16_t	handle;	uint8_t		mode;

⌨️ 快捷键说明

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