TI BLE5-Stack API Documentation  2.02.00.00
gap.h
Go to the documentation of this file.
1 /******************************************************************************
2 
3  Group: WCS, BTS
4  $Target Device: DEVICES $
5 
6  ******************************************************************************
7  $License: TISD 2009 $
8  ******************************************************************************
9  $Release Name: PACKAGE NAME $
10  $Release Date: PACKAGE RELEASE DATE $
11  *****************************************************************************/
12 
21 #ifndef GAP_H
22 #define GAP_H
23 
24 #ifdef __cplusplus
25 extern "C"
26 {
27 #endif
28 
29 /*-------------------------------------------------------------------
30  * INCLUDES
31  */
32 #include <stdbool.h>
33 #include "bcomdef.h"
34 #include "osal.h"
35 #include "sm.h"
36 #include "ll_ae.h"
37 
38 /*-------------------------------------------------------------------
39  * MACROS
40  */
42 #ifndef status_t
43  #define status_t bStatus_t
44 #endif
45 
55 #define GAP_IS_ADDR_RPR(pAddr) ((pAddr[B_ADDR_LEN-1] & RANDOM_ADDR_HDR_MASK) \
56  == PRIVATE_RESOLVE_ADDR_HDR)
57 
66 #define GAP_IS_ADDR_RPN(pAddr) ((pAddr[B_ADDR_LEN-1] & RANDOM_ADDR_HDR_MASK) \
67  == PRIVATE_NON_RESOLVE_ADDR_HDR)
68 
77 #define GAP_IS_ADDR_RS(pAddr) ((pAddr[B_ADDR_LEN-1] & RANDOM_ADDR_HDR_MASK) \
78  == STATIC_ADDR_HDR)
79 
83 #define GAP_IS_ADDR_RAND(pAddr) (GAP_IS_ADDR_RPR(pAddr) | \
84  GAP_IS_ADDR_RPN(pAddr) | \
85  GAP_IS_ADDR_RS(pAddr))
86 
87 /*-------------------------------------------------------------------
88  * CONSTANTS
89  */
90 
107 #define GAP_DEVICE_INIT_DONE_EVENT 0x00
108 
111 #define GAP_LINK_ESTABLISHED_EVENT 0x05
112 
115 #define GAP_LINK_TERMINATED_EVENT 0x06
116 
121 #define GAP_LINK_PARAM_UPDATE_EVENT 0x07
122 
128 #define GAP_SIGNATURE_UPDATED_EVENT 0x09
129 
134 #define GAP_AUTHENTICATION_COMPLETE_EVENT 0x0A
135 
140 #define GAP_PASSKEY_NEEDED_EVENT 0x0B
141 
147 #define GAP_SLAVE_REQUESTED_SECURITY_EVENT 0x0C
148 
153 #define GAP_BOND_COMPLETE_EVENT 0x0E
154 
160 #define GAP_PAIRING_REQ_EVENT 0x0F
161 
167 #define GAP_AUTHENTICATION_FAILURE_EVT 0x10
168 
174 #define GAP_UPDATE_LINK_PARAM_REQ_EVENT 0x11
175 #define GAP_SCAN_SESSION_END_EVENT 0x12
177 #define GAP_ADV_REMOVE_SET_EVENT 0x13
179 
182 #define GAP_CONNECTING_CANCELLED_EVENT 0x15
183 
187 #define GAP_BOND_LOST_EVENT 0x17
188 
193 #define GAP_LINK_PARAM_UPDATE_REJECT_EVENT 0x18
194 
198 #define GAP_ADV_SET_PERIODIC_ADV_PARAMS_EVENT 0x19
200 #define GAP_ADV_SET_PERIODIC_ADV_DATA_EVENT 0x1A
202 #define GAP_ADV_SET_PERIODIC_ADV_ENABLE_EVENT 0x1B
204 
208 #define GAP_SCAN_CREATE_SYNC_EVENT 0x1C
209 
213 #define GAP_SCAN_SYNC_CANCEL_EVENT 0x1D
215 #define GAP_SCAN_TERMINATE_SYNC_EVENT 0x1E
217 #define GAP_SCAN_PERIODIC_RECEIVE_EVENT 0x1F
219 #define GAP_SCAN_ADD_DEVICE_ADV_LIST_EVENT 0x20
221 #define GAP_SCAN_REMOVE_DEVICE_ADV_LIST_EVENT 0x21
223 #define GAP_SCAN_READ_ADV_LIST_SIZE_EVENT 0x22
225 #define GAP_SCAN_CLEAR_ADV_LIST_EVENT 0x23
227 
231 #define GAP_SCAN_PERIODIC_ADV_SYNC_EST_EVENT 0x24
232 
236 #define GAP_SCAN_PERIODIC_ADV_SYNC_LOST_EVENT 0x25
237 
241 #define GAP_SCAN_PERIODIC_ADV_REPORT_EVENT 0x26
242 
258 #define GAP_EVT_ADV_START_AFTER_ENABLE (uint32_t)BV(0)
259 
264 #define GAP_EVT_ADV_END_AFTER_DISABLE (uint32_t)BV(1)
265 
271 #define GAP_EVT_ADV_START (uint32_t)BV(2)
272 
278 #define GAP_EVT_ADV_END (uint32_t)BV(3)
279 
285 #define GAP_EVT_ADV_SET_TERMINATED (uint32_t)BV(4)
286 
291 #define GAP_EVT_SCAN_REQ_RECEIVED (uint32_t)BV(5)
292 
298 #define GAP_EVT_ADV_DATA_TRUNCATED (uint32_t)BV(6)
299 #define GAP_EVT_SCAN_ENABLED (uint32_t)BV(16)
301 
307 #define GAP_EVT_SCAN_DISABLED (uint32_t)BV(17)
308 
313 #define GAP_EVT_SCAN_PRD_ENDED (uint32_t)BV(18)
314 #define GAP_EVT_SCAN_DUR_ENDED (uint32_t)BV(19)
316 
321 #define GAP_EVT_SCAN_INT_ENDED (uint32_t)BV(20)
322 #define GAP_EVT_SCAN_WND_ENDED (uint32_t)BV(21)
324 
330 #define GAP_EVT_ADV_REPORT (uint32_t)BV(22)
331 
336 #define GAP_EVT_ADV_REPORT_FULL (uint32_t)BV(23)
337 
344 #define GAP_EVT_PRD_ADV_SYNC_ESTABLISHED (uint32_t)BV(24)
345 
351 #define GAP_EVT_PRD_ADV_REPORT (uint32_t)BV(25)
352 
358 #define GAP_EVT_PRD_ADV_SYNC_LOST (uint32_t)BV(26)
359 #define GAP_EVT_INSUFFICIENT_MEMORY (uint32_t)BV(31)
362 
364 #define GAP_EVT_ADV_EVT_MASK (GAP_EVT_ADV_START_AFTER_ENABLE | \
365  GAP_EVT_ADV_END_AFTER_DISABLE | \
366  GAP_EVT_ADV_START | \
367  GAP_EVT_ADV_END | \
368  GAP_EVT_ADV_SET_TERMINATED | \
369  GAP_EVT_SCAN_REQ_RECEIVED | \
370  GAP_EVT_ADV_DATA_TRUNCATED | \
371  GAP_EVT_INSUFFICIENT_MEMORY)
372 
374 #define GAP_EVT_SCAN_EVT_MASK (GAP_EVT_SCAN_ENABLED | \
375  GAP_EVT_SCAN_DISABLED | \
376  GAP_EVT_SCAN_PRD_ENDED | \
377  GAP_EVT_SCAN_DUR_ENDED | \
378  GAP_EVT_SCAN_INT_ENDED | \
379  GAP_EVT_SCAN_WND_ENDED | \
380  GAP_EVT_ADV_REPORT | \
381  GAP_EVT_ADV_REPORT_FULL | \
382  GAP_EVT_PRD_ADV_SYNC_ESTABLISHED | \
383  GAP_EVT_PRD_ADV_REPORT | \
384  GAP_EVT_PRD_ADV_SYNC_LOST | \
385  GAP_EVT_INSUFFICIENT_MEMORY)
386 
403 typedef enum
404 {
423 
442 
444  GAP_CONFIG_PARAM_COUNT
447 
454 {
463 
477 
489 
499 
508 
517 
519 
523  GAP_PARAM_AUTH_TASK_ID,
524 
529  GAP_PARAM_DEPRECATED,
530 
538  GAP_PARAM_GGS_PARAMS,
539 
540 #if defined ( TESTMODES )
541 
544  GAP_PARAM_GAP_TESTCODE,
545 
549  GAP_PARAM_SM_TESTCODE,
550 
554  GAP_PARAM_GATT_TESTCODE,
555 
559  GAP_PARAM_ATT_TESTCODE,
560 
565  GAP_PARAM_L2CAP_TESTCODE,
566 
576  GAP_PARAM_SET_SCAN_CHAN_TESTCODE,
577 
578 #endif // TESTMODES
579 
586  GAP_STUB1_NOT_TESTCODE,
587 
594  GAP_STUB2_NOT_TESTCODE,
595 
602  GAP_STUB3_NOT_TESTCODE,
603 
610  GAP_STUB4_NOT_TESTCODE,
611 
618  GAP_STUB5_NOT_TESTCODE,
619 
629  GAP_PARAM_SET_SCAN_CHAN,
630 
634  GAP_PARAMID_MAX
636 };
637 
651 #define GAP_PROFILE_BROADCASTER 0x01
653 #define GAP_PROFILE_OBSERVER 0x02
655 
659 #define GAP_PROFILE_PERIPHERAL 0x04
660 
664 #define GAP_PROFILE_CENTRAL 0x08
665 
672 typedef enum
673 {
676 
682 
684 typedef enum
685 {
693 
695 typedef enum
696 {
699  ADDRTYPE_PUBLIC_ID = 0x02,
707 
709 typedef enum
710 {
714 
719 #define SET_ADDRTYPE_ID 0x02
721 #define MASK_ADDRTYPE_ID 0x01
723 
729 #define RANDOM_ADDR_HDR_MASK 0xC0
731 #define STATIC_ADDR_HDR 0xC0
733 #define PRIVATE_NON_RESOLVE_ADDR_HDR 0x80
735 #define PRIVATE_RESOLVE_ADDR_HDR 0x40
737 
745 #define GAP_ADTYPE_FLAGS 0x01
747 #define GAP_ADTYPE_16BIT_MORE 0x02
749 #define GAP_ADTYPE_16BIT_COMPLETE 0x03
751 #define GAP_ADTYPE_32BIT_MORE 0x04
753 #define GAP_ADTYPE_32BIT_COMPLETE 0x05
755 #define GAP_ADTYPE_128BIT_MORE 0x06
757 #define GAP_ADTYPE_128BIT_COMPLETE 0x07
759 #define GAP_ADTYPE_LOCAL_NAME_SHORT 0x08
761 #define GAP_ADTYPE_LOCAL_NAME_COMPLETE 0x09
763 #define GAP_ADTYPE_POWER_LEVEL 0x0A
765 #define GAP_ADTYPE_OOB_CLASS_OF_DEVICE 0x0D
767 #define GAP_ADTYPE_OOB_SIMPLE_PAIRING_HASHC 0x0E
769 #define GAP_ADTYPE_OOB_SIMPLE_PAIRING_RANDR 0x0F
771 #define GAP_ADTYPE_SM_TK 0x10
773 #define GAP_ADTYPE_SM_OOB_FLAG 0x11
775 
779 #define GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE 0x12
780 #define GAP_ADTYPE_SIGNED_DATA 0x13
782 #define GAP_ADTYPE_SERVICES_LIST_16BIT 0x14
784 #define GAP_ADTYPE_SERVICES_LIST_128BIT 0x15
786 #define GAP_ADTYPE_SERVICE_DATA 0x16
788 #define GAP_ADTYPE_PUBLIC_TARGET_ADDR 0x17
790 #define GAP_ADTYPE_RANDOM_TARGET_ADDR 0x18
792 #define GAP_ADTYPE_APPEARANCE 0x19
794 #define GAP_ADTYPE_ADV_INTERVAL 0x1A
796 #define GAP_ADTYPE_LE_BD_ADDR 0x1B
798 #define GAP_ADTYPE_LE_ROLE 0x1C
800 #define GAP_ADTYPE_SIMPLE_PAIRING_HASHC_256 0x1D
802 #define GAP_ADTYPE_SIMPLE_PAIRING_RANDR_256 0x1E
804 #define GAP_ADTYPE_SERVICE_DATA_32BIT 0x20
806 #define GAP_ADTYPE_SERVICE_DATA_128BIT 0x21
808 #define GAP_ADTYPE_3D_INFO_DATA 0x3D
810 
814 #define GAP_ADTYPE_MANUFACTURER_SPECIFIC 0xFF
815 #define GAP_ADTYPE_FLAGS_LIMITED 0x01
817 #define GAP_ADTYPE_FLAGS_GENERAL 0x02
819 #define GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED 0x04
821 
827 #define GAP_STATE_IDLE 0x00
828 #define GAP_STATE_ADV 0x01
829 #define GAP_STATE_SCAN 0x02
830 #define GAP_STATE_INIT 0x04
831 
837 #define GAP_APPEARE_UNKNOWN 0x0000
838 #define GAP_APPEARE_GENERIC_PHONE 0x0040
839 #define GAP_APPEARE_GENERIC_COMPUTER 0x0080
840 #define GAP_APPEARE_GENERIC_WATCH 0x00C0
841 #define GAP_APPEARE_WATCH_SPORTS 0x00C1
842 #define GAP_APPEARE_GENERIC_CLOCK 0x0100
843 #define GAP_APPEARE_GENERIC_DISPLAY 0x0140
844 #define GAP_APPEARE_GENERIC_RC 0x0180
845 #define GAP_APPEARE_GENERIC_EYE_GALSSES 0x01C0
846 #define GAP_APPEARE_GENERIC_TAG 0x0200
847 #define GAP_APPEARE_GENERIC_KEYRING 0x0240
848 #define GAP_APPEARE_GENERIC_MEDIA_PLAYER 0x0280
849 #define GAP_APPEARE_GENERIC_BARCODE_SCANNER 0x02C0
850 #define GAP_APPEARE_GENERIC_THERMOMETER 0x0300
851 #define GAP_APPEARE_GENERIC_THERMO_EAR 0x0301
852 #define GAP_APPEARE_GENERIC_HR_SENSOR 0x0340
853 #define GAP_APPEARE_GENERIC_HRS_BELT 0x0341
854 #define GAP_APPEARE_GENERIC_BLOOD_PRESSURE 0x0380
855 #define GAP_APPEARE_GENERIC_BP_ARM 0x0381
856 #define GAP_APPEARE_GENERIC_BP_WRIST 0x0382
857 #define GAP_APPEARE_GENERIC_HID 0x03C0
858 #define GAP_APPEARE_HID_KEYBOARD 0x03C1
859 #define GAP_APPEARE_HID_MOUSE 0x03C2
860 #define GAP_APPEARE_HID_JOYSTIC 0x03C3
861 #define GAP_APPEARE_HID_GAMEPAD 0x03C4
862 #define GAP_APPEARE_HID_DIGITIZER_TYABLET 0x03C5
863 #define GAP_APPEARE_HID_DIGITAL_CARDREADER 0x03C6
864 #define GAP_APPEARE_HID_DIGITAL_PEN 0x03C7
865 #define GAP_APPEARE_HID_BARCODE_SCANNER 0x03C8
866 
872 #define GAP_PRIVACY_MODE_NETWORK 0
873 #define GAP_PRIVACY_MODE_DEVICE 1
874 
879 typedef enum
880 {
885 
889 typedef enum
890 {
892  GAP_CONN_EVT_STAT_SUCCESS = LL_CONN_EVT_STAT_SUCCESS,
894  GAP_CONN_EVT_STAT_CRC_ERROR = LL_CONN_EVT_STAT_CRC_ERROR,
896  GAP_CONN_EVT_STAT_MISSED = LL_CONN_EVT_STAT_MISSED
898 
902 typedef enum
903 {
905  GAP_CONN_EVT_TASK_TYPE_ADV = LL_TASK_ID_ADVERTISER,
907  GAP_CONN_EVT_TASK_TYPE_INIT = LL_TASK_ID_INITIATOR,
909  GAP_CONN_EVT_TASK_TYPE_SLAVE = LL_TASK_ID_SLAVE,
911  GAP_CONN_EVT_TASK_TYPE_SCAN = LL_TASK_ID_SCANNER,
913  GAP_CONN_EVT_TASK_TYPE_MASTER = LL_TASK_ID_MASTER,
914  // No task
915  GAP_CONN_EVT_TASK_TYPE_NONE = LL_TASK_ID_NONE
917 
921 typedef enum
922 {
926 
929 /*-------------------------------------------------------------------
930  * TYPEDEFS
931  */
932 
938 typedef struct
940 {
942  uint8_t opcode;
943 } gapEventHdr_t;
944 
951 typedef struct
952 {
954  uint16_t intervalMin;
956  uint16_t intervalMax;
958  uint16_t latency;
960  uint16_t timeout;
962 
970 typedef struct
971 {
973  uint8_t opcode;
974  uint8_t numDataPkts;
975  uint16_t dataPktLen;
976  uint8_t devAddr[B_ADDR_LEN];
978 
991 typedef struct
992 {
994  uint8_t opcode;
995  uint8_t addrType;
996  uint8_t devAddr[B_ADDR_LEN];
997  uint32_t signCounter;
999 
1005 typedef struct
1006 {
1007  uint16_t connectionHandle;
1008  uint16_t intervalMin;
1009  uint16_t intervalMax;
1010  uint16_t connLatency;
1011  uint16_t connTimeout;
1014 
1020 typedef struct
1021 {
1022  uint16_t connectionHandle;
1023  uint16_t intervalMin;
1024  uint16_t intervalMax;
1025  uint16_t connLatency;
1026  uint16_t connTimeout;
1028  uint8_t accepted;
1030 
1037 typedef struct
1038 {
1040  uint8_t opcode;
1043 
1060 typedef struct
1061 {
1063  uint8_t opcode;
1064  uint8_t devAddrType;
1065  uint8_t devAddr[B_ADDR_LEN];
1066  uint16_t connectionHandle;
1067  uint8_t connRole;
1068  uint16_t connInterval;
1069  uint16_t connLatency;
1070  uint16_t connTimeout;
1071  uint8_t clockAccuracy;
1073 
1080 typedef struct
1081 {
1083  uint8_t opcode;
1084  uint8_t status;
1085  uint16_t connectionHandle;
1086  uint16_t connInterval;
1087  uint16_t connLatency;
1088  uint16_t connTimeout;
1090 
1096 typedef struct
1097 {
1099  uint8_t opcode;
1100  uint16_t connectionHandle;
1101  uint8_t reason;
1103 
1112 typedef struct
1113 {
1115  uint8_t opcode;
1116  uint8_t deviceAddr[B_ADDR_LEN];
1117  uint16_t connectionHandle;
1118  uint8_t uiInputs;
1119  uint8_t uiOutputs;
1120  uint32_t numComparison;
1122 
1130 typedef struct
1131 {
1133  uint8_t opcode;
1134  uint16_t connectionHandle;
1135  uint8_t authState;
1141 
1146 typedef struct
1147 {
1148  uint16_t connectionHandle;
1150 } gapAuthParams_t;
1151 
1159 typedef struct
1160 {
1162  uint8_t opcode;
1163  uint16_t connectionHandle;
1164  uint8_t deviceAddr[B_ADDR_LEN];
1165 
1170  uint8_t authReq;
1172 
1181 typedef struct
1182 {
1184  uint8_t opcode;
1185  uint16_t connectionHandle;
1187 
1192 typedef struct
1193 {
1194  uint8_t ioCap;
1195  uint8_t oobDataFlag;
1196  uint8_t authReq;
1197  uint8_t maxEncKeySize;
1199 } gapPairingReq_t;
1200 
1212 typedef struct
1213 {
1215  uint8_t opcode;
1216  uint16_t connectionHandle;
1219 
1223 typedef struct
1224 {
1225  GAP_ConnEvtStat_t status;
1226  uint16_t handle;
1227  uint8_t channel;
1229  int8_t lastRssi;
1230  uint16_t packets;
1233  uint16_t errors;
1235  GAP_ConnEvtTaskType_t nextTaskType;
1237  uint32_t nextTaskTime;
1239 
1247 typedef struct
1248 {
1250  uint8_t opcode;
1251  uint16_t connectionHandle;
1252  uint8_t deviceAddr[B_ADDR_LEN];
1254 
1257 /*-------------------------------------------------------------------
1258  * CALLBACKS
1259  */
1260 
1266 typedef uint8_t(*pfnSuppCentAddrRes_t)
1269  uint8_t *deviceAddr,
1270  GAP_Peer_Addr_Types_t addrType
1271 );
1272 
1273 //TODO try to move these to gap_internal.h
1274 
1276 typedef void (*pfnGapIdleCB_t)();
1277 
1279 typedef uint8_t(*pfnGapDevPrivModeCB_t)
1281  GAP_Peer_Addr_Types_t addrType,
1282  uint8_t *pAddr
1283 );
1284 
1286 typedef struct
1287 {
1291 } gapBondMgrCBs_t;
1292 
1305 typedef void (*pfnGapCB_t)
1307  uint32_t event,
1308  void *pBuf,
1309  uintptr_t arg
1310 );
1311 
1326 typedef void (*pfnGapConnEvtCB_t)
1329  Gap_ConnEventRpt_t *pReport
1330 );
1331 
1334 /*-------------------------------------------------------------------
1335  * FUNCTIONS - Initialization and Configuration
1336  */
1337 
1368 extern bStatus_t GAP_DeviceInit(uint8_t profileRole, uint8_t taskID,
1369  GAP_Addr_Modes_t addrMode,
1370  uint8_t* pRandomAddr);
1371 
1402 extern bStatus_t GAP_DeviceInit_noGAPBondMgr(uint8_t profileRole, uint8_t taskID,
1403  GAP_Addr_Modes_t addrMode,
1404  uint8_t* pRandomAddr);
1405 
1417 extern bStatus_t GAP_SetParamValue(uint16_t paramID, uint16_t paramValue);
1418 
1427 extern uint16_t GAP_GetParamValue(uint16_t paramID);
1428 
1437 extern void GAP_RegisterForMsgs(uint8_t taskID);
1438 
1444 extern void GAP_RegisterBondMgrCBs(gapBondMgrCBs_t *pCBs);
1445 
1463  uint8_t *pAddr, uint8_t mode);
1464 
1465 /*-------------------------------------------------------------------
1466  * FUNCTIONS - Link Establishment
1467  */
1468 
1483 extern bStatus_t GAP_TerminateLinkReq(uint16_t connectionHandle, uint8_t reason);
1484 
1507 
1532  *pParams);
1533 
1539 extern uint8_t GAP_NumActiveConnections(void);
1540 
1567  GAP_CB_Action_t action,
1568  uint16_t connHandle);
1569 
1570 /*-------------------------------------------------------------------
1571  * FUNCTIONS - GAP Configuration
1572  */
1573 
1589 extern bStatus_t GapConfig_SetParameter(Gap_configParamIds_t param,
1590  void *pValue);
1591 
1601 extern uint8_t *GAP_GetDevAddress(uint8 wantIA);
1602 
1612 extern uint8_t *GAP_GetIRK(void);
1613 
1623 extern uint8_t *GAP_GetSRK(void);
1624 
1625 /*-------------------------------------------------------------------
1626  * FUNCTIONS - Pairing
1627  */
1628 
1660  gapPairingReq_t *pPairReq);
1661 
1671 extern uint8_t GAP_isPairing(void);
1672 
1690 extern bStatus_t GAP_TerminateAuth(uint16_t connectionHandle, uint8_t reason);
1691 
1713 extern bStatus_t GAP_PasskeyUpdate(uint8_t *pPasskey, uint16_t connectionHandle);
1714 
1732 extern bStatus_t GAP_PasscodeUpdate(uint32_t passcode, uint16_t connectionHandle);
1733 
1750 extern bStatus_t GAP_SendSlaveSecurityRequest(uint16_t connectionHandle,
1751  uint8_t authReq);
1752 
1770 extern bStatus_t GAP_Signable(uint16_t connectionHandle, uint8_t authenticated,
1771  smSigningInfo_t *pParams);
1772 
1795 extern bStatus_t GAP_Bond(uint16_t connectionHandle, uint8_t authenticated,
1796  uint8_t secureConnections, smSecurityInfo_t *pParams,
1797  uint8_t startEncryption);
1798 
1799 /*-------------------------------------------------------------------
1800  * TASK FUNCTIONS - To only be used in osal_icall_ble.c
1801  */
1802 
1810 extern void GAP_Init(uint8_t task_id);
1811 
1822 extern uint16_t GAP_ProcessEvent(uint8_t task_id, uint16_t events);
1823 
1824 /*-------------------------------------------------------------------
1825 -------------------------------------------------------------------*/
1826 
1827 #ifdef __cplusplus
1828 }
1829 #endif
1830 
1831 #endif /* GAP_H */
1832 
uint8_t(* pfnSuppCentAddrRes_t)(uint8_t *deviceAddr, GAP_Peer_Addr_Types_t addrType)
Central Address Resolution (CAR) Support Callback Function.
Definition: gap.h:1268
Definition: gap.h:476
bStatus_t Gap_RegisterConnEventCb(pfnGapConnEvtCB_t cb, GAP_CB_Action_t action, uint16_t connHandle)
GAP_Addr_Types_t
Address types used for identifying peer address type.
Definition: gap.h:695
osal_event_hdr_t hdr
GAP_MSG_EVENT and status
Definition: gap.h:993
uint8_t * GAP_GetDevAddress(uint8 wantIA)
This API allows the software components in the Z-Stack to be written independently of the specifics o...
GAP_Peer_Addr_Types_t
Address types used for specifying peer address type.
Definition: gap.h:709
uint8_t addrType
Device&#39;s address type for devAddr.
Definition: gap.h:995
void(* pfnGapConnEvtCB_t)(Gap_ConnEventRpt_t *pReport)
Definition: gap.h:1327
This file contains the interface to the SM.
No address provided.
Definition: gap.h:705
2 MBPS
Definition: gap.h:882
Definition: sm.h:194
Definition: gap.h:498
uint8_t opcode
GAP_BOND_COMPLETE_EVENT
Definition: gap.h:1184
smSecurityInfo_t * pSecurityInfo
security information from this device
Definition: gap.h:1136
Random (static) Identity Address (corresponds to peer&#39;s RPA)
Definition: gap.h:702
Definition: gap.h:1146
bStatus_t GAP_TerminateAuth(uint16_t connectionHandle, uint8_t reason)
osal_event_hdr_t hdr
GAP_MSG_EVENT and status
Definition: gap.h:1161
Connection event in slave role.
Definition: gap.h:909
smSigningInfo_t * pSigningInfo
Signing information.
Definition: gap.h:1137
uint16_t handle
connection handle
Definition: gap.h:1226
GAP_ConnEvtTaskType_t
Definition: gap.h:902
osal_event_hdr_t hdr
GAP_MSG_EVENT and status
Definition: gap.h:972
Definition: gap.h:698
Definition: gap.h:1247
Deny all parameter update requests.
Definition: gap.h:675
bStatus_t GAP_SetParamValue(uint16_t paramID, uint16_t paramValue)
Definition: gap.h:1112
GAP_CB_Action_t
Definition: gap.h:921
osal_event_hdr_t hdr
GAP_MSG_EVENT and status
Definition: gap.h:941
Gap_configParamIds_t
Definition: gap.h:403
Definition: gap.h:951
Definition: gap.h:970
Definition: gap.h:1223
uint8_t maxEncKeySize
Pairing Request Maximum Encryption Key Size field.
Definition: gap.h:1197
Definition: gap.h:1159
uint8_t opcode
GAP_DEVICE_INIT_DONE_EVENT
Definition: gap.h:973
uint16_t connectionHandle
connection Handle
Definition: gap.h:1216
Register a callback.
Definition: gap.h:923
Connection event occurred successfully.
Definition: gap.h:892
GAP_ConnEvtStat_t status
status of connection event
Definition: gap.h:1225
GAP event header format.
Definition: gap.h:939
Definition: gap.h:1181
uint16_t timeout
Connection Timeout (0x000A - 0x0C80 * 10 ms)
Definition: gap.h:960
GAP_ConnEvtTaskType_t nextTaskType
Type of next BLE task.
Definition: gap.h:1235
Definition: gap.h:680
uint16_t dataPktLen
HC_LE_Data_Packet_Length.
Definition: gap.h:975
Definition: gap.h:687
Definition: gap.h:1212
int8_t lastRssi
Definition: gap.h:1229
uint16_t intervalMin
Minimum value for the connection event (interval. 0x0006 - 0x0C80 * 1.25 ms)
Definition: gap.h:954
1 MBPS
Definition: gap.h:881
uint8_t uiInputs
Pairing User Interface Inputs - Ask user to input passcode.
Definition: gap.h:1118
osal_event_hdr_t hdr
GAP_MSG_EVENT and status
Definition: gap.h:1183
GAP_ConnEvtStat_t
Definition: gap.h:889
bStatus_t GAP_TerminateLinkReq(uint16_t connectionHandle, uint8_t reason)
Random Device Address (controller unable to resolve)
Definition: gap.h:704
osal_event_hdr_t hdr
GAP_MSG_EVENT and status
Definition: gap.h:1114
bStatus_t GAP_UpdateLinkParamReq(gapUpdateLinkParamReq_t *pParams)
void GAP_RegisterForMsgs(uint8_t taskID)
keyDist_t keyDist
Pairing Request Key Distribution field.
Definition: gap.h:1198
uint8_t channel
BLE RF channel index (0-39)
Definition: gap.h:1227
uint8_t ioCap
Pairing Request ioCap field.
Definition: gap.h:1194
uint16_t connectionHandle
connection Handle
Definition: gap.h:1185
GAP_ConnEvtPhy_t
Definition: gap.h:879
Definition: gap.h:991
Definition: sm.h:148
osal_event_hdr_t hdr
GAP_MSG_EVENT and status
Definition: gap.h:1249
Gap_updateDecision_t
Definition: gap.h:672
Public Identity Address (corresponds to peer&#39;s RPA)
Definition: gap.h:700
uint8_t opcode
GAP_SIGNATURE_UPDATED_EVENT
Definition: gap.h:994
void(* pfnGapCB_t)(uint32_t event, void *pBuf, uintptr_t arg)
Definition: gap.h:1306
smIdentityInfo_t * pIdentityInfo
identity information
Definition: gap.h:1139
uint8_t * GAP_GetIRK(void)
Definition: sm.h:205
uint8_t authReq
Definition: gap.h:1170
void GAP_RegisterBondMgrCBs(gapBondMgrCBs_t *pCBs)
bStatus_t GAP_Bond(uint16_t connectionHandle, uint8_t authenticated, uint8_t secureConnections, smSecurityInfo_t *pParams, uint8_t startEncryption)
uint8_t uiOutputs
Pairing User Interface Outputs - Display passcode.
Definition: gap.h:1119
uint16_t connectionHandle
Connection handle.
Definition: gap.h:1117
uint16_t GAP_ProcessEvent(uint8_t task_id, uint16_t events)
Coded-S2 or Coded-S8.
Definition: gap.h:883
smLinkSecurityReq_t secReqs
Pairing Control info.
Definition: gap.h:1149
bStatus_t GAP_SendSlaveSecurityRequest(uint16_t connectionHandle, uint8_t authReq)
uint16_t GAP_GetParamValue(uint16_t paramID)
bStatus_t GAP_PasscodeUpdate(uint32_t passcode, uint16_t connectionHandle)
Always Use Resolvable Private Address with Random Identity Address.
Definition: gap.h:691
pfnSuppCentAddrRes_t suppCentAddrResCB
Supports Central Address Resolution.
Definition: gap.h:1288
Definition: gap.h:516
uint16_t errors
Total number of CRC errors for the entire connection.
Definition: gap.h:1233
osal_event_hdr_t hdr
GAP_MSG_EVENT and status
Definition: gap.h:1132
Type definitions and macros for BLE stack.
uint32_t numComparison
Numeric Comparison value to be displayed.
Definition: gap.h:1120
osal_event_hdr_t hdr
GAP_MSG_EVENT and status
Definition: gap.h:1214
uint16_t latency
Number of LL latency connection events (0x0000 - 0x03e8)
Definition: gap.h:958
uint8_t opcode
GAP_PAIRING_REQ_EVENT
Definition: gap.h:1215
No data was received during connection event.
Definition: gap.h:896
Public Device Address.
Definition: gap.h:697
smSecurityInfo_t * pDevSecInfo
security information from connected device
Definition: gap.h:1138
uint8_t GAP_NumActiveConnections(void)
Initiating a connection.
Definition: gap.h:907
void(* pfnGapIdleCB_t)()
GAP Idle Callback Function.
Definition: gap.h:1276
Definition: sm.h:215
uint8_t opcode
GAP_SLAVE_REQUESTED_SECURITY_EVENT
Definition: gap.h:1162
Definition: gap.h:488
Definition: gap.h:507
Can be used by the application to set the SRK.
Definition: gap.h:441
OSAL Event Header.
Definition: osal.h:92
Connection event failed because all packets had CRC errors.
Definition: gap.h:894
Gap_ParamIDs_t
Definition: gap.h:453
Always Use Public Address.
Definition: gap.h:686
bStatus_t GAP_UpdateLinkParamReqReply(gapUpdateLinkParamReqReply_t *pParams)
Can be used by the application to set the IRK.
Definition: gap.h:422
uint8_t opcode
GAP_PASSKEY_NEEDED_EVENT
Definition: gap.h:1115
Advertiser.
Definition: gap.h:905
bStatus_t GAP_DeviceInit(uint8_t profileRole, uint8_t taskID, GAP_Addr_Modes_t addrMode, uint8_t *pRandomAddr)
Definition: gap.h:462
uint8_t(* pfnGapDevPrivModeCB_t)(GAP_Peer_Addr_Types_t addrType, uint8_t *pAddr)
GAP Device Privacy Mode Callback Function.
Definition: gap.h:1280
uint8_t authState
TRUE if the pairing was authenticated (MITM)
Definition: gap.h:1135
void GAP_Init(uint8_t task_id)
uint8_t opcode
GAP type of command. GAP Event IDs.
Definition: gap.h:942
#define B_ADDR_LEN
Default Public and Random Address Length.
Definition: bcomdef.h:108
uint8_t opcode
GAP_BOND_LOST_EVENT
Definition: gap.h:1250
uint8_t numDataPkts
HC_Total_Num_LE_Data_Packets.
Definition: gap.h:974
Definition: gap.h:1130
Callback Registration Structure.
Definition: gap.h:1286
uint8_t GAP_isPairing(void)
uint8_t authReq
Pairing Request Auth Req field.
Definition: gap.h:1196
uint32_t nextTaskTime
Time to next BLE task (in us). 0xFFFFFFFF if there is no next task.
Definition: gap.h:1237
uint8_t * GAP_GetSRK(void)
uint16_t intervalMax
Maximum value for the connection event (interval. 0x0006 - 0x0C80 * 1.25 ms)
Definition: gap.h:956
pfnGapIdleCB_t gapIdleCB
GAP Idle callback.
Definition: gap.h:1289
uint8_t opcode
GAP_AUTHENTICATION_COMPLETE_EVENT
Definition: gap.h:1133
GAP_ConnEvtPhy_t phy
PHY of connection event.
Definition: gap.h:1228
uint8_t oobDataFlag
Pairing Request OOB Data Flag field.
Definition: gap.h:1195
uint16_t connectionHandle
Connection Handle from controller used to ref the device.
Definition: gap.h:1134
Status_t bStatus_t
BLE Generic Status return.
Definition: bcomdef.h:251
Random or Random ID Address.
Definition: gap.h:712
Accept all parameter update requests.
Definition: gap.h:674
bStatus_t GAP_DeviceInit_noGAPBondMgr(uint8_t profileRole, uint8_t taskID, GAP_Addr_Modes_t addrMode, uint8_t *pRandomAddr)
uint16_t connectionHandle
Connection Handle.
Definition: gap.h:1251
bStatus_t GAP_SetPrivacyMode(GAP_Peer_Addr_Types_t addrType, uint8_t *pAddr, uint8_t mode)
Definition: gap.h:1192
bStatus_t GapConfig_SetParameter(Gap_configParamIds_t param, void *pValue)
bStatus_t GAP_Signable(uint16_t connectionHandle, uint8_t authenticated, smSigningInfo_t *pParams)
Connection event in master role.
Definition: gap.h:913
Always Use Resolvable Private Address with Public Identity Address.
Definition: gap.h:689
bStatus_t GAP_PasskeyUpdate(uint8_t *pPasskey, uint16_t connectionHandle)
gapPairingReq_t pairReq
The Pairing Request fields received.
Definition: gap.h:1217
Scanner.
Definition: gap.h:911
Public or Public ID Address.
Definition: gap.h:711
bStatus_t GAP_Authenticate(gapAuthParams_t *pParams, gapPairingReq_t *pPairReq)
uint32_t signCounter
new Signed Counter
Definition: gap.h:997
uint16_t connectionHandle
Connection Handle.
Definition: gap.h:1163
Unregister a callback
Definition: gap.h:924
GAP_Addr_Modes_t
Address modes to initialize the local device.
Definition: gap.h:684
pfnGapDevPrivModeCB_t gapDevPrivModeCB
GAP Device Privacy Mode callback.
Definition: gap.h:1290
uint16_t connectionHandle
Connection Handle from controller,.
Definition: gap.h:1148
© Copyright 1995-2021, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale