Files
pwm32e_c_w_100/doc/网页版文档/xc__gap__api_8h.html
T

1664 lines
88 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BLE5.2: TEST2/api/xc_gap_api.h 文件参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="xinchip.png"/></td>
<td id="projectalign">
<div id="projectname">BLE5.2<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">开发文档说明</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.7 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>首页</span></a></li>
<li><a href="pages.html"><span>相关页面</span></a></li>
<li><a href="annotated.html"><span></span></a></li>
<li class="current"><a href="files.html"><span>文件</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>文件列表</span></a></li>
<li><a href="globals.html"><span>文件成员</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_e551eb05443008c96ab2f08dbb3250a6.html">TEST2</a></li><li class="navelem"><a class="el" href="dir_a213a656435eb838f44f965c240ae24d.html">api</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">函数</a> </div>
<div class="headertitle"><div class="title">xc_gap_api.h 文件参考</div></div>
</div><!--header-->
<div class="contents">
<p>GAP API. Copyright (c) 2022 - 2025, XinChip All rights reserved.
<a href="#details">更多...</a></p>
<p><a href="xc__gap__api_8h_source.html">浏览源代码.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
函数</h2></td></tr>
<tr class="memitem:a0f0610fc2a79c60eaa233fadf16ba2ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a0f0610fc2a79c60eaa233fadf16ba2ce">xc_ble_gapm_reset</a> (void)</td></tr>
<tr class="memdesc:a0f0610fc2a79c60eaa233fadf16ba2ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called only in the app_init(). It's used to reset the device but setting<br />
device configuration is still required to use host stack.<br />
Software reset: This will initialize the RW-BLE Host stack rearrange to default settings the ATT, GAP, GATT,<br />
L2CAP and SMP blocks. Furthermore, this will cause the host to send a reset command down to the link<br />
layer part. Platform reset: Use platform mechanism to reset hardware. <br /></td></tr>
<tr class="separator:a0f0610fc2a79c60eaa233fadf16ba2ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a764e4b1efa93d9d0d87bc8c29ca36c0a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a764e4b1efa93d9d0d87bc8c29ca36c0a">xc_ble_set_dev_config</a> (struct gapm_set_dev_config_cmd *cfg_param)</td></tr>
<tr class="memdesc:a764e4b1efa93d9d0d87bc8c29ca36c0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the device configuration such as:<br />
Device role<br />
Manage device address type: Public, Private static or Generated for Privacy<br />
Internal IRK used to generate resolvable random address.<br />
Set Internal GAP / GATT service start.<br />
Set specific write permissions on the appearance and name attributes in internal GAP database.<br />
Manage presence of some attribute.<br />
Configure Data Length Extension features.<br />
The set device configuration first resets the device to close all active link and configured profiles.<br />
This command must be sent before adding profiles and start air activities. <br /></td></tr>
<tr class="separator:a764e4b1efa93d9d0d87bc8c29ca36c0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae742af0accad0cbddac2cb4d4aa28a58"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#ae742af0accad0cbddac2cb4d4aa28a58">xc_ble_get_dev_info</a> (struct gapm_get_dev_info_cmd *cmd)</td></tr>
<tr class="memdesc:ae742af0accad0cbddac2cb4d4aa28a58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get information about local device such as:<br />
Local Device Name<br />
Local Device Version<br />
Local Device Public BD Address<br />
Data Length Extension parameters<br />
Antenna information <br /></td></tr>
<tr class="separator:ae742af0accad0cbddac2cb4d4aa28a58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd5fe32f1f03a54fa0d341a19fa5a5f6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#acd5fe32f1f03a54fa0d341a19fa5a5f6">xc_ble_resolve_addr</a> (uint8_t nb_key, gap_addr_t *addr, uint8_t *irk)</td></tr>
<tr class="memdesc:acd5fe32f1f03a54fa0d341a19fa5a5f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolve provided random address using array of Identity Resolution Key (IRK) exchanged and bonded with<br />
devices during pairing operations.<br />
Operation will complete successfully if address has been correctly resolved and GAPM_ADDR_SOLVED_IND<br />
message will be triggered to inform which key has been used to perform resolution.<br />
Else operation complete with GAP_ERR_NOT_FOUND error status code. <br /></td></tr>
<tr class="separator:acd5fe32f1f03a54fa0d341a19fa5a5f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e65d91f43a8ba522870f87eaa44c74a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a0e65d91f43a8ba522870f87eaa44c74a">xc_ble_gen_random_addr</a> (struct gapm_gen_rand_addr_cmd *p_param)</td></tr>
<tr class="memdesc:a0e65d91f43a8ba522870f87eaa44c74a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a random device address without starting any air operation. This can be useful for privacy in order<br />
to generate the reconnection address on demand. <br /></td></tr>
<tr class="separator:a0e65d91f43a8ba522870f87eaa44c74a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e4a7694930d1a8e5a8d3ccb466a42fe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a3e4a7694930d1a8e5a8d3ccb466a42fe">xc_ble_get_pub_key</a> (void)</td></tr>
<tr class="memdesc:a3e4a7694930d1a8e5a8d3ccb466a42fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the local P-256 Public Key. This key is renewed each time this command is called by<br />
requester and so each pairing using secure connection. <br /></td></tr>
<tr class="separator:a3e4a7694930d1a8e5a8d3ccb466a42fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab604fe36de6f1329e477cb68e1bba723"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#ab604fe36de6f1329e477cb68e1bba723">xc_ble_gen_random_nb</a> (void)</td></tr>
<tr class="memdesc:ab604fe36de6f1329e477cb68e1bba723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to generate an 8-byte random number. This can be useful to generate LTK<br />
random number before distributing it. <br /></td></tr>
<tr class="separator:ab604fe36de6f1329e477cb68e1bba723"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0ba068c56422a5474beac7d0b1474f4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#ac0ba068c56422a5474beac7d0b1474f4">xc_ble_set_irk</a> (gap_sec_key_t *irk)</td></tr>
<tr class="memdesc:ac0ba068c56422a5474beac7d0b1474f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Command to change the current IRK for a renewed one, it can be used every time<br />
no air operation is being performed. <br /></td></tr>
<tr class="separator:ac0ba068c56422a5474beac7d0b1474f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22ce34d8189a3b3395ba4c445f884fe8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a22ce34d8189a3b3395ba4c445f884fe8">xc_ble_get_ral_addr</a> (struct gapm_get_ral_addr_cmd *p_param)</td></tr>
<tr class="memdesc:a22ce34d8189a3b3395ba4c445f884fe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get local or peer resolvable private address <br /></td></tr>
<tr class="separator:a22ce34d8189a3b3395ba4c445f884fe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53abd81a1514f469597a98343fa78cb6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a53abd81a1514f469597a98343fa78cb6">xc_ble_set_ral_list</a> (uint8_t size, struct gap_ral_dev_info *ral_info)</td></tr>
<tr class="memdesc:a53abd81a1514f469597a98343fa78cb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request to set the content of the Resolving List. The current content of the indicated list will be cleared<br />
and replaced by the indicated content.<br />
If number of addresses to be added in the list is greater than list size, a GAP_ERR_INSUFF_RESOURCES status<br />
is returned in the GAPM_CMP_EVT message.<br />
A device can be present only once in the list. If not the case a GAP_ERR_INVALID_PARAM status is returned. <br /></td></tr>
<tr class="separator:a53abd81a1514f469597a98343fa78cb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49aefeb8219f22f011ac168df066df2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a49aefeb8219f22f011ac168df066df2b">xc_ble_set_white_list</a> (uint8_t size, gap_bdaddr_t *wl_info)</td></tr>
<tr class="memdesc:a49aefeb8219f22f011ac168df066df2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request to set the content of the White List. The current content of the indicated list will be cleared<br />
and replaced by the indicated content.<br />
If number of addresses to be added in the list is greater than list size, a GAP_ERR_INSUFF_RESOURCES status<br />
is returned in the GAPM_CMP_EVT message.<br />
A device can be present only once in the list. If not the case a GAP_ERR_INVALID_PARAM status is returned. <br /></td></tr>
<tr class="separator:a49aefeb8219f22f011ac168df066df2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a302688dc33182121e99dc7e21bcbd3fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a302688dc33182121e99dc7e21bcbd3fd">xc_ble_advertise_create</a> (struct gapm_activity_create_adv_cmd *adv_creat_param)</td></tr>
<tr class="memdesc:a302688dc33182121e99dc7e21bcbd3fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an advertising activity. <br /></td></tr>
<tr class="separator:a302688dc33182121e99dc7e21bcbd3fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a616c9afc3f54647926b1276bca6a8089"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a616c9afc3f54647926b1276bca6a8089">xc_ble_set_adv_data</a> (uint8_t actv_idx, uint16_t adv_data_length, uint8_t *p_adv_data)</td></tr>
<tr class="memdesc:a616c9afc3f54647926b1276bca6a8089"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set advertising data for a given previously created advertising activity identified by its<br />
activity identifier. <br /></td></tr>
<tr class="separator:a616c9afc3f54647926b1276bca6a8089"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab30b9a02568ad69f7d5a42f8d6ef04c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#ab30b9a02568ad69f7d5a42f8d6ef04c1">xc_ble_set_scan_rsp_data</a> (uint8_t actv_idx, uint16_t scan_rsp_data_length, uint8_t *p_scan_rsp_data)</td></tr>
<tr class="memdesc:ab30b9a02568ad69f7d5a42f8d6ef04c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set Scan response data for a given previously created advertising activity identified by its<br />
activity identifier. <br /></td></tr>
<tr class="separator:ab30b9a02568ad69f7d5a42f8d6ef04c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b0602de475f6fe1d1c98c020ab9a325"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a6b0602de475f6fe1d1c98c020ab9a325">xc_ble_advertise_start</a> (struct gapm_activity_start_cmd *adv_start_param)</td></tr>
<tr class="memdesc:a6b0602de475f6fe1d1c98c020ab9a325"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start an advertising activity. <br /></td></tr>
<tr class="separator:a6b0602de475f6fe1d1c98c020ab9a325"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24d5399c42348029a4ac111224dea2c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a24d5399c42348029a4ac111224dea2c1">xc_ble_scan_create</a> (struct gapm_activity_create_cmd *scan_creat_param)</td></tr>
<tr class="memdesc:a24d5399c42348029a4ac111224dea2c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a scanning activity. <br /></td></tr>
<tr class="separator:a24d5399c42348029a4ac111224dea2c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ccbd438f7c9f93c60490f885d8b4ff5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a6ccbd438f7c9f93c60490f885d8b4ff5">xc_ble_scan_start</a> (struct gapm_activity_start_cmd *scan_start_param)</td></tr>
<tr class="memdesc:a6ccbd438f7c9f93c60490f885d8b4ff5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a scanning activity. <br /></td></tr>
<tr class="separator:a6ccbd438f7c9f93c60490f885d8b4ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8c450504d215d2ca7bf1943341c3e94"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#ae8c450504d215d2ca7bf1943341c3e94">xc_ble_init_create</a> (struct gapm_activity_create_cmd *init_create_param)</td></tr>
<tr class="memdesc:ae8c450504d215d2ca7bf1943341c3e94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a initiating activity. <br /></td></tr>
<tr class="separator:ae8c450504d215d2ca7bf1943341c3e94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbf3f4ef618ca9e5f8cbde4c9be5c017"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#abbf3f4ef618ca9e5f8cbde4c9be5c017">xc_ble_init_start</a> (struct gapm_activity_start_cmd *init_start_param)</td></tr>
<tr class="memdesc:abbf3f4ef618ca9e5f8cbde4c9be5c017"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a initiating activity. <br /></td></tr>
<tr class="separator:abbf3f4ef618ca9e5f8cbde4c9be5c017"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fd5261b81364e2b61646ef9bf547aba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a9fd5261b81364e2b61646ef9bf547aba">xc_ble_activity_stop</a> (int actv_idx)</td></tr>
<tr class="memdesc:a9fd5261b81364e2b61646ef9bf547aba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop an activity or all activities. <br /></td></tr>
<tr class="separator:a9fd5261b81364e2b61646ef9bf547aba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aa48d2e4f951f84287e312185c7a05a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a3aa48d2e4f951f84287e312185c7a05a">xc_ble_activity_delete</a> (int actv_idx)</td></tr>
<tr class="memdesc:a3aa48d2e4f951f84287e312185c7a05a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete an activity or all activities <br /></td></tr>
<tr class="separator:a3aa48d2e4f951f84287e312185c7a05a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af101c86a3d290cb7282763922441309f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#af101c86a3d290cb7282763922441309f">xc_ble_disconnect</a> (int conidx, uint32_t reason)</td></tr>
<tr class="memdesc:af101c86a3d290cb7282763922441309f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request for disconnection of the link. This can be requested by master or slave of the connection. <br /></td></tr>
<tr class="separator:af101c86a3d290cb7282763922441309f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21cd6d397a7d1683e8e5cfa0bc4d2477"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a21cd6d397a7d1683e8e5cfa0bc4d2477">xc_ble_update_param</a> (int conidx, uint16_t intv_min, uint16_t intv_max, uint16_t latency, uint16_t time_out)</td></tr>
<tr class="memdesc:a21cd6d397a7d1683e8e5cfa0bc4d2477"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update connection paramters <br /></td></tr>
<tr class="separator:a21cd6d397a7d1683e8e5cfa0bc4d2477"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a426c742e32db7c6eeb7ddfe936ca60de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a426c742e32db7c6eeb7ddfe936ca60de">xc_ble_conn_cfm</a> (int conidx, struct gapc_connection_cfm *p_cfm)</td></tr>
<tr class="memdesc:a426c742e32db7c6eeb7ddfe936ca60de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Confirm connection request<br />
Set specific link security configuration and bonding data,<br />
Set connection bond data,<br />
Authentication and authorization link configuration.<br />
This confirmation message shall be sent by application after receiving a GAPC_CONNECTION_REQ_IND in<br />
order to enables local attribute tasks and security manager for the connection.<br />
It can be resent later if peer device information is retrieved later (for instance when a master initiates an<br />
encryption, information of the LTK can be used to identify peer device). In fact, when encryption is initiated<br />
by master device, it uses a couple of encryption diversifier (ediv) and random number (rand_nb) that can be<br />
used to retrieve corresponding encryption Long Term Key (LTK) that has been exchanged during a previous<br />
connection. By retrieving the LTK, we retrieve a known device and in that case before terminating encryption<br />
procedure, application shall update connection parameters. <br /></td></tr>
<tr class="separator:a426c742e32db7c6eeb7ddfe936ca60de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae952ffdaba08cbfa685ded3c0ea43a91"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#ae952ffdaba08cbfa685ded3c0ea43a91">xc_ble_get_peer_info</a> (int conidx, struct gapc_get_info_cmd *get_info)</td></tr>
<tr class="memdesc:ae952ffdaba08cbfa685ded3c0ea43a91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve information about peer device or about the current active link. <br /></td></tr>
<tr class="separator:ae952ffdaba08cbfa685ded3c0ea43a91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab28059e2556026f0e3d1c03b6a7ae094"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#ab28059e2556026f0e3d1c03b6a7ae094">xc_ble_param_update_cfm</a> (int conidx, struct gapc_param_update_cfm *update_cfm)</td></tr>
<tr class="memdesc:ab28059e2556026f0e3d1c03b6a7ae094"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used by to accept or refuse connection parameters proposed by peer device. <br /></td></tr>
<tr class="separator:ab28059e2556026f0e3d1c03b6a7ae094"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad48cd6ec8d6720706a1a7bf78b1b5d80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#ad48cd6ec8d6720706a1a7bf78b1b5d80">xc_ble_bond</a> (int conidx, struct gapc_bond_cmd *p_param)</td></tr>
<tr class="memdesc:ad48cd6ec8d6720706a1a7bf78b1b5d80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Requested by master of the link in order to initiate the bond procedure. It<br />
contains pairing requirement of initiator. <br /></td></tr>
<tr class="separator:ad48cd6ec8d6720706a1a7bf78b1b5d80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2faf430cf009a10a8c48c781a7019801"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a2faf430cf009a10a8c48c781a7019801">xc_ble_bond_cfm</a> (int conidx, struct gapc_bond_cfm *p_param)</td></tr>
<tr class="memdesc:a2faf430cf009a10a8c48c781a7019801"><td class="mdescLeft">&#160;</td><td class="mdescRight">Confirm bond request. <br /></td></tr>
<tr class="separator:a2faf430cf009a10a8c48c781a7019801"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72cb11848bfd2e1707b875ab6f47f13c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a72cb11848bfd2e1707b875ab6f47f13c">xc_ble_get_dev_info_cfm</a> (int conidx, struct gapc_get_dev_info_cfm *p_param)</td></tr>
<tr class="memdesc:a72cb11848bfd2e1707b875ab6f47f13c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the peer device obtains information about the local device.<br />
Device Name,<br />
<br />
Device Appearance,<br />
Icon Device Slave preferred parameters,<br />
Device Central address resolution,<br />
Device database hash value,<br />
Resolvable Private address only after bond.<br />
<br /></td></tr>
<tr class="separator:a72cb11848bfd2e1707b875ab6f47f13c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84c0b5e02412083219364b550d6ff46a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a84c0b5e02412083219364b550d6ff46a">xc_ble_set_dev_info_cfm</a> (int conidx, struct gapc_set_dev_info_cfm *p_param)</td></tr>
<tr class="memdesc:a84c0b5e02412083219364b550d6ff46a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send the write confirmation to the stack. <br /></td></tr>
<tr class="separator:a84c0b5e02412083219364b550d6ff46a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9905a437ccfa7ce1625a4d6b6d44808b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a9905a437ccfa7ce1625a4d6b6d44808b">xc_ble_encrypt</a> (int conidx, struct gapc_encrypt_cmd *p_param)</td></tr>
<tr class="memdesc:a9905a437ccfa7ce1625a4d6b6d44808b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This operation can be requested only by master of the link in order to initiate encryption procedure. It<br />
contains Long Term Key that should be used during the encryption. <br /></td></tr>
<tr class="separator:a9905a437ccfa7ce1625a4d6b6d44808b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4cec56dda71f2472b5f3a2ce6f85bab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#ab4cec56dda71f2472b5f3a2ce6f85bab">xc_ble_encrypt_cfm</a> (int conidx, struct gapc_encrypt_cfm *p_param)</td></tr>
<tr class="memdesc:ab4cec56dda71f2472b5f3a2ce6f85bab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Confirmation message to send after receiving a GAPC_ENCRYPT_REQ_IND message<br />
This message can is used to inform if encryption key has been found, if yes found Long Term Key and its size<br />
shall be provided. <br /></td></tr>
<tr class="separator:ab4cec56dda71f2472b5f3a2ce6f85bab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97a66dc286a5f3a93a8d87992a0765e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a97a66dc286a5f3a93a8d87992a0765e5">xc_ble_req_security</a> (int conidx, uint8_t sec_auth)</td></tr>
<tr class="memdesc:a97a66dc286a5f3a93a8d87992a0765e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This operation can be requested only by slave of the link in order to initiate security request procedure. It<br />
contains authentication level requested by current device. <br /></td></tr>
<tr class="separator:a97a66dc286a5f3a93a8d87992a0765e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19ca140b8a2c1c367875491d48cabaf8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a19ca140b8a2c1c367875491d48cabaf8">xc_ble_set_pkt_size</a> (int conidx, uint16_t tx_octets, uint16_t tx_time)</td></tr>
<tr class="memdesc:a19ca140b8a2c1c367875491d48cabaf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This operation to define the preferred packet length to be used by the controller<br />
<br /></td></tr>
<tr class="separator:a19ca140b8a2c1c367875491d48cabaf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69b77af2d118369ba2d32b3a02e2716a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gap__api_8h.html#a69b77af2d118369ba2d32b3a02e2716a">xc_ble_set_channel_map</a> (struct gapm_set_channel_map_cmd *p_param)</td></tr>
<tr class="memdesc:a69b77af2d118369ba2d32b3a02e2716a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This operation can be requested only by master of the link in order to set the channel map of the device.<br />
<br /></td></tr>
<tr class="separator:a69b77af2d118369ba2d32b3a02e2716a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>GAP API. Copyright (c) 2022 - 2025, XinChip All rights reserved. </p>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8h_source.html">xc_gap_api.h</a> 中定义.</p>
</div><h2 class="groupheader">函数说明</h2>
<a id="a3aa48d2e4f951f84287e312185c7a05a" name="a3aa48d2e4f951f84287e312185c7a05a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3aa48d2e4f951f84287e312185c7a05a">&#9670;&#160;</a></span>xc_ble_activity_delete()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_activity_delete </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>actv_idx</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Delete an activity or all activities </p>
<dl class="section note"><dt>注解</dt><dd>Request the host to delete either an activity identified by its activity identifier or all currently existing<br />
activities.<br />
If selected activity is not stopped (GAPM_DELETE_ACTIVITY operation) or if at least one activity is still<br />
running (GAPM_DELETE_ALL_ACTIVITIES), a GAP_ERR_COMMAND_DISALLOWED status will be returned in the<br />
GAPM_CMP_EVT message.</dd>
<dd>
GAPM_CMP_EVT: When operation has been completed, operation is GAPM_DELETE_ACTIVITY or GAPM_DELETE_ALL_ACTIVITIES.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">actv_idx</td><td>Activity index , If less than 0, stop all activities. activities </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00260">260</a> 行定义.</p>
</div>
</div>
<a id="a9fd5261b81364e2b61646ef9bf547aba" name="a9fd5261b81364e2b61646ef9bf547aba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fd5261b81364e2b61646ef9bf547aba">&#9670;&#160;</a></span>xc_ble_activity_stop()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_activity_stop </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>actv_idx</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Stop an activity or all activities. </p>
<dl class="section note"><dt>注解</dt><dd>Request the host to stop a started activity identified by its activity identifier.<br />
If the requested activity does not exist, GAPM_CMP_EVT message is returned with a<br />
GAP_ERR_INVALID_PARAM status. If the activity exists but was not started, error GAP_ERR_COMMAND_DISALLOWED<br />
is and no GAPM_ACTIVITY_STOPPED_IND message is sent.</dd>
<dd>
GAPM_ACTIVITY_STOPPED_IND: Once the requested activity has been successfully stopped.<br />
GAPM_CMP_EVT: When operation has been completed, operation is GAPM_ACTIVITY_START_CMD or GAPM_STOP_ALL_ACTIVITIES.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">actv_idx</td><td>Activity index ,If less than 0, stop all activities </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00245">245</a> 行定义.</p>
</div>
</div>
<a id="a302688dc33182121e99dc7e21bcbd3fd" name="a302688dc33182121e99dc7e21bcbd3fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a302688dc33182121e99dc7e21bcbd3fd">&#9670;&#160;</a></span>xc_ble_advertise_create()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_advertise_create </td>
<td>(</td>
<td class="paramtype">struct gapm_activity_create_adv_cmd *&#160;</td>
<td class="paramname"><em>adv_creat_param</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create an advertising activity. </p>
<dl class="section note"><dt>注解</dt><dd>The number of activities that can be created in parallel is limited. If the limit has been reached and a new<br />
activity cannot be created, a GAP_ERR_INSUFF_RESOURCES status will be returned in the GAPM_CMT_EVT message. </dd>
<dd>
GAPM_ACTIVITY_CREATED_IND: Once the requested activity has been successfully created.<br />
GAPM_CMP_EVT: When operation has been completed, operation is GAPM_CREATE_ADV_ACTIVITY.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">adv_creat_param</td><td>Pointer to activity create structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00139">139</a> 行定义.</p>
</div>
</div>
<a id="a6b0602de475f6fe1d1c98c020ab9a325" name="a6b0602de475f6fe1d1c98c020ab9a325"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b0602de475f6fe1d1c98c020ab9a325">&#9670;&#160;</a></span>xc_ble_advertise_start()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_advertise_start </td>
<td>(</td>
<td class="paramtype">struct gapm_activity_start_cmd *&#160;</td>
<td class="paramname"><em>adv_start_param</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start an advertising activity. </p>
<dl class="section note"><dt>注解</dt><dd>Several advertising activities can be started in parallel.</dd>
<dd>
GAPM_CMP_EVT: When operation has well been started or if an error has been detected, operation is GAPM_START_ACTIVITY. </dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">adv_start_param</td><td>Pointer to activity start structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00182">182</a> 行定义.</p>
</div>
</div>
<a id="ad48cd6ec8d6720706a1a7bf78b1b5d80" name="ad48cd6ec8d6720706a1a7bf78b1b5d80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad48cd6ec8d6720706a1a7bf78b1b5d80">&#9670;&#160;</a></span>xc_ble_bond()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_bond </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>conidx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct gapc_bond_cmd *&#160;</td>
<td class="paramname"><em>p_param</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Requested by master of the link in order to initiate the bond procedure. It<br />
contains pairing requirement of initiator. </p>
<dl class="section note"><dt>注解</dt><dd>GAPC_BOND_REQ_IND: Triggered if some information should be provided by device during the pairing.<br />
GAPC_BOND_IND: Triggered in order to receive key exchanged by peer device and get pairing status.<br />
GAPC_CMP_EVT: When operation completed, operation is GAPC_BOND.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">conidx</td><td>Connection index </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p_bond</td><td>Pointer to pairing requirement of initiator. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00344">344</a> 行定义.</p>
</div>
</div>
<a id="a2faf430cf009a10a8c48c781a7019801" name="a2faf430cf009a10a8c48c781a7019801"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2faf430cf009a10a8c48c781a7019801">&#9670;&#160;</a></span>xc_ble_bond_cfm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_bond_cfm </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>conidx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct gapc_bond_cfm *&#160;</td>
<td class="paramname"><em>p_param</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Confirm bond request. </p>
<dl class="section note"><dt>注解</dt><dd><br />
Confirmation message to send after receiving a GAPC_BOND_REQ_IND message<br />
This message can contain:<br />
Slave pairing information<br />
Pairing temporary key (TK)<br />
Key to provide to the peer device during key exchange.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">conidx</td><td>Connection index </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p_cfm</td><td>Pointer to bond confirm data structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00355">355</a> 行定义.</p>
</div>
</div>
<a id="a426c742e32db7c6eeb7ddfe936ca60de" name="a426c742e32db7c6eeb7ddfe936ca60de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a426c742e32db7c6eeb7ddfe936ca60de">&#9670;&#160;</a></span>xc_ble_conn_cfm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_conn_cfm </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>conidx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct gapc_connection_cfm *&#160;</td>
<td class="paramname"><em>p_cfm</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Confirm connection request<br />
Set specific link security configuration and bonding data,<br />
Set connection bond data,<br />
Authentication and authorization link configuration.<br />
This confirmation message shall be sent by application after receiving a GAPC_CONNECTION_REQ_IND in<br />
order to enables local attribute tasks and security manager for the connection.<br />
It can be resent later if peer device information is retrieved later (for instance when a master initiates an<br />
encryption, information of the LTK can be used to identify peer device). In fact, when encryption is initiated<br />
by master device, it uses a couple of encryption diversifier (ediv) and random number (rand_nb) that can be<br />
used to retrieve corresponding encryption Long Term Key (LTK) that has been exchanged during a previous<br />
connection. By retrieving the LTK, we retrieve a known device and in that case before terminating encryption<br />
procedure, application shall update connection parameters. </p>
<dl class="section note"><dt>注解</dt><dd>This is to response to the event "GAP_EVT_CONN_REQ". Application can<br />
call this API in the call back.<br />
If authentication parameter is marked has “Not Bonded”, other parameters are ignored and peer<br />
device is considered as an unknown device.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">conidx</td><td>Connection index </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p_cfm</td><td>Pointer to comfirm parameters structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00308">308</a> 行定义.</p>
</div>
</div>
<a id="af101c86a3d290cb7282763922441309f" name="af101c86a3d290cb7282763922441309f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af101c86a3d290cb7282763922441309f">&#9670;&#160;</a></span>xc_ble_disconnect()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_disconnect </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>conidx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>reason</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Request for disconnection of the link. This can be requested by master or slave of the connection. </p>
<dl class="section note"><dt>注解</dt><dd><br />
Reason of disconnection shall be a valid disconnection reason </dd></dl>
<dl class="section see"><dt>参见</dt><dd>enum co_error <br />
</dd></dl>
<dl class="section note"><dt>注解</dt><dd><br />
Either master or slave can call this function.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">conidx</td><td>Connection index. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">reason</td><td>Reason of disconnection, 0x13:User on the remote device terminated the connnection </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00276">276</a> 行定义.</p>
</div>
</div>
<a id="a9905a437ccfa7ce1625a4d6b6d44808b" name="a9905a437ccfa7ce1625a4d6b6d44808b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9905a437ccfa7ce1625a4d6b6d44808b">&#9670;&#160;</a></span>xc_ble_encrypt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_encrypt </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>conidx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct gapc_encrypt_cmd *&#160;</td>
<td class="paramname"><em>p_param</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This operation can be requested only by master of the link in order to initiate encryption procedure. It<br />
contains Long Term Key that should be used during the encryption. </p>
<dl class="section note"><dt>注解</dt><dd>GAPC_ENCRYPT_IND: Triggered if encryption operation succeed.<br />
GAPC_CMP_EVT: When operation completed. operation is GAPC_ENCRYPT.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">conidx</td><td>Connection index </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p_param</td><td>Pointer to data structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00393">393</a> 行定义.</p>
</div>
</div>
<a id="ab4cec56dda71f2472b5f3a2ce6f85bab" name="ab4cec56dda71f2472b5f3a2ce6f85bab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4cec56dda71f2472b5f3a2ce6f85bab">&#9670;&#160;</a></span>xc_ble_encrypt_cfm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_encrypt_cfm </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>conidx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct gapc_encrypt_cfm *&#160;</td>
<td class="paramname"><em>p_param</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Confirmation message to send after receiving a GAPC_ENCRYPT_REQ_IND message<br />
This message can is used to inform if encryption key has been found, if yes found Long Term Key and its size<br />
shall be provided. </p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">conidx</td><td>Connection index </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p_param</td><td>Pointer to data structure</td></tr>
</table>
</dd>
</dl>
<p>Confirmation message to send after receiving a GAPC_ENCRYPT_REQ_IND message<br />
This message can is used to inform if encryption key has been found, if yes found Long Term Key and its size<br />
shall be provided. </p>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00406">406</a> 行定义.</p>
</div>
</div>
<a id="a0f0610fc2a79c60eaa233fadf16ba2ce" name="a0f0610fc2a79c60eaa233fadf16ba2ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f0610fc2a79c60eaa233fadf16ba2ce">&#9670;&#160;</a></span>xc_ble_gapm_reset()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_gapm_reset </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Called only in the app_init(). It's used to reset the device but setting<br />
device configuration is still required to use host stack.<br />
Software reset: This will initialize the RW-BLE Host stack rearrange to default settings the ATT, GAP, GATT,<br />
L2CAP and SMP blocks. Furthermore, this will cause the host to send a reset command down to the link<br />
layer part. Platform reset: Use platform mechanism to reset hardware. </p>
<dl class="section note"><dt>注解</dt><dd>Trigger GAPM_CMP_EVT, operation is GAPM_RESET </dd></dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00013">13</a> 行定义.</p>
</div>
</div>
<a id="a0e65d91f43a8ba522870f87eaa44c74a" name="a0e65d91f43a8ba522870f87eaa44c74a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e65d91f43a8ba522870f87eaa44c74a">&#9670;&#160;</a></span>xc_ble_gen_random_addr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_gen_random_addr </td>
<td>(</td>
<td class="paramtype">struct gapm_gen_rand_addr_cmd *&#160;</td>
<td class="paramname"><em>p_param</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Generate a random device address without starting any air operation. This can be useful for privacy in order<br />
to generate the reconnection address on demand. </p>
<dl class="section note"><dt>注解</dt><dd>GAPM_DEV_BDADDR_IND: triggered when address generated.<br />
GAPM_CMP_EVT: When operation completed, operation is GAPM_GEN_RAND_ADDR. <br />
</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">p_param</td><td>random address type. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>参见</dt><dd>enum random_addr_type </dd></dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00060">60</a> 行定义.</p>
</div>
</div>
<a id="ab604fe36de6f1329e477cb68e1bba723" name="ab604fe36de6f1329e477cb68e1bba723"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab604fe36de6f1329e477cb68e1bba723">&#9670;&#160;</a></span>xc_ble_gen_random_nb()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_gen_random_nb </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Used to generate an 8-byte random number. This can be useful to generate LTK<br />
random number before distributing it. </p>
<dl class="section note"><dt>注解</dt><dd>GAPM_GEN_RAND_NB_IND: triggered when random number is generated.<br />
GAPM_CMP_EVT: When operation completed, operation is GAPM_GEN_RAND_NB. </dd></dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00081">81</a> 行定义.</p>
</div>
</div>
<a id="ae742af0accad0cbddac2cb4d4aa28a58" name="ae742af0accad0cbddac2cb4d4aa28a58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae742af0accad0cbddac2cb4d4aa28a58">&#9670;&#160;</a></span>xc_ble_get_dev_info()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_get_dev_info </td>
<td>(</td>
<td class="paramtype">struct gapm_get_dev_info_cmd *&#160;</td>
<td class="paramname"><em>cmd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get information about local device such as:<br />
Local Device Name<br />
Local Device Version<br />
Local Device Public BD Address<br />
Data Length Extension parameters<br />
Antenna information </p>
<dl class="section note"><dt>注解</dt><dd>operation is:<br />
GAPM_DEV_VERSION_IND: If local device version is requested.<br />
GAPM_DEV_BDADDR_IND: if local device public BD Address is requested.<br />
GAPM_DEV_ADV_TX_POWER_IND: If advertising TX power level is requested.<br />
GAPM_DBG_MEM_INFO_IND: if memory information are requested (DEBUG ONLY).<br />
GAPM_SUGG_DFLT_DATA_LEN_IND: if suggested Default Data Length is requested.<br />
GAPM_MAX_DATA_LEN_IND: if Maximum Data Length is requested.<br />
GAPM_NB_ADV_SETS_IND: if number of advertising sets is requested.<br />
GAPM_MAX_ADV_DATA_LEN_IND: if maximum advertising data length is requested.<br />
GAPM_ANTENNA_INF_IND: if antenna information requested.<br />
GAPM_CMP_EVT: When operation completed.<br />
</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">cmd</td><td>Command for information </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00035">35</a> 行定义.</p>
</div>
</div>
<a id="a72cb11848bfd2e1707b875ab6f47f13c" name="a72cb11848bfd2e1707b875ab6f47f13c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72cb11848bfd2e1707b875ab6f47f13c">&#9670;&#160;</a></span>xc_ble_get_dev_info_cfm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_get_dev_info_cfm </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>conidx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct gapc_get_dev_info_cfm *&#160;</td>
<td class="paramname"><em>p_param</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Called when the peer device obtains information about the local device.<br />
Device Name,<br />
<br />
Device Appearance,<br />
Icon Device Slave preferred parameters,<br />
Device Central address resolution,<br />
Device database hash value,<br />
Resolvable Private address only after bond.<br />
</p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">conidx</td><td>Connection index </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p_param</td><td>Pointer to data structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00365">365</a> 行定义.</p>
</div>
</div>
<a id="ae952ffdaba08cbfa685ded3c0ea43a91" name="ae952ffdaba08cbfa685ded3c0ea43a91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae952ffdaba08cbfa685ded3c0ea43a91">&#9670;&#160;</a></span>xc_ble_get_peer_info()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_get_peer_info </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>conidx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct gapc_get_info_cmd *&#160;</td>
<td class="paramname"><em>get_info</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieve information about peer device or about the current active link. </p>
<dl class="section note"><dt>注解</dt><dd><br />
Getting rssi information about peer device:<br />
operation is : GAPC_PEER_ATT_INFO_IND: Event triggered when peer device attribute DB info such as device name,<br />
appearance, slave preferred parameters or address resolution supported is requested.<br />
GAPC_PEER_VERSION_IND: Event triggered when peer device version is requested<br />
GAPC_PEER_FEATURES_IND: Event triggered when peer device features are requested<br />
GAPC_CON_RSSI_IND: Event triggered when connection RSSI is requested<br />
GAPC_CON_CHANNEL_MAP_IND: Event triggered when connection channel map is requested<br />
GAPC_LE_PING_TO_VAL_IND: Event triggered when LE Ping timeout value is requested<br />
GAPC_LE_PHY_IND: Event triggered when RX/TX PHYs are requested<br />
GAPC_CHAN_SEL_ALGO_IND: Event triggered when current channel selection algorithm is requested.<br />
GAPC_LOC_TX_PWR_IND: Event trigger when reading local TX power value<br />
GAPC_PEER_TX_PWR_IND: Event trigger when reading peer TX power value<br />
GAPC_CMP_EVT: When operation completed.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">conidx</td><td>Connection index </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">get_info</td><td>Pointer to parameters structure operation </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00319">319</a> 行定义.</p>
</div>
</div>
<a id="a3e4a7694930d1a8e5a8d3ccb466a42fe" name="a3e4a7694930d1a8e5a8d3ccb466a42fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e4a7694930d1a8e5a8d3ccb466a42fe">&#9670;&#160;</a></span>xc_ble_get_pub_key()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_get_pub_key </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read the local P-256 Public Key. This key is renewed each time this command is called by<br />
requester and so each pairing using secure connection. </p>
<dl class="section note"><dt>注解</dt><dd>GAPM_PUB_KEY_IND: triggered when P-256 Public Key properly read<br />
GAPM_CMP_EVT: When operation completed, operation is GAPM_GET_PUB_KEY. <br />
</dd></dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00071">71</a> 行定义.</p>
</div>
</div>
<a id="a22ce34d8189a3b3395ba4c445f884fe8" name="a22ce34d8189a3b3395ba4c445f884fe8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22ce34d8189a3b3395ba4c445f884fe8">&#9670;&#160;</a></span>xc_ble_get_ral_addr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_get_ral_addr </td>
<td>(</td>
<td class="paramtype">struct gapm_get_ral_addr_cmd *&#160;</td>
<td class="paramname"><em>p_param</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get local or peer resolvable private address </p>
<dl class="section note"><dt>注解</dt><dd>operation is:<br />
GAPM_GET_RAL_LOC_ADDR: Get resolving local address<br />
GAPM_GET_RAL_PEER_ADDR: Get resolving peer address<br />
</dd>
<dd>
GAPM_RAL_ADDR_IND: Return requested address.<br />
GAPM_CMP_EVT: When operation has been completed.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">p_param</td><td>Pointer Read local or peer address cmd ptr. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00102">102</a> 行定义.</p>
</div>
</div>
<a id="ae8c450504d215d2ca7bf1943341c3e94" name="ae8c450504d215d2ca7bf1943341c3e94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8c450504d215d2ca7bf1943341c3e94">&#9670;&#160;</a></span>xc_ble_init_create()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_init_create </td>
<td>(</td>
<td class="paramtype">struct gapm_activity_create_cmd *&#160;</td>
<td class="paramname"><em>init_create_param</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a initiating activity. </p>
<dl class="section note"><dt>注解</dt><dd>GAPM_ACTIVITY_CREATED_IND: Once the requested activity has been successfully created.<br />
GAPM_CMP_EVT: When operation has been completed, operation is GAPM_CREATE_INIT_ACTIVITY.<br />
The number of activities that can be created in parallel is limited. If the limit has been reached and a new<br />
activity cannot be created, a GAP_ERR_INSUFF_RESOURCES status will be returned in the GAPM_CMT_EVT message. </dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">init_creat_param</td><td>Pointer to activity create structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00216">216</a> 行定义.</p>
</div>
</div>
<a id="abbf3f4ef618ca9e5f8cbde4c9be5c017" name="abbf3f4ef618ca9e5f8cbde4c9be5c017"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbf3f4ef618ca9e5f8cbde4c9be5c017">&#9670;&#160;</a></span>xc_ble_init_start()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_init_start </td>
<td>(</td>
<td class="paramtype">struct gapm_activity_start_cmd *&#160;</td>
<td class="paramname"><em>init_start_param</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start a initiating activity. </p>
<dl class="section note"><dt>注解</dt><dd>GAPM_CMP_EVT: When operation has well been started or if an error has been detected, operation is GAPM_ACTIVITY_START_CMD.<br />
it is not possible to start several scanning or<br />
several initiating activities as controller only supports one scanning and one initiating procedure to be run in parallel.<br />
It is then application responsibility to decide which scanning/initiating activity can be started.<br />
If this rule is not respected, GAPM_CMP_EVT message will be returned with a<br />
GAP_ERR_COMMAND_DISALLOWED status. </dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">init_start_param</td><td>Pointer to activity start structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00228">228</a> 行定义.</p>
</div>
</div>
<a id="ab28059e2556026f0e3d1c03b6a7ae094" name="ab28059e2556026f0e3d1c03b6a7ae094"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab28059e2556026f0e3d1c03b6a7ae094">&#9670;&#160;</a></span>xc_ble_param_update_cfm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_param_update_cfm </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>conidx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct gapc_param_update_cfm *&#160;</td>
<td class="paramname"><em>update_cfm</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Used by to accept or refuse connection parameters proposed by peer device. </p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">conidx</td><td>Connection index </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">update_cfm</td><td>Pointer to parameters structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00330">330</a> 行定义.</p>
</div>
</div>
<a id="a97a66dc286a5f3a93a8d87992a0765e5" name="a97a66dc286a5f3a93a8d87992a0765e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97a66dc286a5f3a93a8d87992a0765e5">&#9670;&#160;</a></span>xc_ble_req_security()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_req_security </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>conidx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>sec_auth</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This operation can be requested only by slave of the link in order to initiate security request procedure. It<br />
contains authentication level requested by current device. </p>
<dl class="section note"><dt>注解</dt><dd>GAPC_CMP_EVT: When operation completed. operation is GAPC_SECURITY_REQ.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">conidx</td><td>Connection index </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p_param</td><td>Pointer to data structure.</td></tr>
</table>
</dd>
</dl>
<p>This operation can be requested only by slave of the link in order to initiate security request procedure. It<br />
contains authentication level requested by current device. </p>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00418">418</a> 行定义.</p>
</div>
</div>
<a id="acd5fe32f1f03a54fa0d341a19fa5a5f6" name="acd5fe32f1f03a54fa0d341a19fa5a5f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd5fe32f1f03a54fa0d341a19fa5a5f6">&#9670;&#160;</a></span>xc_ble_resolve_addr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_resolve_addr </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>nb_key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">gap_addr_t *&#160;</td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>irk</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Resolve provided random address using array of Identity Resolution Key (IRK) exchanged and bonded with<br />
devices during pairing operations.<br />
Operation will complete successfully if address has been correctly resolved and GAPM_ADDR_SOLVED_IND<br />
message will be triggered to inform which key has been used to perform resolution.<br />
Else operation complete with GAP_ERR_NOT_FOUND error status code. </p>
<dl class="section note"><dt>注解</dt><dd>GAPM_ADDR_SOLVED_IND: triggered if address correctly resolved.<br />
GAPM_CMP_EVT: When operation completed, operation is GAPM_RESOLV_ADDR. <br />
</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">nb_key</td><td>Number of provided IRK (sahlle be &gt; 0). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Pointer to resolvable random address to solve. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">irk</td><td>Pointer to array of IRK used for address resolution (MSB -&gt; LSB). </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00045">45</a> 行定义.</p>
</div>
</div>
<a id="a24d5399c42348029a4ac111224dea2c1" name="a24d5399c42348029a4ac111224dea2c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24d5399c42348029a4ac111224dea2c1">&#9670;&#160;</a></span>xc_ble_scan_create()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_scan_create </td>
<td>(</td>
<td class="paramtype">struct gapm_activity_create_cmd *&#160;</td>
<td class="paramname"><em>scan_creat_param</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a scanning activity. </p>
<dl class="section note"><dt>注解</dt><dd><br />
The number of activities that can be created in parallel is limited. If the limit has been reached and a new<br />
activity cannot be created, a GAP_ERR_INSUFF_RESOURCES status will be returned in the GAPM_CMT_EVT message. </dd>
<dd>
GAPM_ACTIVITY_CREATED_IND: Once the requested activity has been successfully created.<br />
GAPM_CMP_EVT: When operation has been completed, operation is GAPM_CREATE_SCAN_ACTIVITY.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">scan_creat_param</td><td>Pointer to activity create structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00193">193</a> 行定义.</p>
</div>
</div>
<a id="a6ccbd438f7c9f93c60490f885d8b4ff5" name="a6ccbd438f7c9f93c60490f885d8b4ff5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ccbd438f7c9f93c60490f885d8b4ff5">&#9670;&#160;</a></span>xc_ble_scan_start()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_scan_start </td>
<td>(</td>
<td class="paramtype">struct gapm_activity_start_cmd *&#160;</td>
<td class="paramname"><em>scan_start_param</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start a scanning activity. </p>
<dl class="section note"><dt>注解</dt><dd>it is not possible to start several scanning or several initiating activities as controller only<br />
supports one scanning and one initiating procedure to be run in parallel.<br />
It is then application responsibility to decide which scanning/initiating activity can be started.<br />
If this rule is not respected, GAPM_CMP_EVT message will be returned with a<br />
GAP_ERR_COMMAND_DISALLOWED status.</dd>
<dd>
GAPM_CMP_EVT: When operation has well been started or if an error has been detected, operation is GAPM_START_ACTIVITY. </dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">scan_start_param</td><td>Pointer to activity start structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00205">205</a> 行定义.</p>
</div>
</div>
<a id="a616c9afc3f54647926b1276bca6a8089" name="a616c9afc3f54647926b1276bca6a8089"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a616c9afc3f54647926b1276bca6a8089">&#9670;&#160;</a></span>xc_ble_set_adv_data()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_set_adv_data </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>actv_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>adv_data_length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>p_adv_data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set advertising data for a given previously created advertising activity identified by its<br />
activity identifier. </p>
<dl class="section note"><dt>注解</dt><dd>If the provided identifier appears not to identify an existing advertising activity, GAPM_CMP_EVT message<br />
will be returned with a GAP_ERR_INVALID_PARAM status.</dd>
<dd>
GAPM_CMP_EVT: When operation completed, operation is GAPM_SET_ADV_DATA.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">actv_idx</td><td>Activity identifier </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">adv_data_length</td><td>ADV data length </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p_adv_data</td><td>Pointer to adv data </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00152">152</a> 行定义.</p>
</div>
</div>
<a id="a69b77af2d118369ba2d32b3a02e2716a" name="a69b77af2d118369ba2d32b3a02e2716a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69b77af2d118369ba2d32b3a02e2716a">&#9670;&#160;</a></span>xc_ble_set_channel_map()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_set_channel_map </td>
<td>(</td>
<td class="paramtype">struct gapm_set_channel_map_cmd *&#160;</td>
<td class="paramname"><em>p_param</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This operation can be requested only by master of the link in order to set the channel map of the device.<br />
</p>
<dl class="section note"><dt>注解</dt><dd>GAPC_CMP_EVT: When operation completed. operation is GAPC_SECURITY_REQ.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">p_param</td><td>Pointer to data structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00458">458</a> 行定义.</p>
</div>
</div>
<a id="a764e4b1efa93d9d0d87bc8c29ca36c0a" name="a764e4b1efa93d9d0d87bc8c29ca36c0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a764e4b1efa93d9d0d87bc8c29ca36c0a">&#9670;&#160;</a></span>xc_ble_set_dev_config()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_set_dev_config </td>
<td>(</td>
<td class="paramtype">struct gapm_set_dev_config_cmd *&#160;</td>
<td class="paramname"><em>cfg_param</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the device configuration such as:<br />
Device role<br />
Manage device address type: Public, Private static or Generated for Privacy<br />
Internal IRK used to generate resolvable random address.<br />
Set Internal GAP / GATT service start.<br />
Set specific write permissions on the appearance and name attributes in internal GAP database.<br />
Manage presence of some attribute.<br />
Configure Data Length Extension features.<br />
The set device configuration first resets the device to close all active link and configured profiles.<br />
This command must be sent before adding profiles and start air activities. </p>
<dl class="section note"><dt>注解</dt><dd>Trigger GAPM_CMP_EVT, operation is GAPM_SET_DEV_CONFIG.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">cfg_param</td><td>Pointer to the device configurtion structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00024">24</a> 行定义.</p>
</div>
</div>
<a id="a84c0b5e02412083219364b550d6ff46a" name="a84c0b5e02412083219364b550d6ff46a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84c0b5e02412083219364b550d6ff46a">&#9670;&#160;</a></span>xc_ble_set_dev_info_cfm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_set_dev_info_cfm </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>conidx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct gapc_set_dev_info_cfm *&#160;</td>
<td class="paramname"><em>p_param</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send the write confirmation to the stack. </p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">conidx</td><td>Connection index </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p_param</td><td>Pointer to data structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00382">382</a> 行定义.</p>
</div>
</div>
<a id="ac0ba068c56422a5474beac7d0b1474f4" name="ac0ba068c56422a5474beac7d0b1474f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0ba068c56422a5474beac7d0b1474f4">&#9670;&#160;</a></span>xc_ble_set_irk()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_set_irk </td>
<td>(</td>
<td class="paramtype">gap_sec_key_t *&#160;</td>
<td class="paramname"><em>irk</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Command to change the current IRK for a renewed one, it can be used every time<br />
no air operation is being performed. </p>
<dl class="section note"><dt>注解</dt><dd>GAPM_CMP_EVT: When operation completed,</dd>
<dd>
This can only be called during no air operation, operation is GAPM_SET_IRK.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">p_param</td><td>Pointer to a security key data structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00091">91</a> 行定义.</p>
</div>
</div>
<a id="a19ca140b8a2c1c367875491d48cabaf8" name="a19ca140b8a2c1c367875491d48cabaf8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19ca140b8a2c1c367875491d48cabaf8">&#9670;&#160;</a></span>xc_ble_set_pkt_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_set_pkt_size </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>conidx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>tx_octets</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>tx_time</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This operation to define the preferred packet length to be used by the controller<br />
</p>
<dl class="section note"><dt>注解</dt><dd>GAPC_CMP_EVT: When operation completed. operation is GAPC_SECURITY_REQ. GAPC_LE_PKT_SIZE_IND: Event triggered with the new values</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">conidx</td><td>Connection index </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tx_octets</td><td>Preferred maximum number of payload octets that the local Controller should include in<br />
a single Link Layer Data Channel PDU. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tx_time</td><td>Preferred maximum number of microseconds that the local Controller should use to transmit<br />
a single Link Layer Data Channel PDU </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00430">430</a> 行定义.</p>
</div>
</div>
<a id="a53abd81a1514f469597a98343fa78cb6" name="a53abd81a1514f469597a98343fa78cb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53abd81a1514f469597a98343fa78cb6">&#9670;&#160;</a></span>xc_ble_set_ral_list()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_set_ral_list </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct gap_ral_dev_info *&#160;</td>
<td class="paramname"><em>ral_info</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Request to set the content of the Resolving List. The current content of the indicated list will be cleared<br />
and replaced by the indicated content.<br />
If number of addresses to be added in the list is greater than list size, a GAP_ERR_INSUFF_RESOURCES status<br />
is returned in the GAPM_CMP_EVT message.<br />
A device can be present only once in the list. If not the case a GAP_ERR_INVALID_PARAM status is returned. </p>
<dl class="section note"><dt>注解</dt><dd>GAPM_CMP_EVT: When operation has been completed, operation is GAPM_SET_RAL.</dd>
<dd>
This will overwrite the current resolving list.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of entries to be added in the list. 0 means that list content has to be cleared. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ral_info</td><td>Pointer to list of entries to be added in the list. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00113">113</a> 行定义.</p>
</div>
</div>
<a id="ab30b9a02568ad69f7d5a42f8d6ef04c1" name="ab30b9a02568ad69f7d5a42f8d6ef04c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab30b9a02568ad69f7d5a42f8d6ef04c1">&#9670;&#160;</a></span>xc_ble_set_scan_rsp_data()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_set_scan_rsp_data </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>actv_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>scan_rsp_data_length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>p_scan_rsp_data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set Scan response data for a given previously created advertising activity identified by its<br />
activity identifier. </p>
<dl class="section note"><dt>注解</dt><dd>If the provided identifier appears not to identify an existing advertising activity, GAPM_CMP_EVT message<br />
will be returned with a GAP_ERR_INVALID_PARAM status.</dd>
<dd>
GAPM_CMP_EVT: When operation completed, operation is GAPM_SET_SCAN_RSP_DATA.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">actv_idx</td><td>Activity identifier </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">scan_rsp_data_length</td><td>Scan response data length </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p_scan_rsp_data</td><td>Pointer to scan response data. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00167">167</a> 行定义.</p>
</div>
</div>
<a id="a49aefeb8219f22f011ac168df066df2b" name="a49aefeb8219f22f011ac168df066df2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49aefeb8219f22f011ac168df066df2b">&#9670;&#160;</a></span>xc_ble_set_white_list()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_set_white_list </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">gap_bdaddr_t *&#160;</td>
<td class="paramname"><em>wl_info</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Request to set the content of the White List. The current content of the indicated list will be cleared<br />
and replaced by the indicated content.<br />
If number of addresses to be added in the list is greater than list size, a GAP_ERR_INSUFF_RESOURCES status<br />
is returned in the GAPM_CMP_EVT message.<br />
A device can be present only once in the list. If not the case a GAP_ERR_INVALID_PARAM status is returned. </p>
<dl class="section note"><dt>注解</dt><dd>GAPM_CMP_EVT: When operation has been completed, operation is GAPM_SET_WL.</dd>
<dd>
This will overwrite the current white list.</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of entries to be added in the list. 0 means that list content has to be cleared. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">wl_info</td><td>Pointer to list of entries to be added in the list. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00126">126</a> 行定义.</p>
</div>
</div>
<a id="a21cd6d397a7d1683e8e5cfa0bc4d2477" name="a21cd6d397a7d1683e8e5cfa0bc4d2477"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21cd6d397a7d1683e8e5cfa0bc4d2477">&#9670;&#160;</a></span>xc_ble_update_param()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void xc_ble_update_param </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>conidx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>intv_min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>intv_max</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>latency</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>time_out</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Update connection paramters </p>
<dl class="section note"><dt>注解</dt><dd>GAPC_PARAM_UPDATED_IND: event triggered if connection parameters are updated.<br />
GAPC_CMP_EVT: When operation completed, operation is GAPC_UPDATE_PARAMS.</dd>
<dd>
: Can be used by both master and slave</dd></dl>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">conidx</td><td>Connection index </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p_conn_param</td><td>Pointer to update parameters structure. </td></tr>
</table>
</dd>
</dl>
<p class="definition">在文件 <a class="el" href="xc__gap__api_8c_source.html">xc_gap_api.c</a><a class="el" href="xc__gap__api_8c_source.html#l00288">288</a> 行定义.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>