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

📄 gap_ui.h

📁 BlueTooth SDK Source Code! I hope that everybody like it.
💻 H
📖 第 1 页 / 共 3 页
字号:

#define VM_DISABLE			        0x0000 
#define VM_LIMIT_DISCOV		        0x0002		
#define VM_GENERAL_DISCOV       	0x0003		
#define VM_PAGE				        0x0004		
#define VM_PAIR				        0x0008		
#define VM_ENCRYPT			        0x0010		
#define VM_DISCOV			        VM_GENERAL_DISCOV 
#define VM_DEFAULT			        (VM_GENERAL_DISCOV | VM_PAGE | VM_PAIR) 

/*Link key management mode*/
#define LK_APP_SAVE					0x0
#define LK_HCI_SAVE					0x1

#define PAIR_TYR_TIMES				0x2
/* used for hci 1.1 add sco connection */
#define SCO_PKT_HV1			 0x20
#define SCO_PKT_HV2			 0x40
#define SCO_PKT_HV3			 0x80
#define SCO_PKT_DV			 0x100

/*Used in the functions GAP_EnterLinkMode and GAP_ExitLinkMode */
#define ACTIVE_MODE				0
#define HOLD_MODE				1
#define SNIFF_MODE				2
#define PARK_MODE				3

#ifdef CONFIG_HCI_12
/*Inquiry Mode*/
#define INQ_RESULT_STD			0
#define INQ_RESULT_RSSI			1

/*AFH Channel Assessment Mode*/
#define CHNL_ASSESS_DIS			0
#define CHNL_ASSESS_EN			1

/*Inquiry Scan Type*/
#define INQ_SCAN_STD			0
#define INQ_SCAN_INTERLACED		1

/*Page Scan Type*/
#define PAGE_SCAN_STD			0
#define PAGE_SCAN_INTERLACED	1

/*Read Clock*/
#define LOCAL_CLOCK				0
#define PICONET_CLOCK			1

/*Setup Synchronous Connection, Accept Synchronous Connection*/
#define RETRANS_EFFORT_ONE_POWER	0x01		/* At least one retransmission, optimize for power consumption */
#define RETRANS_EFFORT_ONE_LINK		0x02		/* At least one retransmission, optimize for link quality */
#define RETRANS_EFFORT_NOT_CARE		0xFF		/* don't care */
#define MAX_LATENCY_NOT_CARE		0xFFFF		/* don't care */
#define SYNC_PKT_HV1			0x01
#define SYNC_PKT_HV2			0x02
#define SYNC_PKT_HV3			0x04
#define SYNC_PKT_EV3			0x08
#define SYNC_PKT_EV4			0x10
#define SYNC_PKT_EV5			0x20
#endif

#define EV_INQ_RESULT_IND				0x20
#ifdef CONFIG_HCI_12
typedef void(* GAP_InqResultFunc)(UCHAR *bd_addr, UCHAR *dev_class, UCHAR *rssi);
#else
typedef void(* GAP_InqResultFunc)(UCHAR *bd_addr, UCHAR *dev_class);
#endif
#define EV_AUTHORIZATION_IND			0x24
typedef void(* GAP_AuthorIndFunc)(UCHAR *bd_addr, WORD channel);

#define EV_PIN_CODE_REQ_IND				0x28
typedef void(* GAP_PinCodeReqFunc)(UCHAR *bd_addr, WORD delay); 

#define EV_LINK_KEY_REQ_IND				0x29
typedef void(* GAP_LinkKeyReqFunc)(UCHAR *bd_addr);

#define EV_LINK_KEY_NOTIF_IND			0x2A
typedef void(* GAP_LinkKeyNotifFunc)(UCHAR *bd_addr, UCHAR *link_key);

#define EV_ERROR_IND					0x2B
typedef void(* GAP_ErrorFunc)(UCHAR code);

#define EV_AUTHEN_FAILED_IND			0x2D
typedef void(* GAP_AuthFailFunc)(UCHAR *bd_addr);

#define EV_CLK_OFFSET_CFM				0x31
typedef void(* GAP_ClockOffsetCfm)(UCHAR *bd_addr, WORD clk_offset, UCHAR result);

#define EV_LINK_LOSS_IND				0x32
typedef void(* GAP_LinkLossFunc)(UCHAR *bd_addr);

#ifdef CONFIG_HCI_12
#define EV_SYNC_CONN_CFM				0x26
typedef void (GAP_SyncConnCfm)(UCHAR *bd_addr, WORD hdl, UCHAR link_type, UCHAR result);

#define EV_SYNC_DISC_IND				0x27
typedef void (GAP_SyncDiscInd)(WORD conn_hdl);

