📄 gap_ui.h
字号:
#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 + -