700 lines
34 KiB
HTML
700 lines
34 KiB
HTML
<!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_gatt_server_api.c 文件参考</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"> 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_gatt_server_api.c 文件参考</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>GATT server APIs source code Copyright (c) 2022 - 2025, XinChip All rights reserved.
|
|
<a href="#details">更多...</a></p>
|
|
|
|
<p><a href="xc__gatt__server__api_8c_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:a0d2f9f632077a0aa60edfb1b4b958573"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gatt__server__api_8c.html#a0d2f9f632077a0aa60edfb1b4b958573">xc_ble_gatt_user_srv_register</a> (uint16_t pref_mtu, uint8_t prio_level, const gatt_srv_cb_t *p_cb, uint8_t *p_user_lid)</td></tr>
|
|
<tr class="memdesc:a0d2f9f632077a0aa60edfb1b4b958573"><td class="mdescLeft"> </td><td class="mdescRight">Command used to register a GATT user. This must be done prior to any GATT procedure execution. <br /></td></tr>
|
|
<tr class="separator:a0d2f9f632077a0aa60edfb1b4b958573"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae1a5e7496618129e47cc296204d57371"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gatt__server__api_8c.html#ae1a5e7496618129e47cc296204d57371">xc_ble_gatt_service_add</a> (uint8_t user_lid, uint8_t info, const uint8_t *p_uuid, uint8_t nb_att, const uint8_t *p_att_mask, const gatt_att_desc_t *p_atts, uint8_t nb_att_rsvd, uint16_t *p_start_hdl)</td></tr>
|
|
<tr class="memdesc:ae1a5e7496618129e47cc296204d57371"><td class="mdescLeft"> </td><td class="mdescRight">Command used to add a service into local attribute database. <br /></td></tr>
|
|
<tr class="separator:ae1a5e7496618129e47cc296204d57371"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab8bb092e4ad03053689b18478ba3720f"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gatt__server__api_8c.html#ab8bb092e4ad03053689b18478ba3720f">xc_ble_gatt_service16_add</a> (uint8_t user_lid, uint8_t info, uint16_t uuid16, uint8_t nb_att, const uint8_t *p_att_mask, const gatt_att16_desc_t *p_atts, uint8_t nb_att_rsvd, uint16_t *p_start_hdl)</td></tr>
|
|
<tr class="memdesc:ab8bb092e4ad03053689b18478ba3720f"><td class="mdescLeft"> </td><td class="mdescRight">Command used to add a service into local attribute database. <br /></td></tr>
|
|
<tr class="separator:ab8bb092e4ad03053689b18478ba3720f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0338534f23ffd6dc99129905a931c5cc"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gatt__server__api_8c.html#a0338534f23ffd6dc99129905a931c5cc">xc_ble_gatt_service_remove</a> (uint8_t user_lid, uint16_t start_hdl)</td></tr>
|
|
<tr class="memdesc:a0338534f23ffd6dc99129905a931c5cc"><td class="mdescLeft"> </td><td class="mdescRight">Command used to remove a service from local attribute database. <br /></td></tr>
|
|
<tr class="separator:a0338534f23ffd6dc99129905a931c5cc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad2b3907a378e1e09c8af4c62ae190659"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gatt__server__api_8c.html#ad2b3907a378e1e09c8af4c62ae190659">xc_ble_gatt_srv_notify</a> (uint8_t conidx, uint8_t user_lid, uint16_t dummy, uint16_t hdl, uint16_t length, const uint8_t *p_value)</td></tr>
|
|
<tr class="memdesc:ad2b3907a378e1e09c8af4c62ae190659"><td class="mdescLeft"> </td><td class="mdescRight">Command used by a GATT server user to send notifications <br /></td></tr>
|
|
<tr class="separator:ad2b3907a378e1e09c8af4c62ae190659"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac33c66a1b8d8b24a72c563be5d09e14b"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gatt__server__api_8c.html#ac33c66a1b8d8b24a72c563be5d09e14b">xc_ble_gatt_srv_indicate</a> (uint8_t conidx, uint8_t user_lid, uint16_t dummy, uint16_t hdl, uint16_t length, const uint8_t *p_value)</td></tr>
|
|
<tr class="memdesc:ac33c66a1b8d8b24a72c563be5d09e14b"><td class="mdescLeft"> </td><td class="mdescRight">Command used by a GATT server user to send indication <br /></td></tr>
|
|
<tr class="separator:ac33c66a1b8d8b24a72c563be5d09e14b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5a0dc7a37707ac90e70b5b9d08d1190c"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gatt__server__api_8c.html#a5a0dc7a37707ac90e70b5b9d08d1190c">xc_ble_gatt_srv_read_cfm</a> (uint8_t conidx, uint8_t user_lid, uint16_t token, uint16_t status, uint16_t att_length, uint16_t length, const uint8_t *p_value)</td></tr>
|
|
<tr class="memdesc:a5a0dc7a37707ac90e70b5b9d08d1190c"><td class="mdescLeft"> </td><td class="mdescRight">Upper layer provide attribute value requested by GATT Layer for a read procedure If rejected, value is not used. <br /></td></tr>
|
|
<tr class="separator:a5a0dc7a37707ac90e70b5b9d08d1190c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6fa35175559567fb8c7301b6bae1bf24"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="xc__gatt__server__api_8c.html#a6fa35175559567fb8c7301b6bae1bf24">xc_ble_gatt_srv_write_cfm</a> (uint8_t conidx, uint8_t user_lid, uint16_t token, uint16_t status)</td></tr>
|
|
<tr class="memdesc:a6fa35175559567fb8c7301b6bae1bf24"><td class="mdescLeft"> </td><td class="mdescRight">Upper layer provide status of attribute value modification by GATT server user. Confirmation server user when an attribute value has been written by a peer device. <br /></td></tr>
|
|
<tr class="separator:a6fa35175559567fb8c7301b6bae1bf24"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
|
|
<div class="textblock"><p>GATT server APIs source code Copyright (c) 2022 - 2025, XinChip All rights reserved. </p>
|
|
|
|
<p class="definition">在文件 <a class="el" href="xc__gatt__server__api_8c_source.html">xc_gatt_server_api.c</a> 中定义.</p>
|
|
</div><h2 class="groupheader">函数说明</h2>
|
|
<a id="ab8bb092e4ad03053689b18478ba3720f" name="ab8bb092e4ad03053689b18478ba3720f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab8bb092e4ad03053689b18478ba3720f">◆ </a></span>xc_ble_gatt_service16_add()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint16_t xc_ble_gatt_service16_add </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>user_lid</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>info</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>uuid16</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>nb_att</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const uint8_t * </td>
|
|
<td class="paramname"><em>p_att_mask</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const gatt_att16_desc_t * </td>
|
|
<td class="paramname"><em>p_atts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>nb_att_rsvd</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t * </td>
|
|
<td class="paramname"><em>p_start_hdl</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Command used to add a service into local attribute database. </p>
|
|
<pre class="fragment"> Service and attributes UUIDs in service must be 16-bit
|
|
|
|
If start handle is set to zero (invalid attribute handle), GATT looks for a
|
|
free handle block matching with number of attributes to reserve.
|
|
Else, according to start handle, GATT checks if attributes to reserve are
|
|
not overlapping part of existing database.
|
|
|
|
An added service is automatically visible for peer device.
|
|
|
|
@note First attribute in attribute array must be a Primary or a Secondary service
|
|
</pre> <dl class="params"><dt>参数</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">user_lid</td><td>GATT User Local identifier </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Service Information bit field (</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>参见</dt><dd>enum gatt_svc_info_bf) </dd></dl>
|
|
<dl class="params"><dt>参数</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">uuid16</td><td>Service UUID (16-bit UUID - LSB First) </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">nb_att</td><td>Number of attribute(s) in service </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">p_att_mask</td><td>Pointer to mask of attribute to insert in database:<ul>
|
|
<li>If NULL insert all attributes</li>
|
|
<li>If bit set to 1: attribute inserted</li>
|
|
<li>If bit set to 0: attribute not inserted </li>
|
|
</ul>
|
|
</td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">p_atts</td><td>Pointer to List of attribute (with 16-bit uuid) description present in service. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">nb_att_rsvd</td><td>Number of attribute(s) reserved for the service (shall be equals or greater nb_att) Prevent any services to be inserted between start_hdl and (start_hdl + nb_att_rsvd - 1) </td></tr>
|
|
<tr><td class="paramdir"></td><td class="paramname">[in|out]</td><td>p_start_hdl Pointer to Service Start Handle (0 = chosen by GATT module) Pointer updated with service start handle associated to created service.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>返回</dt><dd>Status of the function execution (</dd></dl>
|
|
<dl class="section see"><dt>参见</dt><dd>enum hl_err) </dd></dl>
|
|
|
|
<p class="definition">在文件 <a class="el" href="xc__gatt__server__api_8c_source.html">xc_gatt_server_api.c</a> 第 <a class="el" href="xc__gatt__server__api_8c_source.html#l00030">30</a> 行定义.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae1a5e7496618129e47cc296204d57371" name="ae1a5e7496618129e47cc296204d57371"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae1a5e7496618129e47cc296204d57371">◆ </a></span>xc_ble_gatt_service_add()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint16_t xc_ble_gatt_service_add </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>user_lid</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>info</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const uint8_t * </td>
|
|
<td class="paramname"><em>p_uuid</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>nb_att</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const uint8_t * </td>
|
|
<td class="paramname"><em>p_att_mask</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const gatt_att_desc_t * </td>
|
|
<td class="paramname"><em>p_atts</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>nb_att_rsvd</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t * </td>
|
|
<td class="paramname"><em>p_start_hdl</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Command used to add a service into local attribute database. </p>
|
|
<pre class="fragment"> If start handle is set to zero (invalid attribute handle), GATT looks for a
|
|
free handle block matching with number of attributes to reserve.
|
|
Else, according to start handle, GATT checks if attributes to reserve are
|
|
not overlapping part of existing database.
|
|
|
|
An added service is automatically visible for peer device.
|
|
|
|
@note First attribute in attribute array must be a Primary or a Secondary service
|
|
</pre> <dl class="params"><dt>参数</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">user_lid</td><td>GATT User Local identifier </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Service Information bit field (</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>参见</dt><dd>enum gatt_svc_info_bf) </dd></dl>
|
|
<dl class="params"><dt>参数</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">p_uuid</td><td>Pointer to service UUID (LSB first) </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">nb_att</td><td>Number of attribute(s) in service </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">p_att_mask</td><td>Pointer to mask of attribute to insert in database:<ul>
|
|
<li>If NULL insert all attributes</li>
|
|
<li>If bit set to 1: attribute inserted</li>
|
|
<li>If bit set to 0: attribute not inserted </li>
|
|
</ul>
|
|
</td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">p_atts</td><td>Pointer to List of attribute description present in service. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">nb_att_rsvd</td><td>Number of attribute(s) reserved for the service (shall be equals or greater nb_att) Prevent any services to be inserted between start_hdl and (start_hdl + nb_att_rsvd -1) </td></tr>
|
|
<tr><td class="paramdir"></td><td class="paramname">[in|out]</td><td>p_start_hdl Pointer to Service Start Handle (0 = chosen by GATT module) Pointer updated with service start handle associated to created service.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>返回</dt><dd>Status of the function execution (</dd></dl>
|
|
<dl class="section see"><dt>参见</dt><dd>enum hl_err) </dd></dl>
|
|
|
|
<p class="definition">在文件 <a class="el" href="xc__gatt__server__api_8c_source.html">xc_gatt_server_api.c</a> 第 <a class="el" href="xc__gatt__server__api_8c_source.html#l00020">20</a> 行定义.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0338534f23ffd6dc99129905a931c5cc" name="a0338534f23ffd6dc99129905a931c5cc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0338534f23ffd6dc99129905a931c5cc">◆ </a></span>xc_ble_gatt_service_remove()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint16_t xc_ble_gatt_service_remove </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>user_lid</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>start_hdl</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Command used to remove a service from local attribute database. </p>
|
|
<pre class="fragment"> Only GATT user responsible of service can remove it.
|
|
</pre> <dl class="params"><dt>参数</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">user_lid</td><td>GATT User Local identifier </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">start_hdl</td><td>Service Start Handle</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>返回</dt><dd>Status of the function execution (</dd></dl>
|
|
<dl class="section see"><dt>参见</dt><dd>enum hl_err) </dd></dl>
|
|
|
|
<p class="definition">在文件 <a class="el" href="xc__gatt__server__api_8c_source.html">xc_gatt_server_api.c</a> 第 <a class="el" href="xc__gatt__server__api_8c_source.html#l00040">40</a> 行定义.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac33c66a1b8d8b24a72c563be5d09e14b" name="ac33c66a1b8d8b24a72c563be5d09e14b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac33c66a1b8d8b24a72c563be5d09e14b">◆ </a></span>xc_ble_gatt_srv_indicate()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint16_t xc_ble_gatt_srv_indicate </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>conidx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>user_lid</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>dummy</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>hdl</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>length</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const uint8_t * </td>
|
|
<td class="paramname"><em>p_value</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Command used by a GATT server user to send indication </p>
|
|
<pre class="fragment"> Since user is not aware of MTU size of the bearer used for attribute
|
|
transmission it cannot be considered reliable. If size of the data buffer is too
|
|
big, data is truncated to max supported length.
|
|
|
|
Wait for @see cb_event_sent execution before starting a new procedure
|
|
</pre> <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">user_lid</td><td>GATT User Local identifier </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">dummy</td><td>Dummy parameter whose meaning is upper layer dependent and which is returned in command complete. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">hdl</td><td>Attribute handle </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Value length </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">p_value</td><td>Pointer to Value to transmit</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>返回</dt><dd>Status of the function execution (</dd></dl>
|
|
<dl class="section see"><dt>参见</dt><dd>enum hl_err) Consider status only if an error occurs; else wait for execution completion </dd></dl>
|
|
|
|
<p class="definition">在文件 <a class="el" href="xc__gatt__server__api_8c_source.html">xc_gatt_server_api.c</a> 第 <a class="el" href="xc__gatt__server__api_8c_source.html#l00069">69</a> 行定义.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad2b3907a378e1e09c8af4c62ae190659" name="ad2b3907a378e1e09c8af4c62ae190659"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad2b3907a378e1e09c8af4c62ae190659">◆ </a></span>xc_ble_gatt_srv_notify()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint16_t xc_ble_gatt_srv_notify </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>conidx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>user_lid</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>dummy</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>hdl</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>length</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const uint8_t * </td>
|
|
<td class="paramname"><em>p_value</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Command used by a GATT server user to send notifications </p>
|
|
<pre class="fragment"> Since user is not aware of MTU size of the bearer used for attribute
|
|
transmission it cannot be considered reliable. If size of the data buffer is too
|
|
big, data is truncated to max supported length.
|
|
|
|
Wait for @see cb_event_sent execution before starting a new procedure
|
|
</pre> <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">user_lid</td><td>GATT User Local identifier </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">dummy</td><td>Dummy parameter whose meaning is upper layer dependent and which is returned in command complete. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">hdl</td><td>Attribute handle </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Value length </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">p_value</td><td>Pointer to Value to transmit</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>返回</dt><dd>Status of the function execution (</dd></dl>
|
|
<dl class="section see"><dt>参见</dt><dd>enum hl_err) Consider status only if an error occurs; else wait for execution completion </dd></dl>
|
|
|
|
<p class="definition">在文件 <a class="el" href="xc__gatt__server__api_8c_source.html">xc_gatt_server_api.c</a> 第 <a class="el" href="xc__gatt__server__api_8c_source.html#l00045">45</a> 行定义.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5a0dc7a37707ac90e70b5b9d08d1190c" name="a5a0dc7a37707ac90e70b5b9d08d1190c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5a0dc7a37707ac90e70b5b9d08d1190c">◆ </a></span>xc_ble_gatt_srv_read_cfm()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint16_t xc_ble_gatt_srv_read_cfm </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>conidx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>user_lid</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>token</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>status</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>att_length</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>length</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const uint8_t * </td>
|
|
<td class="paramname"><em>p_value</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Upper layer provide attribute value requested by GATT Layer for a read procedure If rejected, value is not used. </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">user_lid</td><td>GATT User Local identifier </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">token</td><td>Procedure token provided in corresponding callback </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>Status of attribute value get (</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>参见</dt><dd>enum hl_err) </dd></dl>
|
|
<dl class="params"><dt>参数</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">att_length</td><td>Complete Length of the attribute value </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Value length </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">p_value</td><td>Pointer to buffer attribute data</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>返回</dt><dd>Status of the function execution (</dd></dl>
|
|
<dl class="section see"><dt>参见</dt><dd>enum hl_err) </dd></dl>
|
|
|
|
<p class="definition">在文件 <a class="el" href="xc__gatt__server__api_8c_source.html">xc_gatt_server_api.c</a> 第 <a class="el" href="xc__gatt__server__api_8c_source.html#l00093">93</a> 行定义.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6fa35175559567fb8c7301b6bae1bf24" name="a6fa35175559567fb8c7301b6bae1bf24"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6fa35175559567fb8c7301b6bae1bf24">◆ </a></span>xc_ble_gatt_srv_write_cfm()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint16_t xc_ble_gatt_srv_write_cfm </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>conidx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>user_lid</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>token</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>status</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Upper layer provide status of attribute value modification by GATT server user. Confirmation server user when an attribute value has been written by a 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">user_lid</td><td>GATT User Local identifier </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">token</td><td>Procedure token provided in corresponding callback </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>Status of attribute value set (</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>参见</dt><dd>enum hl_err)</dd></dl>
|
|
<dl class="section return"><dt>返回</dt><dd>Status of the function execution (</dd></dl>
|
|
<dl class="section see"><dt>参见</dt><dd>enum hl_err) </dd></dl>
|
|
|
|
<p class="definition">在文件 <a class="el" href="xc__gatt__server__api_8c_source.html">xc_gatt_server_api.c</a> 第 <a class="el" href="xc__gatt__server__api_8c_source.html#l00123">123</a> 行定义.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0d2f9f632077a0aa60edfb1b4b958573" name="a0d2f9f632077a0aa60edfb1b4b958573"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0d2f9f632077a0aa60edfb1b4b958573">◆ </a></span>xc_ble_gatt_user_srv_register()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint16_t xc_ble_gatt_user_srv_register </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint16_t </td>
|
|
<td class="paramname"><em>pref_mtu</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>prio_level</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const gatt_srv_cb_t * </td>
|
|
<td class="paramname"><em>p_cb</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t * </td>
|
|
<td class="paramname"><em>p_user_lid</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Command used to register a GATT user. This must be done prior to any GATT procedure execution. </p>
|
|
<p>A GATT server can manipulate local attribute database and initiate server procedures. It shall be able to handle all server initiated events</p>
|
|
<p>Same module can register multiple GATT users.</p>
|
|
<dl class="params"><dt>参数</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">pref_mtu</td><td>Preferred MTU for attribute exchange. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">prio_level</td><td>User attribute priority level </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">p_cb</td><td>Pointer to set of callback functions to be used for communication with the GATT server user </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">p_user_lid</td><td>Pointer where GATT user local identifier will be set</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>返回</dt><dd>Status of the function execution (</dd></dl>
|
|
<dl class="section see"><dt>参见</dt><dd>enum hl_err) </dd></dl>
|
|
|
|
<p class="definition">在文件 <a class="el" href="xc__gatt__server__api_8c_source.html">xc_gatt_server_api.c</a> 第 <a class="el" href="xc__gatt__server__api_8c_source.html#l00013">13</a> 行定义.</p>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
制作者 <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>
|