#define EV_SYNC_CONN_CHANGE_IND			0x35
typedef void (GAP_SyncConnChangeInd)(WORD conn_hdl);

#endif

/******************************************************************************
 *																   	     	  *
 *								STRUCT DEFINATION							  *
 *																			  *
 ******************************************************************************/
struct GapInquiryStru {
	UCHAR lap[3];
	UCHAR inq_len;
    UCHAR num_rsp;
};

struct GapPeriodicInqModeStru{
	WORD max_len;						/* maximum period length */
	WORD min_len;						/* minimum period length */
	char lap[3];						/* LAP */
	UCHAR inq_len;						/* inquiry length */
    UCHAR num_rsp;						/* number of responses */
};

struct GapCreateConnStru {
	UCHAR bd_addr[BD_ADDR_LEN];
    WORD pkt_type;
    UCHAR pgscan_rep_mode;
    UCHAR pgscan_mode;
    WORD clk_off;
    UCHAR role_sw; 
};

struct GapConnCompEvStru {
	UCHAR status;
	WORD conn_hdl;
	UCHAR bd_addr[BD_ADDR_LEN];
	UCHAR link_type;
	UCHAR encry_mode;
};

struct GapDisconnStru {
	WORD conn_hdl;
	UCHAR reason;
};

struct GapDisconnCompEvStru {
	UCHAR status;
    WORD conn_hdl;
	UCHAR reason;
};

struct GapAddScoConnStru {
	WORD conn_hdl;
	WORD pkt_type;
};

struct GapAcceptConnReqStru {
	UCHAR bd_addr[BD_ADDR_LEN];
	UCHAR role;
};

struct GapRejectConnReqStru {
	UCHAR bd_addr[BD_ADDR_LEN];
	UCHAR reason;
};

struct GapLinkKeyStru {
	UCHAR bd_addr[BD_ADDR_LEN];
	UCHAR link_key[MAX_LINK_KEY_LEN];
};

struct GapLinkKeyNegStru {
	UCHAR bd_addr[BD_ADDR_LEN];
};

struct GapLinkKeyOutStru {
	UCHAR status;
	UCHAR bd_addr[BD_ADDR_LEN];
};

struct GapPinCodeStru {
	UCHAR bd_addr[BD_ADDR_LEN];
    UCHAR pin_len;
	UCHAR pin[MAX_PIN_CODE_LEN];
};

struct GapPinCodeNegStru {
	UCHAR bd_addr[BD_ADDR_LEN];
};

struct GapPinCodeOutStru {
	UCHAR status;
	UCHAR bd_addr[BD_ADDR_LEN];
};

struct GapChangePacketTypeStru {
	WORD conn_hdl;
	WORD pkt_type;
};

struct GapPacketChangeEvStru {
	UCHAR status;
	WORD conn_hdl;
	WORD pkt_type;
};

struct GapAuthCompEvStru {
	UCHAR status;
	WORD  conn_hdl;
};

struct GapSetConnEncryStru {
	WORD conn_hdl;
	UCHAR encry;
};

struct GapEncryChangeEvStru {
	UCHAR status;
	WORD conn_hdl;
	UCHAR encry;
};

struct GapChangeLinkKeyEvStru {
	UCHAR status;
	WORD conn_hdl;
};

struct GapMasterLinkKeyStru {
	UCHAR key_flag;
};

struct GapMasterLinkKeyEvStru {
	UCHAR status;
	WORD conn_hdl;
	UCHAR key_flag;
};

struct GapRemNameReqStru {
	UCHAR bd_addr[BD_ADDR_LEN];
	UCHAR scan_rep_mode;
    UCHAR scan_mode;
	WORD clk_off;
};

struct GapRemNameReqCompEvStru {
    UCHAR status;
	UCHAR bd_addr[BD_ADDR_LEN];
	UCHAR rem_name[MAX_NAME_LEN];
};

struct GapReadRemFeatureCompEvStru {
	UCHAR status;
	WORD conn_hdl;
	UCHAR feature[LMP_FEATURE_LEN];
};

struct GapReadRemVerInfoCompEvStru {
	UCHAR status;
	WORD conn_hdl;
	UCHAR lmp_ver;
	WORD manu_name;
	WORD lmp_subver;
};

struct GapReadClkOffsetCompEvStru {
	UCHAR status;
	WORD conn_hdl;
	WORD offset;
};

struct GapHoldModeStru {
	WORD conn_hdl;
	WORD max;
	WORD min;
};

struct GapSniffModeStru {
	WORD conn_hdl;
	WORD max;
	WORD min;
	WORD attempt;
	WORD timeout;
};

