InPlay API
in_ble_gap.h
1 
13 #ifndef IN_BLE_GAP_H
14 #define IN_BLE_GAP_H
15 
25 #include <stdint.h>
26 #include <stdbool.h>
27 /*
28  * DEFINES
29  ****************************************************************************************
30  */
31 
33 #define BLE_BDADDR_LEN (6)
34 #define BLE_CHNL_MAP_LEN (0x05)
36 #define BLE_FEATS_LEN (0x08)
38 #define BLE_ADV_DATA_LEN (0x1F)
40 #define BLE_SCAN_RSP_DATA_LEN (0x1F)
41 #define BLE_RAND_NB_LEN (0x08)
43 #define BLE_KEY_LEN (16)
45 #define BLE_P256_KEY_LEN (0x20)
47 
49 #define GAP_CNX_INTERVAL_MIN 6 //(0x06)
50 #define GAP_CNX_INTERVAL_MAX 3200 //(0xC80)
52 #define GAP_CNX_LATENCY_MIN 0 //(0x00)
54 #define GAP_CNX_LATENCY_MAX 499 //(0x1F3)
56 #define GAP_CNX_SUP_TO_MIN 10 //(0x0A)
58 #define GAP_CNX_SUP_TO_MAX 3200 //(0xC80)
60 
62 #define ADDR_PRAND_LEN (3)
63 #define ADDR_HASH_LEN (3)
65 
66 /*
67  * DEFINES - Optional for BLE application usage
68  ****************************************************************************************
69  */
70 
74 #define GAP_TMR_CONN_PAUSE_CT 0x0064
75 
79 #define GAP_TMR_CONN_PAUSE_PH 0x01F4
80 
84 #define GAP_TMR_SCAN_FAST_PERIOD 0x0C00
85 
89 #define GAP_TMR_ADV_FAST_PERIOD 0x0BB8
90 
95 #define GAP_LIM_DISC_SCAN_INT 0x0012
96 
100 #define GAP_SCAN_FAST_INTV 0x0030
101 
105 #define GAP_SCAN_FAST_WIND 0x0030
106 
110 #define GAP_SCAN_SLOW_INTV1 0x00CD
111 
115 #define GAP_SCAN_SLOW_INTV2 0x019A
116 
120 #define GAP_SCAN_SLOW_WIND1 0x0012
121 
125 #define GAP_SCAN_SLOW_WIND2 0x0024
126 
130 #define GAP_ADV_FAST_INTV1 0x0030
131 
135 #define GAP_ADV_FAST_INTV2 0x0064
136 
140 #define GAP_ADV_SLOW_INTV 0x00B0
141 
145 #define GAP_INIT_CONN_MIN_INTV 0x0018
146 #define GAP_INIT_CONN_MAX_INTV 0x0028
147 
150 #define GAP_CONN_SUPERV_TIMEOUT 0x07D0
151 
154 #define GAP_CONN_MIN_CE 0x0000
155 
158 #define GAP_CONN_MAX_CE 0xFFFF
159 
162 #define GAP_CONN_LATENCY 0x0000
163 
168 #define GAP_APPEARANCE 0x0000
169 
171 #define GAP_PPCP_CONN_INTV_MAX 0x0064
172 #define GAP_PPCP_CONN_INTV_MIN 0x00C8
173 #define GAP_PPCP_SLAVE_LATENCY 0x0000
174 #define GAP_PPCP_STO_MULT 0x07D0
175 
176 /*
177  * Enumerations
178  ****************************************************************************************
179  */
182 {
197  AD_TYPE_SHORTENED_NAME = 0x08,
199  AD_TYPE_COMPLETE_NAME = 0x09,
201  AD_TYPE_TRANSMIT_POWER = 0x0A,
205  AD_TYPE_SP_HASH_C = 0x0E,
209  AD_TYPE_TK_VALUE = 0x10,
211  AD_TYPE_OOB_FLAGS = 0x11,
227  AD_TYPE_PUB_TGT_ADDR = 0x17,
229  AD_TYPE_RAND_TGT_ADDR = 0x18,
231  AD_TYPE_APPEARANCE = 0x19,
233  AD_TYPE_ADV_INTV = 0x1A,
235  AD_TYPE_LE_BT_ADDR = 0x1B,
237  AD_TYPE_LE_ROLE = 0x1C,
239  AD_TYPE_SPAIR_HASH = 0x1D,
241  AD_TYPE_SPAIR_RAND = 0x1E,
243  AD_TYPE_3D_INFO = 0x3D,
245 
248 };
249 
252 {
254  STATIC_ADDR = 0xC0,
258  RSLV_ADDR = 0x40,
259 };
260 
263 {
265  ROLE_NONE = 0x00,
266 
269 
272 
275 
278 
281 };
282 
285 {
296  IO_CAP_LAST
297 };
298 
301 {
303  TK_OOB = 0x00,
308 };
309 
312 {
317  OOB_AUTH_DATA_LAST
318 };
319 
322 {
326  AUTH_BOND = (1 << 0),
328  AUTH_MITM = (1 << 2),
330  AUTH_SEC_CON = (1 << 3),
332  AUTH_KEY_NOTIF = (1 << 4)
333 };
334 
337 {
346 };
347 
350 {
365  AUTH_REQ_LAST,
366 
369 };
370 
373 {
375  KDIST_NONE = 0x00,
377  KDIST_ENCKEY = (1 << 0),
379  KDIST_IDKEY = (1 << 1),
381  KDIST_SIGNKEY= (1 << 2),
383  KDIST_LINKKEY= (1 << 3),
384 
385  KDIST_LAST = (1 << 4)
386 };
387 
390 {
392  NO_SEC = 0x00,
403 };
404 
407 {
409  PHY_ANY = 0x00,
411  PHY_LE_1MBPS = (1 << 0),
413  PHY_LE_2MBPS = (1 << 1),
415  PHY_LE_CODED = (1 << 2),
416 };
417 
420 {
429 };
430 
433 {
434  TEST_MODE_STOP = 1,
435  TEST_MODE_RX,
436  TEST_MODE_TX,
437 };
438 
441 {
452 };
453 
456 {
461 };
462 
465 {
482 };
483 
486 {
490  PRIV_CFG_RSVD = (1 << 1),
493 };
494 
497 {
501  PAIRING_LEGACY = (1 << 0),
503  PAIRING_SEC_CON = (1 << 1),
504 
507 };
508 
511 {
522 };
523 
548 };
549 
552 {
561 };
562 
565 {
576 };
577 
580 {
591 };
592 
595 {
602 };
603 
604 
607 {
616 };
617 
620 {
632  ADV_PROP_HDC = 0x08,
646 };
647 
650 {
667 };
668 
671 {
686 };
687 
690 {
695 };
696 
699 {
708 };
709 
712 {
713  CHANNEL_37 = 0x01,
714  CHANNEL_38 = 0x02,
715  CHANNEL_39 = 0x04,
716 };
717 
720 {
727 };
728 
731 {
733  GEN_DISC = 0,
744 };
745 
748 {
761 };
762 
765 {
772 };
773 
776 {
785 };
786 
789 {
791  INIT_PROP_1M = 0x01,
793  INIT_PROP_2M = 0x02,
796 };
797 
800 {
806 };
807 
816 };
817 
830 };
831 
834 {
839 
844 
853 
856 
859 
862 };
863 
866 {
883 };
884 
901 };
902 
903 
905 /*@TRACE*/
907 {
918 };
919 /*************** GAP Structures ********************/
920 
922 typedef struct
923 {
925  uint16_t length;
927  uint8_t value[249];
929 
931 typedef struct {
933  uint8_t hci_ver;
935  uint8_t lmp_ver;
937  uint8_t host_ver;
939  uint16_t hci_subver;
941  uint16_t lmp_subver;
943  uint16_t host_subver;
945  uint16_t manuf_name;
947 
949 typedef struct
950 {
952  uint16_t compid;
954  uint16_t lmp_subvers;
956  uint8_t lmp_vers;
958 
960 typedef struct
961 {
963  uint8_t features[BLE_FEATS_LEN];
965 
967 typedef struct {
973 
975 typedef struct {
985 
987 typedef struct
988 {
990  int8_t min_tx_pwr;
992  int8_t max_tx_pwr;
993 } ble_tx_pwr_t;
994 
995 
997 typedef struct
998 {
1000  uint16_t con_intv_min;
1002  uint16_t con_intv_max;
1004  uint16_t slave_latency;
1006  uint16_t conn_timeout;
1007 } ble_slv_pref_t;
1008 
1010 typedef struct
1011 {
1013  uint8_t addr[BLE_BDADDR_LEN];
1014 } ble_addr_t;
1015 
1017 typedef struct
1018 {
1020  uint8_t map[BLE_CHNL_MAP_LEN];
1021 } ble_chnl_map_t;
1022 
1023 
1025 typedef struct
1026 {
1028  uint8_t nb[BLE_RAND_NB_LEN];
1029 } ble_rnd_nb_t;
1030 
1032 typedef struct
1033 {
1035  uint8_t x[BLE_P256_KEY_LEN];
1037  uint8_t y[BLE_P256_KEY_LEN];
1038 } ble_pub_key_t;
1039 
1041 typedef struct
1042 {
1046  uint8_t addr_type;
1047 } ble_bdaddr_t;
1048 
1050 typedef struct
1051 {
1055  uint8_t priv_mode;
1057  uint8_t peer_irk[BLE_KEY_LEN];
1059  uint8_t local_irk[BLE_KEY_LEN];
1061 
1063 typedef struct
1064 {
1068  uint8_t adv_sid;
1070 
1072 typedef struct
1073 {
1075  uint8_t key[BLE_KEY_LEN];
1076 } ble_sec_key_t;
1077 
1079 typedef struct
1080 {
1084  uint16_t ediv;
1088  uint8_t key_size;
1089 } ble_ltk_t;
1090 
1092 typedef struct
1093 {
1098 } ble_irk_t;
1099 
1101 typedef struct
1102 {
1104  uint8_t info;
1105 
1108 } ble_bond_auth_t;
1109 
1111 typedef struct
1112 {
1114  uint8_t conf[BLE_KEY_LEN];
1116  uint8_t rand[BLE_KEY_LEN];
1117 } ble_oob_t;
1118 
1120 typedef struct
1121 {
1123  uint8_t value[4];
1124 } ble_nc_t;
1125 
1127 typedef struct
1128 {
1130  uint8_t iocap;
1132  uint8_t oob;
1134  uint8_t auth;
1136  uint8_t key_size;
1138  uint8_t ikey_dist;
1140  uint8_t rkey_dist;
1142  uint8_t sec_req;
1143 } ble_pairing_t;
1144 
1146 typedef struct
1147 {
1149  uint8_t tx_phy;
1151  uint8_t rx_phy;
1152 } ble_phy_ind_t;
1153 
1154 
1156 typedef struct {
1160  uint8_t channel;
1162  uint8_t tx_data_length;
1164  uint8_t tx_pkt_payload;
1166  uint8_t phy;
1168  uint8_t modulation_idx;
1169 } ble_test_mode_t;
1170 
1172 typedef struct
1173 {
1175  uint8_t role;
1176 
1179  uint16_t renew_dur;
1180 
1183 
1186 
1188  uint8_t privacy_cfg;
1189 
1191 
1193  uint8_t pairing_mode;
1194 
1196 
1198  uint16_t gap_start_hdl;
1199 
1201  uint16_t gatt_start_hdl;
1202 
1212 
1218 
1221  uint16_t max_mtu;
1223  uint16_t max_mps;
1225  uint8_t max_nb_lecb;
1226 
1229  uint8_t tx_pref_phy;
1231  uint8_t rx_pref_phy;
1232 
1234 
1236 typedef union {
1242  int8_t adv_tx_pwr;
1248  uint8_t list_size;
1250  uint8_t nb_adv_sets;
1252  uint16_t max_adv_len;
1256 
1258 typedef struct
1259 {
1263  uint8_t nb_key;
1267 
1269 typedef struct
1270 {
1276 
1278 typedef struct
1279 {
1281  uint8_t key[BLE_KEY_LEN];
1283  uint8_t plain_text[BLE_KEY_LEN];
1284 } ble_aes_enc_t;
1285 
1287 typedef struct
1288 {
1290  uint16_t lepsm;
1292  uint8_t sec_lvl;
1296 
1298 typedef struct
1299 {
1303  int opcode;
1307 
1309 typedef struct
1310 {
1312  uint8_t size;
1314  ble_bdaddr_t wl_info[];
1315 } ble_wl_param_t;
1316 
1318 typedef struct
1319 {
1321  uint8_t size;
1323  ble_ral_dev_info_t ral_info[];
1324 } ble_ral_param_t;
1325 
1327 typedef struct
1328 {
1330  uint8_t size;
1332  ble_pal_dev_info_t pal_info[];
1333 } ble_pal_param_t;
1334 
1337 {
1339  uint32_t adv_intv_min;
1341  uint32_t adv_intv_max;
1343  uint8_t chnl_map;
1346  uint8_t phy;
1347 };
1348 
1351 {
1354  uint8_t max_skip;
1356  uint8_t phy;
1358  uint8_t adv_sid;
1359 };
1360 
1363 {
1365  uint16_t adv_intv_min;
1367  uint16_t adv_intv_max;
1368 };
1369 
1371 typedef struct
1372 {
1374  uint8_t type;
1376  uint8_t disc_mode;
1378  uint16_t prop;
1380  int8_t max_tx_pwr;
1382  uint8_t filter_pol;
1386  struct adv_prim_cfg prim_cfg;
1388  struct adv_second_cfg second_cfg;
1390  struct adv_period_cfg period_cfg;
1392 
1394 typedef struct
1395 {
1401  int option;
1406  uint8_t own_addr_type;
1410 
1412 typedef struct {
1414  uint16_t duration;
1417  uint8_t max_adv_evt;
1418 } ble_adv_start_t;
1419 
1422 {
1424  uint16_t scan_intv;
1426  uint16_t scan_wd;
1427 };
1428 
1430 typedef struct
1431 {
1433  uint8_t type;
1435  uint8_t prop;
1437  uint8_t dup_filt_pol;
1439  struct scan_wd_op_param scan_param_1m;
1441  struct scan_wd_op_param scan_param_coded;
1444  uint16_t duration;
1447  uint16_t period;
1449  uint8_t chn;
1451 
1454 {
1457  uint16_t conn_intv_min;
1460  uint16_t conn_intv_max;
1462  uint16_t conn_latency;
1464  uint16_t supervision_to;
1465 };
1466 
1468 typedef struct
1469 {
1471  uint8_t type;
1473  uint8_t prop;
1476  uint16_t conn_tmo;
1478  struct scan_wd_op_param scan_param_1m;
1480  struct scan_wd_op_param scan_param_coded;
1482  struct conn_param conn_param_1m;
1484  struct conn_param conn_param_2m;
1486  struct conn_param conn_param_coded;
1490 
1493 {
1497  uint8_t adv_sid;
1498 };
1499 
1501 typedef struct
1502 {
1504  uint8_t type;
1506  uint16_t skip;
1508  uint16_t sync_tmo;
1510  struct period_adv_addr_cfg adv_addr;
1512 
1514 typedef struct {
1520  int option;
1521  union {
1530  } u;
1532 
1534 typedef struct
1535 {
1539  uint32_t lsign_counter;
1543  uint32_t rsign_counter;
1545  uint8_t auth;
1550 } ble_conn_cfm_t;
1551 
1553 typedef union {
1557  uint16_t apperance;
1567  int8_t rssi;
1571  uint16_t ping_timeout;
1575  uint8_t chan_sel_algo;
1577 
1579 typedef struct
1580 {
1582  uint16_t intv_min;
1584  uint16_t intv_max;
1586  uint16_t latency;
1588  uint16_t time_out;
1590 
1592 typedef struct
1593 {
1595  uint8_t found;
1599  uint8_t key_size;
1601 
1602 
1604 typedef struct
1605 {
1607  uint8_t request;
1608 
1610  uint8_t accept;
1611 
1612  union {
1625  } u;
1626 } ble_bond_cfm_t;
1627 
1629 typedef struct
1630 {
1632  uint8_t tx_phy;
1634  uint8_t rx_phy;
1636  uint8_t phy_opt;
1638 
1640 typedef struct
1641 {
1644  uint16_t tx_octets;
1647  uint16_t tx_time;
1649 
1651 typedef struct
1652 {
1654  uint16_t max_tx_octets;
1656  uint16_t max_tx_time;
1658  uint16_t max_rx_octets;
1660  uint16_t max_rx_time;
1662 
1663 typedef struct {
1665  uint8_t sec_lvl;
1668  uint16_t start_hdl;
1670  uint32_t param[];
1671 } ble_add_prf_t;
1672 
1673 
1675 /*@TRACE*/
1676 typedef struct {
1681  uint8_t req;
1683  union {
1685  //@trc_union parent.req == GAPC_DEV_NAME
1688  //@trc_union parent.req == GAPC_DEV_APPEARANCE
1689  uint16_t appearance;
1691  //@trc_union parent.req == GAPC_DEV_SLV_PREF_PARAMS
1694  //@trc_union parent.req == GAPC_DEV_CTL_ADDR_RESOL
1695  uint8_t ctl_addr_resol;
1696  } u;
1698 
1699 
1700 typedef struct{
1704  uint8_t req;
1705 
1707  uint8_t status;
1708 } ble_set_dev_info_cfm_t;
1709 
1710 
1711 /*
1712  ****************************************************************************************
1713  * functions
1714  ****************************************************************************************
1715  */
1716 
1727 int in_ble_reset(void *hdl, comp_cb callback);
1728 
1729 
1742 int in_ble_get_chn_assess(void *hdl, int chn, int8_t *level, uint32_t * timestamp);
1743 
1754 int in_ble_test(void *hdl, ble_test_mode_t *p_test, uint16_t *nb_rx_packet, comp_cb callback);
1755 
1765 int in_ble_set_dev_config(void *hdl, ble_set_dev_config_t *p_cfg, comp_cb callback);
1766 
1777 int in_ble_get_dev_info(void *hdl, int cmd, ble_local_dev_info_t *p_info, comp_cb callback);
1778 
1789 int in_ble_set_chn_map(void *hdl, ble_chnl_map_t *p_chn_map, comp_cb callback);
1790 
1801 int in_ble_resolve_addr(void *hdl, ble_rnd_addr_resolve_t *p_rnd_addr, ble_rnd_addr_solved_t *p_addr, comp_cb callback);
1802 
1813 int in_ble_gen_random_addr(void *hdl, int rnd_addr_type, ble_bdaddr_t *p_rnd_addr, comp_cb callback);
1814 
1825 int in_ble_aes_enc(void *hdl, ble_aes_enc_t *p_enc, uint8_t *p_enc_res, comp_cb callback);
1826 
1837 int in_ble_get_pub_key(void *hdl, int renew, ble_pub_key_t* p_pub_key, comp_cb callback);
1838 
1839 
1840 
1850 int in_ble_gen_random_nb(void *hdl, ble_rnd_nb_t *p_rnd_nb, comp_cb callback);
1851 
1862 int in_ble_set_irk(void *hdl, ble_sec_key_t *p_irk, comp_cb callback);
1863 
1874 int in_ble_register_lepsm(void *hdl, ble_lepsm_param_t *p_psm, comp_cb callback);
1875 
1885 int in_ble_unregister_lepsm(void *hdl, uint32_t psm, comp_cb callback);
1886 
1897 int in_ble_get_ral_addr(void *hdl, ble_get_ral_addr_t *p_ral_addr, ble_bdaddr_t *p_addr, comp_cb callback);
1898 
1909 int in_ble_set_white_list(void *hdl, ble_wl_param_t *p_wlist, comp_cb callback);
1910 
1921 int in_ble_set_ral_list(void *hdl, ble_ral_param_t *p_ral, comp_cb callback);
1922 
1933 int in_ble_set_pal_list(void *hdl, ble_pal_param_t *p_pal, comp_cb callback);
1934 
1945 int in_ble_actv_create(void *hdl, ble_actv_create_t *p_act, int *p_actv_idx, comp_cb callback);
1946 
1962 int in_ble_actv_start(void *hdl, int actv_idx, ble_actv_start_t *p_start, comp_cb callback);
1963 
1983 int in_ble_actv_data(void *hdl, int actv_idx, int option, uint8_t *data, uint32_t data_len, comp_cb callback);
1984 
1994 int in_ble_actv_stop(void *hdl, int actv_idx, comp_cb callback);
1995 
2005 int in_ble_actv_del(void *hdl, int actv_idx, comp_cb callback);
2006 
2019 int in_ble_conn_cfm(void *hdl, int conidx, ble_conn_cfm_t *p_cfm);
2020 
2033 int in_ble_conn_disconnect(void *hdl, int conidx, uint32_t reason, comp_cb callback);
2034 
2057 int in_ble_conn_get_peer_info(void *hdl, int conidx, int option, ble_conn_peer_info_t *p_peer_info, comp_cb callback);
2058 
2070 int in_ble_conn_param_update(void *hdl, int conidx, ble_conn_param_update_t *p_upd, comp_cb callback);
2071 
2083 int in_ble_conn_param_update_cfm(void *hdl, int conidx, bool accept);
2084 
2096 int in_ble_conn_req_encrypt(void *hdl, int conidx, ble_ltk_t *p_ltk, comp_cb callback);
2097 
2108 int in_ble_conn_req_encrypt_cfm(void *hdl, int conidx, ble_conn_encrypt_cfm_t *p_cfm);
2109 
2121 int in_ble_conn_req_security(void *hdl, int conidx, int auth, comp_cb callback);
2122 
2133 int in_ble_conn_set_ping_tmo(void *hdl, int conidx, uint32_t timeout, comp_cb callback);
2134 
2146 int in_ble_conn_set_pkt_size(void *hdl, uint8_t conidx, ble_pref_le_pkt_size_t *p_pref_pkt_size, ble_le_pkt_size_t *p_pkt_size, comp_cb callback);
2147 
2159 int in_ble_conn_bond(void *hdl, int conidx, ble_pairing_t *p_bond, comp_cb callback);
2160 
2172 int in_ble_conn_bond_cfm(void *hdl, int conidx, ble_bond_cfm_t *p_cfm);
2173 
2185 int in_ble_conn_set_pref_phy(void *hdl, int conidx, ble_conn_pref_phy_t *p_phy, ble_phy_ind_t *p_phy_ind, comp_cb callback);
2186 
2197 int in_ble_conn_keypress_notify(void *hdl, int conidx, int key_state, comp_cb callback);
2198 
2209 int in_ble_conn_get_dev_info_cfm(void *hdl, int conidx, ble_get_dev_info_cfm_t *p_cfm);
2210 
2211 int in_ble_conn_set_dev_info_cfm(void *hdl, int conidx, ble_set_dev_info_cfm_t *p_cfm);
2212 
2213 
2215 
2216 #endif // IN_BLE_GAP_H
2217 
ble_scan_type
Scanning Types.
Definition: in_ble_gap.h:730
Random number structure.
Definition: in_ble_gap.h:1025
Connectable advertising.
Definition: in_ble_gap.h:586
uint8_t dup_filt_pol
Duplicate packet filtering policy,.
Definition: in_ble_gap.h:1437
MITM and Bonding.
Definition: in_ble_gap.h:358
uint8_t adv_sid
Advertising SID.
Definition: in_ble_gap.h:1358
Get local or peer resolvable address.
Definition: in_ble_gap.h:1298
uint8_t svc_change_feat_present
Service change feature present in GATT attribute database ( 1 = yes, 0 = no )
Definition: in_ble_gap.h:1211
#define BLE_KEY_LEN
Key length.
Definition: in_ble_gap.h:44
bool ltk_present
LTK exchanged during pairing.
Definition: in_ble_gap.h:1107
Advertising activity.
Definition: in_ble_gap.h:554
Transmit power.
Definition: in_ble_gap.h:202
LE Coded PHY with S=2 data coding (TX Only)
Definition: in_ble_gap.h:451
ble_slv_pref_t slv_pref_params
Slave preferred parameters.
Definition: in_ble_gap.h:1692
Activity create structure.
Definition: in_ble_gap.h:1394
Private non resolvable address - 01 (MSB->LSB)
Definition: in_ble_gap.h:256
device configuration structure
Definition: in_ble_gap.h:1172
The Host has no preferred coding when transmitting on the LE Coded PHY.
Definition: in_ble_gap.h:811
ble_test_mode
Test mode operation.
Definition: in_ble_gap.h:432
CSRK(Signature key) in distribution.
Definition: in_ble_gap.h:381
uint16_t ediv
Encryption Diversifier.
Definition: in_ble_gap.h:1084
uint8_t auth
Authentication,.
Definition: in_ble_gap.h:1545
uint8_t key_size
Encryption key size (7 to 16).
Definition: in_ble_gap.h:1136
Public Target Address.
Definition: in_ble_gap.h:228
Resolved address.
Definition: in_ble_gap.h:1269
Periodic synchronization activity.
Definition: in_ble_gap.h:560
30 ppm
Definition: in_ble_gap.h:880
uint8_t request
Bond request type,.
Definition: in_ble_gap.h:1607
maximum device info parameter
Definition: in_ble_gap.h:917
ble_test_phy
Enumeration of TX/RX PHY used for Test Mode.
Definition: in_ble_gap.h:440
Activity start structure.
Definition: in_ble_gap.h:1514
Suggested data len & time.
Definition: in_ble_gap.h:967
uint8_t modulation_idx
Modulation Index (only valid for RX mode),.
Definition: in_ble_gap.h:1168
3D Information Data
Definition: in_ble_gap.h:244
ble_role
GAP Role.
Definition: in_ble_gap.h:262
int in_ble_actv_del(void *hdl, int actv_idx, comp_cb callback)
Delete an activity or all activities.
ble_auth_mask
Authentication mask.
Definition: in_ble_gap.h:321
ble_sec_key_t lcsrk
Local CSRK value.
Definition: in_ble_gap.h:1537
No Input No Output.
Definition: in_ble_gap.h:293
uint8_t prop
Scan properties,.
Definition: in_ble_gap.h:1435
uint8_t size
number of entries to be added in the list. 0 means that list content has to be cleared ...
Definition: in_ble_gap.h:1312
Appearance.
Definition: in_ble_gap.h:232
int in_ble_conn_bond_cfm(void *hdl, int conidx, ble_bond_cfm_t *p_cfm)
Confirm bond request.
int in_ble_set_ral_list(void *hdl, ble_ral_param_t *p_ral, comp_cb callback)
Set the resolving list content.
uint8_t size
number of entries to be added in the list. 0 means that list content has to be cleared ...
Definition: in_ble_gap.h:1321
Get local device BD Address.
Definition: in_ble_gap.h:529
Controller max TX/RX size.
Definition: in_ble_gap.h:1651
uint8_t phy
Definition: in_ble_gap.h:1346
Used for Long Term Key exchange.
Definition: in_ble_gap.h:852
Complete list of 16 bit UUID.
Definition: in_ble_gap.h:188
uint16_t suggted_max_tx_octets
suggested value for the Controller&#39;s maximum transmitted number of payload octets.
Definition: in_ble_gap.h:969
uint8_t privacy_cfg
Privacy configuration bit field (.
Definition: in_ble_gap.h:1188
uint16_t duration
Definition: in_ble_gap.h:1444
ble_adv_disc_mode
Advertising discovery mode.
Definition: in_ble_gap.h:606
int in_ble_get_dev_info(void *hdl, int cmd, ble_local_dev_info_t *p_info, comp_cb callback)
Get local device informations.
Manufacturer specific data.
Definition: in_ble_gap.h:247
Initiating activity.
Definition: in_ble_gap.h:558
uint8_t att_slv_pref_conn_param_present
Slave Preferred Connection Parameters present ( 1 = yes, 0 = no )
Definition: in_ble_gap.h:1209
int option
Definition: in_ble_gap.h:1401
Get device advertising power level.
Definition: in_ble_gap.h:533
Selective observer.
Definition: in_ble_gap.h:739
Numeric comparison value */.
Definition: in_ble_gap.h:1120
Class of device.
Definition: in_ble_gap.h:204
Out of band data.
Definition: in_ble_gap.h:1111
uint8_t info
Authentication information,.
Definition: in_ble_gap.h:1104
ble_bdaddr_t peer_addr
Address of peer device in case white list is not used for connection.
Definition: in_ble_gap.h:1488
general discoverable mode
Definition: in_ble_gap.h:611
Static random address - 11 (MSB->LSB)
Definition: in_ble_gap.h:254
2: generate non-resolvable private random address.
Definition: in_ble_gap.h:726
Get local device version.
Definition: in_ble_gap.h:527
Authentication information.
Definition: in_ble_gap.h:1101
Service data 32-bit UUID.
Definition: in_ble_gap.h:224
uint8_t key_size
LTK Key Size.
Definition: in_ble_gap.h:1599
Get resolving address list size.
Definition: in_ble_gap.h:543
Allow both scan req from anyone and connection req from White List devices only.
Definition: in_ble_gap.h:705
ble_sec_key_t csrk
CSRK (request = CSRK_EXCH)
Definition: in_ble_gap.h:1618
int in_ble_set_chn_map(void *hdl, ble_chnl_map_t *p_chn_map, comp_cb callback)
Set channel map.
Periodic advertiser information.
Definition: in_ble_gap.h:1492
uint8_t ctl_addr_resol
Device central support address resolution.
Definition: in_ble_gap.h:1561
Directed connectable advertising.
Definition: in_ble_gap.h:662
Definition: in_ble_gap.h:623
uint16_t gap_start_hdl
--------—— ATT Database Config -----------------——
Definition: in_ble_gap.h:1198
uint16_t latency
Latency (number of events)
Definition: in_ble_gap.h:1586
uint8_t sec_req
Device security requirements (minimum security level),.
Definition: in_ble_gap.h:1142
OOB Data not present.
Definition: in_ble_gap.h:314
Key Notification.
Definition: in_ble_gap.h:332
int in_ble_aes_enc(void *hdl, ble_aes_enc_t *p_enc, uint8_t *p_enc_res, comp_cb callback)
AES-128 calculation.
ble_supp_dft_t supp_dft
supported default data len and time
Definition: in_ble_gap.h:1246
Enable filtering of duplicate packets per scan period.
Definition: in_ble_gap.h:771
Periodic synchronization start structure.
Definition: in_ble_gap.h:1501
uint8_t type
Initiator type,.
Definition: in_ble_gap.h:1471
Indication of peer version info.
Definition: in_ble_gap.h:949
int8_t rssi
Connection rssi.
Definition: in_ble_gap.h:1567
Peroidic address list device information.
Definition: in_ble_gap.h:1063
Connection request confirm structure.
Definition: in_ble_gap.h:1534
Non connectable scannable directed extended advertising.
Definition: in_ble_gap.h:677
uint8_t rx_phy
Prefered PHY for reception,.
Definition: in_ble_gap.h:1634
ble_sugg_dft_t sugg_dft
suggested default data len and time
Definition: in_ble_gap.h:1244
uint16_t intv_min
Connection interval minimum N, value time = N * 1.25ms.
Definition: in_ble_gap.h:1582
uint8_t pairing_mode
--------—— Security Config -----------------——
Definition: in_ble_gap.h:1193
Used for Connection Signature Resolving Key exchange.
Definition: in_ble_gap.h:850
int in_ble_set_white_list(void *hdl, ble_wl_param_t *p_wlist, comp_cb callback)
Set the white list content.
adv_create_param_t adv_param
advertising parameters only for advertising option
Definition: in_ble_gap.h:1408
uint16_t con_intv_max
Connection interval maximum.
Definition: in_ble_gap.h:1002
Passkey entry started,.
Definition: in_ble_gap.h:821
uint8_t prop
Initiator proterties,.
Definition: in_ble_gap.h:1473
uint16_t max_mps
Maximal MPS Packet size acceptable for device.
Definition: in_ble_gap.h:1223
#define BLE_RAND_NB_LEN
Random number length.
Definition: in_ble_gap.h:42
Secure Connection pairing with encryption.
Definition: in_ble_gap.h:402
Pairing structure.
Definition: in_ble_gap.h:1127
uint16_t adv_intv_min
Minimum advertising interval (in unit of 1.25ms). Must be greater than 20ms.
Definition: in_ble_gap.h:1365
ble_adv_per_prop
Advertising properties for periodic advertising.
Definition: in_ble_gap.h:689
Periodic advertising report.
Definition: in_ble_gap.h:575
uint8_t chan_sel_algo
Currently used channel algorithm.
Definition: in_ble_gap.h:1575
Add resolvable list parameters.
Definition: in_ble_gap.h:1318
ble_dev_verison_t version
device version
Definition: in_ble_gap.h:1238
Random Target Address.
Definition: in_ble_gap.h:230
P256 Public key data format.
Definition: in_ble_gap.h:1032
Non connectable non scannable advertising.
Definition: in_ble_gap.h:652
ble_write_att_perm
Device Attribute write permission requirement.
Definition: in_ble_gap.h:510
ble_adv_chnl
Advertising channel.
Definition: in_ble_gap.h:711
Assume transmitter will have a stable modulation index.
Definition: in_ble_gap.h:460
Complete list of 128 bit UUID.
Definition: in_ble_gap.h:196
uint8_t priv_mode
Privacy error filter, 0: privacy error reported, 1: privacy error not reported.
Definition: in_ble_gap.h:1055
50 ppm
Definition: in_ble_gap.h:878
Legacy scan response report.
Definition: in_ble_gap.h:573
Connection get peer information structure.
Definition: in_ble_gap.h:1553
Resolve random Address.
Definition: in_ble_gap.h:1258
uint8_t key_size
Encryption key size (7 to 16)
Definition: in_ble_gap.h:1088
No role set yet.
Definition: in_ble_gap.h:265
The Host prefers that S=2 coding be used when transmitting on the LE Coded PHY.
Definition: in_ble_gap.h:813
uint8_t adv_sid
Advertising SID.
Definition: in_ble_gap.h:1497
uint16_t gatt_start_hdl
GATT service start handle.
Definition: in_ble_gap.h:1201
500 ppm
Definition: in_ble_gap.h:868
Direct connection establishment, establish a connection with an indicated device. ...
Definition: in_ble_gap.h:778
Keyboard Display.
Definition: in_ble_gap.h:295
Pairing Failed information.
Definition: in_ble_gap.h:843
0: static (public or private),
Definition: in_ble_gap.h:722
int in_ble_get_pub_key(void *hdl, int renew, ble_pub_key_t *p_pub_key, comp_cb callback)
get public key
ble_adv_ext_prop
Advertising properties for extended advertising.
Definition: in_ble_gap.h:670
Supported data len & time. */.
Definition: in_ble_gap.h:975
Definition: in_ble_gap.h:784
Connectable discovery.
Definition: in_ble_gap.h:741
#define BLE_BDADDR_LEN
BD address length.
Definition: in_ble_gap.h:33
Man In the middle protection.
Definition: in_ble_gap.h:328
Complete list of 32 bit UUID.
Definition: in_ble_gap.h:192
bool full_key_size
encryption key size must have16 bytes
Definition: in_ble_gap.h:1294
No pairing authorized.
Definition: in_ble_gap.h:499
ble_io_cap
IO Capability Values.
Definition: in_ble_gap.h:284
ble_disc_reason
Disconnect reason code.
Definition: in_ble_gap.h:886
Definition: in_ble_gap.h:781
uint32_t adv_intv_max
Maximum advertising interval (in unit of 625us). Must be greater than 20ms.
Definition: in_ble_gap.h:1341
uint8_t channel
Tx or Rx Channel (Range 0x00 to 0x27)
Definition: in_ble_gap.h:1160
uint8_t svc_changed_ind_enable
Service Changed Indication enabled.
Definition: in_ble_gap.h:1547
uint16_t tx_octets
Definition: in_ble_gap.h:1644
uint16_t lepsm
LE Protocol/Service Multiplexer.
Definition: in_ble_gap.h:1290
Encryption key in distribution.
Definition: in_ble_gap.h:377
BD Address structure.
Definition: in_ble_gap.h:1010
uint16_t scan_intv
Scan interval (in unit of 625us), time range 2.5ms to 10.24s.
Definition: in_ble_gap.h:1424
int in_ble_conn_get_dev_info_cfm(void *hdl, int conidx, ble_get_dev_info_cfm_t *p_cfm)
Send requested info to peer device.
Reserved.
Definition: in_ble_gap.h:490
ble_scan_prop
Scan properties.
Definition: in_ble_gap.h:747
Unauthenticated pairing with data signing.
Definition: in_ble_gap.h:398
Private resolvable address - 01 (MSB->LSB)
Definition: in_ble_gap.h:258
Require 16 bit service UUID.
Definition: in_ble_gap.h:216
Definition: in_ble_gap.h:803
Extended scan response report.
Definition: in_ble_gap.h:571
uint8_t rx_pref_phy
Preferred LE PHY for data reception.
Definition: in_ble_gap.h:1231
Passkey entry completed.
Definition: in_ble_gap.h:829
uint8_t size
number of entries to be added in the list. 0 means that list content has to be cleared ...
Definition: in_ble_gap.h:1330
uint16_t intv_max
Connection interval maximum N, value time = N * 1.25ms.
Definition: in_ble_gap.h:1584
uint16_t manuf_name
Manufacturer name.
Definition: in_ble_gap.h:945
Report Type.
Definition: in_ble_gap.h:582
LE Coded PHY preferred for an active link.
Definition: in_ble_gap.h:415
Scanning activity.
Definition: in_ble_gap.h:556
limited discoverable mode
Definition: in_ble_gap.h:613
Indicate if identity address is a public (0) or static private random (1) address.
Definition: in_ble_gap.h:488
Filter truncated advertising or scan response reports.
Definition: in_ble_gap.h:760
Use of more than 128 bit UUID.
Definition: in_ble_gap.h:194
Device has all role, both peripheral and central.
Definition: in_ble_gap.h:280
int in_ble_set_irk(void *hdl, ble_sec_key_t *p_irk, comp_cb callback)
Change the current IRK for a renewed one.
Force re-generation of P256 private and public keys.
Definition: in_ble_gap.h:506
int in_ble_set_pal_list(void *hdl, ble_pal_param_t *p_pal, comp_cb callback)
Set the peroidic advertiser list content.
Get White List Size.
Definition: in_ble_gap.h:541
Indicate the PHY used for transmission and reception.
Definition: in_ble_gap.h:1146
No Flag set.
Definition: in_ble_gap.h:324
Active scan on LE 1M PHY (Scan Request PDUs may be sent).
Definition: in_ble_gap.h:754
Advertising Interval.
Definition: in_ble_gap.h:234
int in_ble_conn_req_security(void *hdl, int conidx, int auth, comp_cb callback)
Initiate security request procedure.
PRBS15 sequence.
Definition: in_ble_gap.h:473
int in_ble_conn_get_peer_info(void *hdl, int conidx, int option, ble_conn_peer_info_t *p_peer_info, comp_cb callback)
Retrieve connection information.
LE Role.
Definition: in_ble_gap.h:238
Extended advertising.
Definition: in_ble_gap.h:599
ble_auth
Authentication Requirements.
Definition: in_ble_gap.h:349
Connection encrypt request confirm structure.
Definition: in_ble_gap.h:1592
Shortened device name.
Definition: in_ble_gap.h:198
ble_ad_type
GAP Advertising Flags.
Definition: in_ble_gap.h:181
uint8_t req
Definition: in_ble_gap.h:1681
Get supported default data.
Definition: in_ble_gap.h:537
Bond authentication.
Definition: in_ble_gap.h:326
ble_pairing_mode
Pairing mode authorized on the device.
Definition: in_ble_gap.h:496
int8_t max_tx_pwr
Maximum TX power.
Definition: in_ble_gap.h:992
Indicate if application must be informed about received scan requests PDUs.
Definition: in_ble_gap.h:643
ble_addr_t addr
BD Address of device.
Definition: in_ble_gap.h:1044
ble_phy
Bit field use to select the preferred TX or RX LE PHY. 0 means no preferences.
Definition: in_ble_gap.h:406
Identity Resolving Key information.
Definition: in_ble_gap.h:1092
Use of more than 32 bit UUD.
Definition: in_ble_gap.h:190
uint8_t iocap
IO capabilities,.
Definition: in_ble_gap.h:1130
Indicate no advertising data */.
Definition: in_ble_gap.h:645
Passkey digit erased.
Definition: in_ble_gap.h:825
int option
Definition: in_ble_gap.h:1520
Complete device name.
Definition: in_ble_gap.h:200
Keyboard Only.
Definition: in_ble_gap.h:291
Get maximum advertising data length supported by the controller.
Definition: in_ble_gap.h:539
uint16_t skip
Number of periodic advertising that can be skipped after a successful receive. Maximum authorized val...
Definition: in_ble_gap.h:1506
uint8_t type
advertising type,
Definition: in_ble_gap.h:1374
ble_sec_key_t ltk
Long Term Key.
Definition: in_ble_gap.h:1597
uint8_t addr_type
Address type of the device 0=public/1=private random.
Definition: in_ble_gap.h:1046
ble_sec_key_t tk
TK (request = TK_EXCH)
Definition: in_ble_gap.h:1620
uint16_t adv_intv_max
Maximum advertising interval (in unit of 1.25ms). Must be greater than 20ms.
Definition: in_ble_gap.h:1367
uint16_t appearance
Appearance Icon.
Definition: in_ble_gap.h:1689
uint8_t att_devname_write_perm
Definition: in_ble_gap.h:1205
uint8_t adv_sid
advertising SID
Definition: in_ble_gap.h:1068
ble_chnl_map_t ch_map
Connection channel map.
Definition: in_ble_gap.h:1569
Repeated "10101010" (in transmission order)
Definition: in_ble_gap.h:471
int in_ble_get_chn_assess(void *hdl, int chn, int8_t *level, uint32_t *timestamp)
Get channel assess data.
ble_oob_t oob
OOB Confirm and Random from the peer (request = OOB_EXCH)
Definition: in_ble_gap.h:1624
Definition: in_ble_gap.h:635
Generic Security key structure.
Definition: in_ble_gap.h:1072
Advertising configuration for secondary channel structure.
Definition: in_ble_gap.h:1350
int in_ble_conn_req_encrypt_cfm(void *hdl, int conidx, ble_conn_encrypt_cfm_t *p_cfm)
Confirm master&#39;s encryption request.
uint16_t lmp_subvers
LMP subversion.
Definition: in_ble_gap.h:954
Device Appearance Icon.
Definition: in_ble_gap.h:911
Temporary key value.
Definition: in_ble_gap.h:210
Repeated "00001111" (in transmission order) sequence.
Definition: in_ble_gap.h:479
uint16_t max_tx_octets
The maximum number of payload octets in TX.
Definition: in_ble_gap.h:1654
Non connectable non scannable extended advertising with no advertising data */.
Definition: in_ble_gap.h:685
Enable write access - no authentication required.
Definition: in_ble_gap.h:515
uint8_t oob
OOB present,.
Definition: in_ble_gap.h:1132
Non connectable anonymous directed extended advertising.
Definition: in_ble_gap.h:679
int in_ble_actv_start(void *hdl, int actv_idx, ble_actv_start_t *p_start, comp_cb callback)
Start an advertising, a scanning, an initiating or a periodic synchronization activity.
ble_peer_features_ind_t features
Device features.
Definition: in_ble_gap.h:1565
Display Yes No.
Definition: in_ble_gap.h:289
ble_pkt_pld_type
Packet Payload type for test mode.
Definition: in_ble_gap.h:464
Scan connectable advertisements on the LE Coded PHY, Connection parameters for the LE Coded PHY are p...
Definition: in_ble_gap.h:795
Connection bond confirm.
Definition: in_ble_gap.h:1604
uint16_t max_rx_octets
The maximum number of payload octets in RX.
Definition: in_ble_gap.h:1658
Flag.
Definition: in_ble_gap.h:184
ble_dev_name_t name
Device name,.
Definition: in_ble_gap.h:1555
ble_rnd_addr_type
Random Address type.
Definition: in_ble_gap.h:251
ble_coded_phy_opt
LE CODED PHY option.
Definition: in_ble_gap.h:809
ble_actv_type
Type of activities that can be created.
Definition: in_ble_gap.h:551
ble_sec_key_t irk
Device IRK used for resolvable random BD address generation (LSB first)
Definition: in_ble_gap.h:1185
Definition: in_ble_gap.h:632
ble_oob
OOB Data Present Flag Values.
Definition: in_ble_gap.h:311
Selective connectable discovery, using white list.
Definition: in_ble_gap.h:743
Device is about to power off.
Definition: in_ble_gap.h:894
uint8_t phy
Test PHY rate.
Definition: in_ble_gap.h:1166
LTK in distribution.
Definition: in_ble_gap.h:383
ble_modulation_idx
Modulation index.
Definition: in_ble_gap.h:455
Scan advertisement on the LE 1M PHY.
Definition: in_ble_gap.h:750
Non connectable scannable advertising.
Definition: in_ble_gap.h:656
Definition: in_ble_gap.h:638
uint16_t conn_intv_max
Definition: in_ble_gap.h:1460
Device Name.
Definition: in_ble_gap.h:909
Broadcast non scannable advertising - Discovery mode must be Non Discoverable.
Definition: in_ble_gap.h:654
uint8_t lmp_ver
LMP version.
Definition: in_ble_gap.h:935
Write access requires authenticated link.
Definition: in_ble_gap.h:519
uint16_t scan_wd
Scan window (in unit of 625us), time range 2.5ms to 10.24s.
Definition: in_ble_gap.h:1426
Indicate if controller privacy is enabled.
Definition: in_ble_gap.h:492
Directed connectable with High Duty Cycle.
Definition: in_ble_gap.h:666
uint8_t ctl_addr_resol
Central address resolution.
Definition: in_ble_gap.h:1695
uint16_t sync_tmo
Synchronization timeout for the periodic advertising (in unit of 10ms between 100ms and 163...
Definition: in_ble_gap.h:1508
Used for Identity Resolving Key exchange.
Definition: in_ble_gap.h:848
uint16_t renew_dur
Definition: in_ble_gap.h:1179
non-discoverable mode
Definition: in_ble_gap.h:609
250 ppm
Definition: in_ble_gap.h:870
Enable filtering of duplicate packets. */.
Definition: in_ble_gap.h:769
uint8_t max_skip
Definition: in_ble_gap.h:1354
ble_dev_name_t name
Device name.
Definition: in_ble_gap.h:1686
Active scan on LE Coded PHY (Scan Request PDUs may be sent).
Definition: in_ble_gap.h:756
int in_ble_test(void *hdl, ble_test_mode_t *p_test, uint16_t *nb_rx_packet, comp_cb callback)
Test BLE phy TX and RX.
uint8_t nb_key
number of provided IRK (sahlle be > 0).
Definition: in_ble_gap.h:1263
Advertisement start structure.
Definition: in_ble_gap.h:1412
Scan connectable advertisements on the LE 1M PHY, Connection parameters for the LE 1M PHY are provide...
Definition: in_ble_gap.h:791
Simple Pairing Randomizer R-256.
Definition: in_ble_gap.h:242
Advertising periodic configuration structure.
Definition: in_ble_gap.h:1362
ble_adv_prop
Advertising properties.
Definition: in_ble_gap.h:619
Disable write access.
Definition: in_ble_gap.h:513
Secure Connection.
Definition: in_ble_gap.h:330
Simple Pairing Hash C.
Definition: in_ble_gap.h:206
Non connectable non scannable extended advertising.
Definition: in_ble_gap.h:673
Use of more than 16 bits UUID.
Definition: in_ble_gap.h:186
No security (no authentication and encryption)
Definition: in_ble_gap.h:392
Broadcaster role.
Definition: in_ble_gap.h:271
Out of Band Flag.
Definition: in_ble_gap.h:212
uint32_t adv_intv_min
Minimum advertising interval (in unit of 625us). Must be greater than 20ms.
Definition: in_ble_gap.h:1339
uint8_t tx_phy
PHY for transmission,.
Definition: in_ble_gap.h:1149
Advertising is scannable, reception of SCAN_REQ or AUX_SCAN_REQ PDUs is accepted. ...
Definition: in_ble_gap.h:625
IRK (ID key)in distribution.
Definition: in_ble_gap.h:379
uint16_t max_tx_time
The maximum time that the local Controller will take to TX.
Definition: in_ble_gap.h:1656
Slave preferred connection parameters.
Definition: in_ble_gap.h:997
Feature not supported.
Definition: in_ble_gap.h:896
PRBS9 sequence "11111111100000111101..." (in transmission order)
Definition: in_ble_gap.h:467
Broadcast mode without presence of AD_TYPE_FLAG in advertising data.
Definition: in_ble_gap.h:615
uint16_t apperance
Device apperance icon.
Definition: in_ble_gap.h:1557
adv_report_type
Advertising report type.
Definition: in_ble_gap.h:564
Observer role.
Definition: in_ble_gap.h:268
LE Coded PHY (RX Only)
Definition: in_ble_gap.h:447
ble_initiator_prop
Initiator Properties.
Definition: in_ble_gap.h:788
Secure Connection pairing Authorized.
Definition: in_ble_gap.h:503
uint8_t own_addr_type
Definition: in_ble_gap.h:1406
uint16_t suppted_max_rx_time
Maximum time, in microseconds, that the local Controller supports for reception.
Definition: in_ble_gap.h:983
ble_per_sync_type
Periodic synchronization types.
Definition: in_ble_gap.h:799
Authenticated pairing with encryption.
Definition: in_ble_gap.h:396
uint16_t suggted_max_tx_time
suggested value for the Controller&#39;s maximum packet transmission time.
Definition: in_ble_gap.h:971
Legacy advertising report.
Definition: in_ble_gap.h:569
Repeated "01010101" (in transmission order) sequence.
Definition: in_ble_gap.h:481
ble_phy_value
PHY value return from the link layer.
Definition: in_ble_gap.h:419
uint16_t max_mtu
Definition: in_ble_gap.h:1221
Low resources.
Definition: in_ble_gap.h:892
Periodic advertising.
Definition: in_ble_gap.h:601
Authentication pairing with data signing.
Definition: in_ble_gap.h:400
Directed advertising.
Definition: in_ble_gap.h:590
int in_ble_set_dev_config(void *hdl, ble_set_dev_config_t *p_cfg, comp_cb callback)
Set device configuration.
ble_tk_type
TK Type.
Definition: in_ble_gap.h:300
uint8_t lmp_vers
LMP version.
Definition: in_ble_gap.h:956
Test PHY structure.
Definition: in_ble_gap.h:1156
No Keys to distribute.
Definition: in_ble_gap.h:375
TK get from out of band method.
Definition: in_ble_gap.h:303
Write access requires secure connected link.
Definition: in_ble_gap.h:521
Advertisement activity create structure.
Definition: in_ble_gap.h:1371
ble_peer_version_ind_t version
Device version info.
Definition: in_ble_gap.h:1563
ble_dev_info
List of device info that should be provided by application.
Definition: in_ble_gap.h:906
#define BLE_FEATS_LEN
LE Feature Flags Length.
Definition: in_ble_gap.h:37
LE 1M PHY Value.
Definition: in_ble_gap.h:424
Initiator start structure.
Definition: in_ble_gap.h:1468
uint16_t conn_tmo
Definition: in_ble_gap.h:1476
Write access requires unauthenticated link.
Definition: in_ble_gap.h:517
ble_adv_report_info
Advertising report information.
Definition: in_ble_gap.h:579
*uint16_t period
Definition: in_ble_gap.h:1447
uint8_t sec_lvl
security level, 0=NO_AUTH, 1=UNAUTH, 2=AUTH, 3=SEC_CON
Definition: in_ble_gap.h:1292
Unacceptable connection interval.
Definition: in_ble_gap.h:900
Connection set prefered PHY.
Definition: in_ble_gap.h:1629
int in_ble_get_ral_addr(void *hdl, ble_get_ral_addr_t *p_ral_addr, ble_bdaddr_t *p_addr, comp_cb callback)
Get local or peer resolvable private address.
Report is complete.
Definition: in_ble_gap.h:584
uint16_t max_rx_time
The maximum time that the local Controller will take to RX.
Definition: in_ble_gap.h:1660
ble_bond
Bond request/event type.
Definition: in_ble_gap.h:833
Slave connection interval range.
Definition: in_ble_gap.h:214
uint8_t auth
Authentication,.
Definition: in_ble_gap.h:1134
Connection parameters.
Definition: in_ble_gap.h:1453
int in_ble_actv_data(void *hdl, int actv_idx, int option, uint8_t *data, uint32_t data_len, comp_cb callback)
Set an advertising, a periodic advertising, or a scan response data.
int in_ble_conn_set_ping_tmo(void *hdl, int conidx, uint32_t timeout, comp_cb callback)
Set LE ping time out value.
uint8_t chnl_map
Advertising channel mapping,.
Definition: in_ble_gap.h:1343
ble_initiator_type
Initiator Types.
Definition: in_ble_gap.h:775
uint8_t host_ver
Host version.
Definition: in_ble_gap.h:937
Pairing Finished information.
Definition: in_ble_gap.h:841
ble_clk_acc
Clock accuracy values.
Definition: in_ble_gap.h:865
uint16_t lmp_subver
LMP subversion.
Definition: in_ble_gap.h:941
SEC_CON and No Bonding.
Definition: in_ble_gap.h:360
ble_scan_start_t scan_param
Scan start parameters.
Definition: in_ble_gap.h:1525
Passkey cleared.
Definition: in_ble_gap.h:827
ble_addr_t addr
address resolved.
Definition: in_ble_gap.h:1272
LE PSM paramters.
Definition: in_ble_gap.h:1287
uint8_t max_nb_lecb
Maximum number of LE Credit based connection that can be established.
Definition: in_ble_gap.h:1225
Use periodic advertiser list for synchronization.
Definition: in_ble_gap.h:805
int in_ble_actv_stop(void *hdl, int actv_idx, comp_cb callback)
Stop an activity or all activities.
Directed periodic advertising.
Definition: in_ble_gap.h:694
int in_ble_register_lepsm(void *hdl, ble_lepsm_param_t *p_psm, comp_cb callback)
Register a LE Protocol/Service Multiplexer identified.
uint8_t filter_pol
Advertising filtering policy,.
Definition: in_ble_gap.h:1382
20 ppm
Definition: in_ble_gap.h:882
LE 1M PHY preferred for an active link.
Definition: in_ble_gap.h:411
Resolving list device information.
Definition: in_ble_gap.h:1050
ble_ltk_t ltk
LTK (request = LTK_EXCH)
Definition: in_ble_gap.h:1616
ble_sec_key_t irk
IRK that correctly solved the random address.
Definition: in_ble_gap.h:1274
ble_sec_key_t rcsrk
Remote CSRK value.
Definition: in_ble_gap.h:1541
ble_per_sync_start_t per_param
Periodic sync start parameters.
Definition: in_ble_gap.h:1529
uint8_t tx_data_length
Length in bytes of payload data in each packet (only valid for TX mode, range 0x00-0xFF) ...
Definition: in_ble_gap.h:1162
Repeated "11111111" (in transmission order) sequence.
Definition: in_ble_gap.h:475
int8_t max_tx_pwr
Maximum power level at which the advertising packets have to be transmitted (between -127 and 126 dBm...
Definition: in_ble_gap.h:1380
Definition: in_ble_gap.h:629
uint16_t slave_latency
Slave latency.
Definition: in_ble_gap.h:1004
int8_t min_tx_pwr
Minimum TX power.
Definition: in_ble_gap.h:990
uint8_t tx_pref_phy
Definition: in_ble_gap.h:1229
ble_init_start_t init_param
Initiator start parameters.
Definition: in_ble_gap.h:1527
Simple Pairing Randomizer.
Definition: in_ble_gap.h:208
ble_bdaddr_t identity_addr
either the local identity or the peer identity
Definition: in_ble_gap.h:1305
LE 2M PHY Value.
Definition: in_ble_gap.h:426
uint32_t rsign_counter
Remote signature counter value.
Definition: in_ble_gap.h:1543
int in_ble_conn_disconnect(void *hdl, int conidx, uint32_t reason, comp_cb callback)
Disconnect a link.
Observer.
Definition: in_ble_gap.h:737
Get periodic advertiser list size.
Definition: in_ble_gap.h:545
LE Coded PHY with S=8 data coding (TX Only)
Definition: in_ble_gap.h:449
Mask of authentication features without reserved flag.
Definition: in_ble_gap.h:368
uint8_t ikey_dist
Initiator key distribution,.
Definition: in_ble_gap.h:1138
ble_tx_pwr_t tx_pwr
TX power.
Definition: in_ble_gap.h:1254
Allow both scan and connection requests from anyone.
Definition: in_ble_gap.h:701
Allow scan and connection requests from White List devices only.
Definition: in_ble_gap.h:707
int in_ble_actv_create(void *hdl, ble_actv_create_t *p_act, int *p_actv_idx, comp_cb callback)
Create an advertising, a scanning, an initiating or a periodic synchronization activity.
uint8_t rx_phy
PHY for reception,.
Definition: in_ble_gap.h:1151
int8_t adv_tx_pwr
adv TX power
Definition: in_ble_gap.h:1242
int in_ble_gen_random_nb(void *hdl, ble_rnd_nb_t *p_rnd_nb, comp_cb callback)
Generate a 8 bytes random number.
ble_adv_start_t adv_param
Advertising start parameters.
Definition: in_ble_gap.h:1523
Respond to Pairing request.
Definition: in_ble_gap.h:838
ble_bdaddr_t addr
Advertiser address information.
Definition: in_ble_gap.h:1495
Transmit powers supported by the controller.
Definition: in_ble_gap.h:987
Not support key for pairing.
Definition: in_ble_gap.h:898
Passkey digit entered.
Definition: in_ble_gap.h:823
Pairing or authentication failed.
Definition: in_ble_gap.h:888
Undirected connectable advertising.
Definition: in_ble_gap.h:660
uint16_t conn_latency
Slave latency. Number of events that can be missed by a connected slave device.
Definition: in_ble_gap.h:1462
uint16_t suppted_max_rx_octets
Maximum number of payload octets that the local Controller supports for reception.
Definition: in_ble_gap.h:981
uint8_t hci_ver
HCI version.
Definition: in_ble_gap.h:933
int in_ble_reset(void *hdl, comp_cb callback)
Reset BLE stack.
uint16_t time_out
Supervision timeout N, value time = N * 10ms.
Definition: in_ble_gap.h:1588
Display Only.
Definition: in_ble_gap.h:287
int opcode
Definition: in_ble_gap.h:1303
uint8_t type
Scan type,.
Definition: in_ble_gap.h:1433
Get minimum and maximum transmit powers supported by the controller.
Definition: in_ble_gap.h:531
No preferred PHY.
Definition: in_ble_gap.h:409
ble_adv_filt_pol
Advertising filter policy.
Definition: in_ble_gap.h:698
Scan advertisement on the LE Coded PHY.
Definition: in_ble_gap.h:752
Non connectable scannable extended advertising.
Definition: in_ble_gap.h:675
Repeated "11110000" (in transmission order)
Definition: in_ble_gap.h:469
LE CODED PHY Value.
Definition: in_ble_gap.h:428
Address information about a device address.
Definition: in_ble_gap.h:1041
uint8_t disc_mode
advertising mode,
Definition: in_ble_gap.h:1376
Peripheral/Slave role.
Definition: in_ble_gap.h:277
ble_bdaddr_t addr
Device identity.
Definition: in_ble_gap.h:1053
Out of Band - exchange of confirm and rand.
Definition: in_ble_gap.h:858
uint16_t ping_timeout
authenticated payload timeout value N, value time = N*10ms
Definition: in_ble_gap.h:1571
uint16_t hci_subver
HCI revision.
Definition: in_ble_gap.h:939
Accept directed advertising packets if we use a RPA and target address cannot be solved by the contro...
Definition: in_ble_gap.h:758
uint8_t att_apperance_write_perm
Device Appearance write permission.
Definition: in_ble_gap.h:1207
int in_ble_conn_keypress_notify(void *hdl, int conidx, int key_state, comp_cb callback)
Send a keypress to peer.
uint8_t tx_pkt_payload
Packet Payload type (only valid for TX mode),.
Definition: in_ble_gap.h:1164
ble_bdaddr_t addr
advertiser address information
Definition: in_ble_gap.h:1066
ble_bdaddr_t bd_addr
device address
Definition: in_ble_gap.h:1240
ble_phy_ind_t phy
Currently used PHY.
Definition: in_ble_gap.h:1573
Numeric Comparison - Exchange of Numeric Value -.
Definition: in_ble_gap.h:861
#define BLE_P256_KEY_LEN
P256 Key Len.
Definition: in_ble_gap.h:46
Undirected connectable extended advertising.
Definition: in_ble_gap.h:681
int in_ble_conn_bond(void *hdl, int conidx, ble_pairing_t *p_bond, comp_cb callback)
Initiate bond.
int in_ble_conn_set_pkt_size(void *hdl, uint8_t conidx, ble_pref_le_pkt_size_t *p_pref_pkt_size, ble_le_pkt_size_t *p_pkt_size, comp_cb callback)
Change current LE packet size.
Undirected periodic advertising.
Definition: in_ble_gap.h:692
uint16_t sugg_max_tx_octets
Definition: in_ble_gap.h:1215
100 ppm
Definition: in_ble_gap.h:874
SEC_CON and Bonding.
Definition: in_ble_gap.h:362
uint8_t max_adv_evt
Definition: in_ble_gap.h:1417
ble_keypress_state
Keypress state.
Definition: in_ble_gap.h:819
uint16_t suppted_max_tx_time
Maximum time, in microseconds, that the local Controller supports for transmission.
Definition: in_ble_gap.h:979
Scan connectable advertisements on the LE 2 M PHY, Connection parameters for the LE 2M PHY are provid...
Definition: in_ble_gap.h:793
ble_rnd_nb_t randnb
Random Number.
Definition: in_ble_gap.h:1086
int in_ble_conn_req_encrypt(void *hdl, int conidx, ble_ltk_t *p_ltk, comp_cb callback)
Initiate encryption procedure.
uint16_t duration
Advertising duration (in unit of 10ms). 0 means that advertising continues until the host disable it...
Definition: in_ble_gap.h:1414
Legacy advertising.
Definition: in_ble_gap.h:597
ble_priv_cfg
Privacy configuration.
Definition: in_ble_gap.h:485
uint32_t lsign_counter
Local signature counter value.
Definition: in_ble_gap.h:1539
Used to retrieve pairing Temporary Key.
Definition: in_ble_gap.h:846
int in_ble_gen_random_addr(void *hdl, int rnd_addr_type, ble_bdaddr_t *p_rnd_addr, comp_cb callback)
Generate random address.
Device Central address resolution.
Definition: in_ble_gap.h:915
Connection parameters update structure.
Definition: in_ble_gap.h:1579
uint8_t type
Periodic synchronization type,.
Definition: in_ble_gap.h:1504
int test_mode
Test mode operation,.
Definition: in_ble_gap.h:1158
int in_ble_conn_param_update(void *hdl, int conidx, ble_conn_param_update_t *p_upd, comp_cb callback)
Update connection paramters.
Directed connectable extended advertising.
Definition: in_ble_gap.h:683
Service data 16-bit UUID.
Definition: in_ble_gap.h:222
Bond Pairing request issue, Repeated attempt.
Definition: in_ble_gap.h:855
1: generate resolvable private random address,
Definition: in_ble_gap.h:724
Unauthenticated pairing with encryption.
Definition: in_ble_gap.h:394
Legacy pairing Authorized.
Definition: in_ble_gap.h:501
ble_addr_type
Address type.
Definition: in_ble_gap.h:719
ble_lk_sec_lvl
Security Link Level.
Definition: in_ble_gap.h:336
Long Term Key information.
Definition: in_ble_gap.h:1079
Not defined.
Definition: in_ble_gap.h:422
Scannable advertising.
Definition: in_ble_gap.h:588
uint16_t conn_intv_min
Definition: in_ble_gap.h:1457
int in_ble_resolve_addr(void *hdl, ble_rnd_addr_resolve_t *p_rnd_addr, ble_rnd_addr_solved_t *p_addr, comp_cb callback)
Resolve provided random address by usng array of IRK.
Send requested info to peer device.
Definition: in_ble_gap.h:1676
uint16_t compid
Manufacturer name.
Definition: in_ble_gap.h:952
uint16_t con_intv_min
Connection interval minimum.
Definition: in_ble_gap.h:1000
ble_get_dev_info_cmd
get device local info command.
Definition: in_ble_gap.h:525
Device name.
Definition: in_ble_gap.h:922
Assume transmitter will have a standard modulation index.
Definition: in_ble_gap.h:458
Require 32 bit service UUID.
Definition: in_ble_gap.h:218
Limited discovery.
Definition: in_ble_gap.h:735
Repeated "00000000" (in transmission order) sequence.
Definition: in_ble_gap.h:477
uint16_t prop
advertising properties,
Definition: in_ble_gap.h:1378
ble_scan_dup_filt
Scan Filter duplicates Policy.
Definition: in_ble_gap.h:764
uint16_t supervision_to
Link supervision timeout (in unit of 10ms). Allowed range is 100ms to 32s.
Definition: in_ble_gap.h:1464
uint16_t length
name length
Definition: in_ble_gap.h:925
uint8_t phy_opt
Prefered coding scheme for CODED PHY options,.
Definition: in_ble_gap.h:1636
ble_slv_pref_t slv_pref_params
Device slave prefered parameters.
Definition: in_ble_gap.h:1559
ble_bdaddr_t peer_addr
Peer address configuration (only used in case of directed advertising).
Definition: in_ble_gap.h:1384
uint16_t host_subver
Host revision.
Definition: in_ble_gap.h:943
uint8_t chn
Inplay add scan on fixed channel.
Definition: in_ble_gap.h:1449
Secure Connection link.
Definition: in_ble_gap.h:345
uint16_t max_adv_len
maximum advertising data length supported by controller
Definition: in_ble_gap.h:1252
ble_pairing_t pairing_feat
Pairing Features (request = PAIRING_RSP)
Definition: in_ble_gap.h:1614
uint8_t accept
Request accepted,.
Definition: in_ble_gap.h:1610
uint8_t rkey_dist
Responder key distribution,.
Definition: in_ble_gap.h:1140
int in_ble_conn_set_pref_phy(void *hdl, int conidx, ble_conn_pref_phy_t *p_phy, ble_phy_ind_t *p_phy_ind, comp_cb callback)
Set prefered PHY.
ble_kdist
Key Distribution Flags.
Definition: in_ble_gap.h:372
ble_adv_legacy_prop
Advertising properties legacy advertising.
Definition: in_ble_gap.h:649
int in_ble_unregister_lepsm(void *hdl, uint32_t psm, comp_cb callback)
Un-register a LE Protocol/Service Multiplexer identified.
ble_sec_key_t ltk
Long Term Key.
Definition: in_ble_gap.h:1082
uint8_t role
Device Role: Central, Peripheral, Observer, Broadcaster or All roles.
Definition: in_ble_gap.h:1175
TK generated and shall be displayed by local device.
Definition: in_ble_gap.h:305
uint8_t nb_adv_sets
number of adv sets
Definition: in_ble_gap.h:1250
Set prefer TX data length.
Definition: in_ble_gap.h:1640
uint16_t conn_timeout
Connection supervision timeout multiplier.
Definition: in_ble_gap.h:1006
Get number of available advertising sets.
Definition: in_ble_gap.h:547
150 ppm
Definition: in_ble_gap.h:872
Directed connectable with Low Duty Cycle.
Definition: in_ble_gap.h:664
AES-128 encryption.
Definition: in_ble_gap.h:1278
Master/Central role.
Definition: in_ble_gap.h:274
MITM No Bonding.
Definition: in_ble_gap.h:356
Add white list parameters.
Definition: in_ble_gap.h:1309
Device Slave preferred parameters.
Definition: in_ble_gap.h:913
Require 128 bit service UUID.
Definition: in_ble_gap.h:220
ble_irk_t irk
IRK (request = IRK_EXCH)
Definition: in_ble_gap.h:1622
#define BLE_CHNL_MAP_LEN
LE Channel map length.
Definition: in_ble_gap.h:35
LE 2M PHY preferred for an active link.
Definition: in_ble_gap.h:413
TK shall be entered by user using device keyboard.
Definition: in_ble_gap.h:307
Allow both scan req from White List devices only and connection req from anyone.
Definition: in_ble_gap.h:703
Bond Pairing request.
Definition: in_ble_gap.h:836
Get suggested default data.
Definition: in_ble_gap.h:535
Add periodic address list parameters.
Definition: in_ble_gap.h:1327
LE Bluetooth Device Address.
Definition: in_ble_gap.h:236
Unauthenticated link.
Definition: in_ble_gap.h:341
No authentication.
Definition: in_ble_gap.h:339
SEC_CON , MITM and Bonding.
Definition: in_ble_gap.h:364
No MITM No Bonding.
Definition: in_ble_gap.h:352
ble_sec_req
Security Defines.
Definition: in_ble_gap.h:389
OOB data present.
Definition: in_ble_gap.h:316
ble_addr_t addr
address to be resolved.
Definition: in_ble_gap.h:1261
Scan Window operation parameters.
Definition: in_ble_gap.h:1421
int in_ble_conn_param_update_cfm(void *hdl, int conidx, bool accept)
Confirm updated paramters.
uint8_t list_size
WLIST, RAL, PAL list size.
Definition: in_ble_gap.h:1248
Service data 128-bit UUID.
Definition: in_ble_gap.h:226
Simple Pairing Hash C-256.
Definition: in_ble_gap.h:240
uint16_t sugg_max_tx_time
Suggested value for the Controller&#39;s maximum packet transmission time to be used (min = 328us...
Definition: in_ble_gap.h:1217
ble_bdaddr_t addr
Device BD Identity Address.
Definition: in_ble_gap.h:1097
bool ltk_present
LTK exchanged during pairing.
Definition: in_ble_gap.h:1549
ble_sec_key_t irk
Identity Resolving Key.
Definition: in_ble_gap.h:1095
Scanning start structure.
Definition: in_ble_gap.h:1430
Channel map structure.
Definition: in_ble_gap.h:1017
uint8_t phy
Secondary advertising PHY,.
Definition: in_ble_gap.h:1356
Indication of peer features info.
Definition: in_ble_gap.h:960
uint8_t found
Indicate if a LTK has been found for the peer device.
Definition: in_ble_gap.h:1595
uint16_t tx_time
Definition: in_ble_gap.h:1647
Definition: in_ble_gap.h:641
Advertising configuration for primary channel structure.
Definition: in_ble_gap.h:1336
75 ppm
Definition: in_ble_gap.h:876
int in_ble_conn_cfm(void *hdl, int conidx, ble_conn_cfm_t *p_cfm)
Confirm connection request.
ble_addr_t addr
Provided own static private random address.
Definition: in_ble_gap.h:1182
No MITM Bonding.
Definition: in_ble_gap.h:354
Device version parameters.
Definition: in_ble_gap.h:931
Extended advertising report.
Definition: in_ble_gap.h:567
User on the remote device terminated the connnection.
Definition: in_ble_gap.h:890
uint8_t tx_phy
Prefered PHY for transmission,.
Definition: in_ble_gap.h:1632
General discovery.
Definition: in_ble_gap.h:733
Authenticated link.
Definition: in_ble_gap.h:343
LE 2M PHY (TX or RX)
Definition: in_ble_gap.h:445
uint16_t suppted_max_tx_octets
Maximum number of payload octets that the local Controller supports for transmission.
Definition: in_ble_gap.h:977
Broadcast scannable advertising - Discovery mode must be Non Discoverable.
Definition: in_ble_gap.h:658
The Host prefers that S=8 coding be used when transmitting on the LE Coded PHY.
Definition: in_ble_gap.h:815
ble_adv_type
Type of advertising that can be created.
Definition: in_ble_gap.h:594
Disable filtering of duplicate packets.
Definition: in_ble_gap.h:767
LE 1M PHY (TX or RX)
Definition: in_ble_gap.h:443
local device info
Definition: in_ble_gap.h:1236