struct GapParkModeStru {
	WORD conn_hdl;
	WORD max;
	WORD min;
};

struct GapModeChangeEvStru {
	UCHAR status;
	WORD conn_hdl;
	UCHAR current_mode;
	WORD interval;
};

struct GapQosSetupStru {
	WORD conn_hdl;
	UCHAR flags;
	UCHAR service_type;
	DWORD token_rate;
	DWORD peak_bandwidth;
	DWORD latency;
	DWORD delay_variation;
};

struct GapQosSetupCompEvStru {
	UCHAR status;
	WORD conn_hdl;
	UCHAR flags;
	UCHAR service_type;
	DWORD token_rate;
	DWORD peak_bandwidth;
	DWORD latency;
	DWORD delay_variation;
};

struct GapRoleDiscoveryOutStru {
	UCHAR status;
	WORD conn_hdl;					/* acl connection handle */
	UCHAR current_role;				/* local device role for this acl connection: ROLE_MASTER or ROLE_SLAVE*/
};

struct GapSwitchRoleStru {
	UCHAR bd_addr[BD_ADDR_LEN];		/* remote device baseband address */
	UCHAR role;						/* ROLE_SLAVE or ROLE_MASTER that local device wants to be */
};

struct GapRoleChangeEvStru {
	UCHAR status;
	UCHAR bd_addr[BD_ADDR_LEN];
	UCHAR role;
};

struct GapReadLPSettingOutStru {
	UCHAR status;
	WORD conn_hdl;
	WORD setting;
};

struct GapWriteLPSettingStru {
	WORD conn_hdl;
	WORD setting;
};

struct GapWriteLPSettingOutStru {
	UCHAR status;
	WORD conn_hdl;
};

struct GapSetEvMaskStru {
	UCHAR mask[EV_MASK_LEN];
};

struct GapSetEvFilterStru{
	UCHAR type;						
	UCHAR cond_type;				
	UCHAR cls_dev[CLS_DEV_LEN];		
	UCHAR cls_dev_mask[CLS_DEV_LEN];	
	UCHAR bd_addr[BD_ADDR_LEN];		
	UCHAR auto_accept;				
};

struct GapFlushOutStru {
	UCHAR status;
	WORD conn_hdl;
};

struct GapReadPinTypeOutStru {
	UCHAR status;
	UCHAR pin_type;
};

struct GapWritePinTypeStru {
	UCHAR pin_type;
};

struct GapReadStoredKeyStru {
	UCHAR bd_addr[BD_ADDR_LEN];
	UCHAR flag;
};

struct GapReadStoredKeyOutStru {
	UCHAR status;
	WORD max_num_keys;
	WORD num_keys_read;
};

struct StoredKeyStru {
	UCHAR bd_addr[BD_ADDR_LEN];
	UCHAR link_key[MAX_LINK_KEY_LEN];
};

struct GapWriteStoredKeyStru {
	DWORD num;
	struct StoredKeyStru keys[MAX_KEYS_NUM];
};

struct GapWriteStoredKeyOutStru {
	UCHAR status;
	UCHAR num_written;
};

struct GapDelStoredKeyStru {
	UCHAR bd_addr[BD_ADDR_LEN];
	UCHAR flag;
};

struct GapDelStoredKeyOutStru {
	UCHAR status;
	WORD num;
};

struct GapChangeNameStru {
	UCHAR name[MAX_NAME_LEN];
};

struct GapReadNameOutStru {
	UCHAR status;
	UCHAR name[MAX_NAME_LEN];
};

struct GapReadConnTimeOutStru {
	UCHAR status;
	WORD timeout;
};

struct GapWriteConnTimeStru {
	WORD timeout;
};

struct GapReadPageTimeOutStru {
	UCHAR status;
	WORD timeout;
};

struct GapWritePageTimeStru {
	WORD timeout;
};

struct GapReadScanEnOutStru {
	UCHAR status;
	UCHAR enable;
};

struct GapWriteScanEnStru {
	UCHAR enable;
};

struct GapReadPageScanActOutStru {
	UCHAR status;
	WORD interval;
	WORD windows;
};

struct GapWritePageScanActStru {
	WORD interval;
	WORD window;
};

struct GapReadInqScanActOutStru {
	UCHAR status;
	WORD interval;
	WORD window;
};

struct GapWriteInqScanActStru {
	WORD interval;
	WORD window;
};

struct GapReadAuthEnOutStru {
	UCHAR status;
	UCHAR enable;
};

struct GapWriteAuthEnStru {
	UCHAR enable;
};

⌨️ 快捷键说明

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