conn_mw_ble_gap.h 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820
  1. /**
  2. * Copyright (c) 2014 - 2020, Nordic Semiconductor ASA
  3. *
  4. * All rights reserved.
  5. *
  6. * Redistribution and use in source and binary forms, with or without modification,
  7. * are permitted provided that the following conditions are met:
  8. *
  9. * 1. Redistributions of source code must retain the above copyright notice, this
  10. * list of conditions and the following disclaimer.
  11. *
  12. * 2. Redistributions in binary form, except as embedded into a Nordic
  13. * Semiconductor ASA integrated circuit in a product or a software update for
  14. * such product, must reproduce the above copyright notice, this list of
  15. * conditions and the following disclaimer in the documentation and/or other
  16. * materials provided with the distribution.
  17. *
  18. * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
  19. * contributors may be used to endorse or promote products derived from this
  20. * software without specific prior written permission.
  21. *
  22. * 4. This software, with or without modification, must only be used with a
  23. * Nordic Semiconductor ASA integrated circuit.
  24. *
  25. * 5. Any software provided in binary form under this license must not be reverse
  26. * engineered, decompiled, modified and/or disassembled.
  27. *
  28. * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
  29. * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  30. * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
  31. * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
  32. * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  33. * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
  34. * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  35. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  36. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  37. * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  38. *
  39. */
  40. #ifndef _CONN_MW_BLE_GAP_H
  41. #define _CONN_MW_BLE_GAP_H
  42. #include <stdint.h>
  43. #ifdef __cplusplus
  44. extern "C" {
  45. #endif
  46. /**
  47. * @addtogroup sercon_mw_s132_ble_gap GAP Middleware command handlers
  48. * @{
  49. * @ingroup sercon_mw_s132
  50. */
  51. #if defined(NRF_SD_BLE_API_VERSION) && (NRF_SD_BLE_API_VERSION <= 5)
  52. /**@brief Handles @ref sd_ble_gap_adv_data_set command and prepares response.
  53. *
  54. * @param[in] p_rx_buf Pointer to input buffer.
  55. * @param[in] rx_buf_len Size of @p p_rx_buf.
  56. * @param[out] p_tx_buf Pointer to output buffer.
  57. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  58. * \c out: Length of valid data in \p p_tx_buf.
  59. *
  60. * @retval NRF_SUCCESS Handler success.
  61. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  62. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  63. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  64. */
  65. uint32_t conn_mw_ble_gap_adv_data_set(uint8_t const * const p_rx_buf,
  66. uint32_t rx_buf_len,
  67. uint8_t * const p_tx_buf,
  68. uint32_t * const p_tx_buf_len);
  69. #endif
  70. /**@brief Handles @ref sd_ble_gap_adv_start command and prepares response.
  71. *
  72. * @param[in] p_rx_buf Pointer to input buffer.
  73. * @param[in] rx_buf_len Size of @p p_rx_buf.
  74. * @param[out] p_tx_buf Pointer to output buffer.
  75. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  76. * \c out: Length of valid data in \p p_tx_buf.
  77. *
  78. * @retval NRF_SUCCESS Handler success.
  79. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  80. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  81. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  82. */
  83. uint32_t conn_mw_ble_gap_adv_start(uint8_t const * const p_rx_buf,
  84. uint32_t rx_buf_len,
  85. uint8_t * const p_tx_buf,
  86. uint32_t * const p_tx_buf_len);
  87. /**@brief Handles @ref sd_ble_gap_adv_stop command and prepares response.
  88. *
  89. * @param[in] p_rx_buf Pointer to input buffer.
  90. * @param[in] rx_buf_len Size of @p p_rx_buf.
  91. * @param[out] p_tx_buf Pointer to output buffer.
  92. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  93. * \c out: Length of valid data in \p p_tx_buf.
  94. *
  95. * @retval NRF_SUCCESS Handler success.
  96. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  97. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  98. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  99. */
  100. uint32_t conn_mw_ble_gap_adv_stop(uint8_t const * const p_rx_buf,
  101. uint32_t rx_buf_len,
  102. uint8_t * const p_tx_buf,
  103. uint32_t * const p_tx_buf_len);
  104. /**@brief Handles @ref sd_ble_gap_conn_param_update command and prepares response.
  105. *
  106. * @param[in] p_rx_buf Pointer to input buffer.
  107. * @param[in] rx_buf_len Size of @p p_rx_buf.
  108. * @param[out] p_tx_buf Pointer to output buffer.
  109. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  110. * \c out: Length of valid data in \p p_tx_buf.
  111. *
  112. * @retval NRF_SUCCESS Handler success.
  113. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  114. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  115. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  116. */
  117. uint32_t conn_mw_ble_gap_conn_param_update(uint8_t const * const p_rx_buf,
  118. uint32_t rx_buf_len,
  119. uint8_t * const p_tx_buf,
  120. uint32_t * const p_tx_buf_len);
  121. /**@brief Handles @ref sd_ble_gap_disconnect command and prepares response.
  122. *
  123. * @param[in] p_rx_buf Pointer to input buffer.
  124. * @param[in] rx_buf_len Size of @p p_rx_buf.
  125. * @param[out] p_tx_buf Pointer to output buffer.
  126. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  127. * \c out: Length of valid data in \p p_tx_buf.
  128. *
  129. * @retval NRF_SUCCESS Handler success.
  130. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  131. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  132. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  133. */
  134. uint32_t conn_mw_ble_gap_disconnect(uint8_t const * const p_rx_buf,
  135. uint32_t rx_buf_len,
  136. uint8_t * const p_tx_buf,
  137. uint32_t * const p_tx_buf_len);
  138. /**@brief Handles @ref sd_ble_gap_tx_power_set command and prepares response.
  139. *
  140. * @param[in] p_rx_buf Pointer to input buffer.
  141. * @param[in] rx_buf_len Size of @p p_rx_buf.
  142. * @param[out] p_tx_buf Pointer to output buffer.
  143. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  144. * \c out: Length of valid data in \p p_tx_buf.
  145. *
  146. * @retval NRF_SUCCESS Handler success.
  147. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  148. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  149. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  150. */
  151. uint32_t conn_mw_ble_gap_tx_power_set(uint8_t const * const p_rx_buf,
  152. uint32_t rx_buf_len,
  153. uint8_t * const p_tx_buf,
  154. uint32_t * const p_tx_buf_len);
  155. /**@brief Handles @ref sd_ble_gap_appearance_set command and prepares response.
  156. *
  157. * @param[in] p_rx_buf Pointer to input buffer.
  158. * @param[in] rx_buf_len Size of @p p_rx_buf.
  159. * @param[out] p_tx_buf Pointer to output buffer.
  160. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  161. * \c out: Length of valid data in \p p_tx_buf.
  162. *
  163. * @retval NRF_SUCCESS Handler success.
  164. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  165. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  166. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  167. */
  168. uint32_t conn_mw_ble_gap_appearance_set(uint8_t const * const p_rx_buf,
  169. uint32_t rx_buf_len,
  170. uint8_t * const p_tx_buf,
  171. uint32_t * const p_tx_buf_len);
  172. /**@brief Handles @ref sd_ble_gap_appearance_get command and prepares response.
  173. *
  174. * @param[in] p_rx_buf Pointer to input buffer.
  175. * @param[in] rx_buf_len Size of @p p_rx_buf.
  176. * @param[out] p_tx_buf Pointer to output buffer.
  177. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  178. * \c out: Length of valid data in \p p_tx_buf.
  179. *
  180. * @retval NRF_SUCCESS Handler success.
  181. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  182. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  183. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  184. */
  185. uint32_t conn_mw_ble_gap_appearance_get(uint8_t const * const p_rx_buf,
  186. uint32_t rx_buf_len,
  187. uint8_t * const p_tx_buf,
  188. uint32_t * const p_tx_buf_len);
  189. /**@brief Handles @ref sd_ble_gap_ppcp_set command and prepares response.
  190. *
  191. * @param[in] p_rx_buf Pointer to input buffer.
  192. * @param[in] rx_buf_len Size of @p p_rx_buf.
  193. * @param[out] p_tx_buf Pointer to output buffer.
  194. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  195. * \c out: Length of valid data in \p p_tx_buf.
  196. *
  197. * @retval NRF_SUCCESS Handler success.
  198. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  199. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  200. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  201. */
  202. uint32_t conn_mw_ble_gap_ppcp_set(uint8_t const * const p_rx_buf,
  203. uint32_t rx_buf_len,
  204. uint8_t * const p_tx_buf,
  205. uint32_t * const p_tx_buf_len);
  206. /**@brief Handles @ref sd_ble_gap_ppcp_get command and prepares response.
  207. *
  208. * @param[in] p_rx_buf Pointer to input buffer.
  209. * @param[in] rx_buf_len Size of @p p_rx_buf.
  210. * @param[out] p_tx_buf Pointer to output buffer.
  211. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  212. * \c out: Length of valid data in \p p_tx_buf.
  213. *
  214. * @retval NRF_SUCCESS Handler success.
  215. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  216. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  217. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  218. */
  219. uint32_t conn_mw_ble_gap_ppcp_get(uint8_t const * const p_rx_buf,
  220. uint32_t rx_buf_len,
  221. uint8_t * const p_tx_buf,
  222. uint32_t * const p_tx_buf_len);
  223. /**@brief Handles @ref sd_ble_gap_device_name_get command and prepares response.
  224. *
  225. * @param[in] p_rx_buf Pointer to input buffer.
  226. * @param[in] rx_buf_len Size of @p p_rx_buf.
  227. * @param[out] p_tx_buf Pointer to output buffer.
  228. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  229. * \c out: Length of valid data in \p p_tx_buf.
  230. *
  231. * @retval NRF_SUCCESS Handler success.
  232. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  233. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  234. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  235. */
  236. uint32_t conn_mw_ble_gap_device_name_get(uint8_t const * const p_rx_buf,
  237. uint32_t rx_buf_len,
  238. uint8_t * const p_tx_buf,
  239. uint32_t * const p_tx_buf_len);
  240. /**@brief Handles @ref sd_ble_gap_device_name_set command and prepares response.
  241. *
  242. * @param[in] p_rx_buf Pointer to input buffer.
  243. * @param[in] rx_buf_len Size of @p p_rx_buf.
  244. * @param[out] p_tx_buf Pointer to output buffer.
  245. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  246. * \c out: Length of valid data in \p p_tx_buf.
  247. *
  248. * @retval NRF_SUCCESS Handler success.
  249. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  250. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  251. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  252. */
  253. uint32_t conn_mw_ble_gap_device_name_set(uint8_t const * const p_rx_buf,
  254. uint32_t rx_buf_len,
  255. uint8_t * const p_tx_buf,
  256. uint32_t * const p_tx_buf_len);
  257. /**@brief Handles @ref sd_ble_gap_authenticate command and prepares response.
  258. *
  259. * @param[in] p_rx_buf Pointer to input buffer.
  260. * @param[in] rx_buf_len Size of @p p_rx_buf.
  261. * @param[out] p_tx_buf Pointer to output buffer.
  262. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  263. * \c out: Length of valid data in \p p_tx_buf.
  264. *
  265. * @retval NRF_SUCCESS Handler success.
  266. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  267. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  268. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  269. */
  270. uint32_t conn_mw_ble_gap_authenticate(uint8_t const * const p_rx_buf,
  271. uint32_t rx_buf_len,
  272. uint8_t * const p_tx_buf,
  273. uint32_t * const p_tx_buf_len);
  274. /**@brief Handles @ref sd_ble_gap_sec_params_reply command and prepares response.
  275. *
  276. * @param[in] p_rx_buf Pointer to input buffer.
  277. * @param[in] rx_buf_len Size of @p p_rx_buf.
  278. * @param[out] p_tx_buf Pointer to output buffer.
  279. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  280. * \c out: Length of valid data in \p p_tx_buf.
  281. *
  282. * @retval NRF_SUCCESS Handler success.
  283. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  284. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  285. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  286. */
  287. uint32_t conn_mw_ble_gap_sec_params_reply(uint8_t const * const p_rx_buf,
  288. uint32_t rx_buf_len,
  289. uint8_t * const p_tx_buf,
  290. uint32_t * const p_tx_buf_len);
  291. /**@brief Handles @ref sd_ble_gap_auth_key_reply command and prepares response.
  292. *
  293. * @param[in] p_rx_buf Pointer to input buffer.
  294. * @param[in] rx_buf_len Size of @p p_rx_buf.
  295. * @param[out] p_tx_buf Pointer to output buffer.
  296. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  297. * \c out: Length of valid data in \p p_tx_buf.
  298. *
  299. * @retval NRF_SUCCESS Handler success.
  300. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  301. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  302. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  303. */
  304. uint32_t conn_mw_ble_gap_auth_key_reply(uint8_t const * const p_rx_buf,
  305. uint32_t rx_buf_len,
  306. uint8_t * const p_tx_buf,
  307. uint32_t * const p_tx_buf_len);
  308. /**@brief Handles @ref sd_ble_gap_sec_info_reply command and prepares response.
  309. *
  310. * @param[in] p_rx_buf Pointer to input buffer.
  311. * @param[in] rx_buf_len Size of @p p_rx_buf.
  312. * @param[out] p_tx_buf Pointer to output buffer.
  313. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  314. * \c out: Length of valid data in \p p_tx_buf.
  315. *
  316. * @retval NRF_SUCCESS Handler success.
  317. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  318. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  319. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  320. */
  321. uint32_t conn_mw_ble_gap_sec_info_reply(uint8_t const * const p_rx_buf,
  322. uint32_t rx_buf_len,
  323. uint8_t * const p_tx_buf,
  324. uint32_t * const p_tx_buf_len);
  325. /**@brief Handles @ref sd_ble_gap_conn_sec_get command and prepares response.
  326. *
  327. * @param[in] p_rx_buf Pointer to input buffer.
  328. * @param[in] rx_buf_len Size of @p p_rx_buf.
  329. * @param[out] p_tx_buf Pointer to output buffer.
  330. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  331. * \c out: Length of valid data in \p p_tx_buf.
  332. *
  333. * @retval NRF_SUCCESS Handler success.
  334. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  335. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  336. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  337. */
  338. uint32_t conn_mw_ble_gap_conn_sec_get(uint8_t const * const p_rx_buf,
  339. uint32_t rx_buf_len,
  340. uint8_t * const p_tx_buf,
  341. uint32_t * const p_tx_buf_len);
  342. /**@brief Handles @ref sd_ble_gap_rssi_start command and prepares response.
  343. *
  344. * @param[in] p_rx_buf Pointer to input buffer.
  345. * @param[in] rx_buf_len Size of @p p_rx_buf.
  346. * @param[out] p_tx_buf Pointer to output buffer.
  347. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  348. * \c out: Length of valid data in \p p_tx_buf.
  349. *
  350. * @retval NRF_SUCCESS Handler success.
  351. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  352. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  353. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  354. */
  355. uint32_t conn_mw_ble_gap_rssi_start(uint8_t const * const p_rx_buf,
  356. uint32_t rx_buf_len,
  357. uint8_t * const p_tx_buf,
  358. uint32_t * const p_tx_buf_len);
  359. /**@brief Handles @ref sd_ble_gap_rssi_stop command and prepares response.
  360. *
  361. * @param[in] p_rx_buf Pointer to input buffer.
  362. * @param[in] rx_buf_len Size of @p p_rx_buf.
  363. * @param[out] p_tx_buf Pointer to output buffer.
  364. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  365. * \c out: Length of valid data in \p p_tx_buf.
  366. *
  367. * @retval NRF_SUCCESS Handler success.
  368. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  369. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  370. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  371. */
  372. uint32_t conn_mw_ble_gap_rssi_stop(uint8_t const * const p_rx_buf,
  373. uint32_t rx_buf_len,
  374. uint8_t * const p_tx_buf,
  375. uint32_t * const p_tx_buf_len);
  376. /**@brief Handles @ref sd_ble_gap_rssi_get command and prepares response.
  377. *
  378. * @param[in] p_rx_buf Pointer to input buffer.
  379. * @param[in] rx_buf_len Size of @p p_rx_buf.
  380. * @param[out] p_tx_buf Pointer to output buffer.
  381. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  382. * \c out: Length of valid data in \p p_tx_buf.
  383. *
  384. * @retval NRF_SUCCESS Handler success.
  385. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  386. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  387. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  388. */
  389. uint32_t conn_mw_ble_gap_rssi_get(uint8_t const * const p_rx_buf,
  390. uint32_t rx_buf_len,
  391. uint8_t * const p_tx_buf,
  392. uint32_t * const p_tx_buf_len);
  393. /**@brief Handles @ref sd_ble_gap_connect command and prepares response.
  394. *
  395. * @param[in] p_rx_buf Pointer to input buffer.
  396. * @param[in] rx_buf_len Size of @p p_rx_buf.
  397. * @param[out] p_tx_buf Pointer to output buffer.
  398. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  399. * \c out: Length of valid data in \p p_tx_buf.
  400. *
  401. * @retval NRF_SUCCESS Handler success.
  402. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  403. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  404. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  405. */
  406. uint32_t conn_mw_ble_gap_connect(uint8_t const * const p_rx_buf,
  407. uint32_t rx_buf_len,
  408. uint8_t * const p_tx_buf,
  409. uint32_t * const p_tx_buf_len);
  410. /**@brief Handles @ref sd_ble_gap_connect_cancel command and prepares response.
  411. *
  412. * @param[in] p_rx_buf Pointer to input buffer.
  413. * @param[in] rx_buf_len Size of @p p_rx_buf.
  414. * @param[out] p_tx_buf Pointer to output buffer.
  415. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  416. * \c out: Length of valid data in \p p_tx_buf.
  417. *
  418. * @retval NRF_SUCCESS Handler success.
  419. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  420. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  421. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  422. */
  423. uint32_t conn_mw_ble_gap_connect_cancel(uint8_t const * const p_rx_buf,
  424. uint32_t rx_buf_len,
  425. uint8_t * const p_tx_buf,
  426. uint32_t * const p_tx_buf_len);
  427. /**@brief Handles @ref sd_ble_gap_scan_start command and prepares response.
  428. *
  429. * @param[in] p_rx_buf Pointer to input buffer.
  430. * @param[in] rx_buf_len Size of @p p_rx_buf.
  431. * @param[out] p_tx_buf Pointer to output buffer.
  432. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  433. * \c out: Length of valid data in \p p_tx_buf.
  434. *
  435. * @retval NRF_SUCCESS Handler success.
  436. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  437. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  438. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  439. */
  440. uint32_t conn_mw_ble_gap_scan_start(uint8_t const * const p_rx_buf,
  441. uint32_t rx_buf_len,
  442. uint8_t * const p_tx_buf,
  443. uint32_t * const p_tx_buf_len);
  444. /**@brief Handles @ref sd_ble_gap_scan_stop command and prepares response.
  445. *
  446. * @param[in] p_rx_buf Pointer to input buffer.
  447. * @param[in] rx_buf_len Size of @p p_rx_buf.
  448. * @param[out] p_tx_buf Pointer to output buffer.
  449. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  450. * \c out: Length of valid data in \p p_tx_buf.
  451. *
  452. * @retval NRF_SUCCESS Handler success.
  453. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  454. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  455. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  456. */
  457. uint32_t conn_mw_ble_gap_scan_stop(uint8_t const * const p_rx_buf,
  458. uint32_t rx_buf_len,
  459. uint8_t * const p_tx_buf,
  460. uint32_t * const p_tx_buf_len);
  461. /**@brief Handles @ref sd_ble_gap_encrypt command and prepares response.
  462. *
  463. * @param[in] p_rx_buf Pointer to input buffer.
  464. * @param[in] rx_buf_len Size of @p p_rx_buf.
  465. * @param[out] p_tx_buf Pointer to output buffer.
  466. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  467. * \c out: Length of valid data in \p p_tx_buf.
  468. *
  469. * @retval NRF_SUCCESS Handler success.
  470. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  471. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  472. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  473. */
  474. uint32_t conn_mw_ble_gap_encrypt(uint8_t const * const p_rx_buf,
  475. uint32_t rx_buf_len,
  476. uint8_t * const p_tx_buf,
  477. uint32_t * const p_tx_buf_len);
  478. /**@brief Handles @ref sd_ble_gap_keypress_notify command and prepares response.
  479. *
  480. * @param[in] p_rx_buf Pointer to input buffer.
  481. * @param[in] rx_buf_len Size of @p p_rx_buf.
  482. * @param[out] p_tx_buf Pointer to output buffer.
  483. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  484. * \c out: Length of valid data in \p p_tx_buf.
  485. *
  486. * @retval NRF_SUCCESS Handler success.
  487. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  488. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  489. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  490. */
  491. uint32_t conn_mw_ble_gap_keypress_notify(uint8_t const * const p_rx_buf,
  492. uint32_t rx_buf_len,
  493. uint8_t * const p_tx_buf,
  494. uint32_t * const p_tx_buf_len);
  495. /**@brief Handles @ref sd_ble_gap_lesc_dhkey_reply command and prepares response.
  496. *
  497. * @param[in] p_rx_buf Pointer to input buffer.
  498. * @param[in] rx_buf_len Size of @p p_rx_buf.
  499. * @param[out] p_tx_buf Pointer to output buffer.
  500. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  501. * \c out: Length of valid data in \p p_tx_buf.
  502. *
  503. * @retval NRF_SUCCESS Handler success.
  504. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  505. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  506. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  507. */
  508. uint32_t conn_mw_ble_gap_lesc_dhkey_reply(uint8_t const * const p_rx_buf,
  509. uint32_t rx_buf_len,
  510. uint8_t * const p_tx_buf,
  511. uint32_t * const p_tx_buf_len);
  512. /**@brief Handles @ref sd_ble_gap_lesc_oob_data_set command and prepares response.
  513. *
  514. * @param[in] p_rx_buf Pointer to input buffer.
  515. * @param[in] rx_buf_len Size of @p p_rx_buf.
  516. * @param[out] p_tx_buf Pointer to output buffer.
  517. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  518. * \c out: Length of valid data in \p p_tx_buf.
  519. *
  520. * @retval NRF_SUCCESS Handler success.
  521. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  522. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  523. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  524. */
  525. uint32_t conn_mw_ble_gap_lesc_oob_data_set(uint8_t const * const p_rx_buf,
  526. uint32_t rx_buf_len,
  527. uint8_t * const p_tx_buf,
  528. uint32_t * const p_tx_buf_len);
  529. /**@brief Handles @ref sd_ble_gap_lesc_oob_data_get command and prepares response.
  530. *
  531. * @param[in] p_rx_buf Pointer to input buffer.
  532. * @param[in] rx_buf_len Size of @p p_rx_buf.
  533. * @param[out] p_tx_buf Pointer to output buffer.
  534. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  535. * \c out: Length of valid data in \p p_tx_buf.
  536. *
  537. * @retval NRF_SUCCESS Handler success.
  538. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  539. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  540. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  541. */
  542. uint32_t conn_mw_ble_gap_lesc_oob_data_get(uint8_t const * const p_rx_buf,
  543. uint32_t rx_buf_len,
  544. uint8_t * const p_tx_buf,
  545. uint32_t * const p_tx_buf_len);
  546. /**@brief Allocates instance in m_conn_keys_table[] for storage of encryption keys.
  547. *
  548. * @param[in] conn_handle Connection handle.
  549. * @param[out] p_index Pointer to the index of allocated instance.
  550. *
  551. * @retval NRF_SUCCESS Success.
  552. * @retval NRF_ERROR_NO_MEM No free instance available.
  553. */
  554. uint32_t conn_mw_ble_gap_sec_context_create(uint16_t conn_handle, uint32_t *p_index);
  555. /**@brief Releases the instance identified by a connection handle.
  556. *
  557. * @param[in] conn_handle Connection handle.
  558. * @retval NRF_SUCCESS Success.
  559. * @retval NRF_ERROR_NOT_FOUND Instance with the @p conn_handle not found.
  560. */
  561. uint32_t conn_mw_ble_gap_sec_context_destroy(uint16_t conn_handle);
  562. /**@brief Finds index of instance identified by a connection handle in m_conn_keys_table[].
  563. *
  564. * @param[in] conn_handle Connection handle.
  565. * @param[out] p_index Pointer to the index of the context instance.
  566. *
  567. * @retval NRF_SUCCESS Success.
  568. * @retval NRF_ERROR_NOT_FOUND Instance with the @p conn_handle not found.
  569. */
  570. uint32_t conn_mw_ble_gap_sec_context_find(uint16_t conn_handle, uint32_t *p_index);
  571. /**@brief Handles @ref sd_ble_gap_addr_set command request and prepares response.
  572. *
  573. * @param[in] p_rx_buf Pointer to input buffer.
  574. * @param[in] rx_buf_len Size of @p p_rx_buf.
  575. * @param[out] p_tx_buf Pointer to output buffer.
  576. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  577. * \c out: Length of valid data in \p p_tx_buf.
  578. *
  579. * @retval NRF_SUCCESS Handler success.
  580. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  581. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  582. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  583. */
  584. uint32_t conn_mw_ble_gap_addr_set(uint8_t const * const p_rx_buf,
  585. uint32_t rx_buf_len,
  586. uint8_t * const p_tx_buf,
  587. uint32_t * const p_tx_buf_len);
  588. /**@brief Handles @ref sd_ble_gap_addr_get command request and prepares response.
  589. *
  590. * @param[in] p_rx_buf Pointer to input buffer.
  591. * @param[in] rx_buf_len Size of @p p_rx_buf.
  592. * @param[out] p_tx_buf Pointer to output buffer.
  593. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  594. * \c out: Length of valid data in \p p_tx_buf.
  595. *
  596. * @retval NRF_SUCCESS Handler success.
  597. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  598. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  599. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  600. */
  601. uint32_t conn_mw_ble_gap_addr_get(uint8_t const * const p_rx_buf,
  602. uint32_t rx_buf_len,
  603. uint8_t * const p_tx_buf,
  604. uint32_t * const p_tx_buf_len);
  605. /**@brief Handles @ref sd_ble_gap_privacy_set command request and prepares response.
  606. *
  607. * @param[in] p_rx_buf Pointer to input buffer.
  608. * @param[in] rx_buf_len Size of @p p_rx_buf.
  609. * @param[out] p_tx_buf Pointer to output buffer.
  610. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  611. * \c out: Length of valid data in \p p_tx_buf.
  612. *
  613. * @retval NRF_SUCCESS Handler success.
  614. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  615. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  616. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  617. */
  618. uint32_t conn_mw_ble_gap_privacy_set(uint8_t const * const p_rx_buf,
  619. uint32_t rx_buf_len,
  620. uint8_t * const p_tx_buf,
  621. uint32_t * const p_tx_buf_len);
  622. /**@brief Handles @ref sd_ble_gap_privacy_get command request and prepares response.
  623. *
  624. * @param[in] p_rx_buf Pointer to input buffer.
  625. * @param[in] rx_buf_len Size of @p p_rx_buf.
  626. * @param[out] p_tx_buf Pointer to output buffer.
  627. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  628. * \c out: Length of valid data in \p p_tx_buf.
  629. *
  630. * @retval NRF_SUCCESS Handler success.
  631. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  632. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  633. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  634. */
  635. uint32_t conn_mw_ble_gap_privacy_get(uint8_t const * const p_rx_buf,
  636. uint32_t rx_buf_len,
  637. uint8_t * const p_tx_buf,
  638. uint32_t * const p_tx_buf_len);
  639. /**@brief Handles @ref sd_ble_gap_whitelist_set command request and prepares response.
  640. *
  641. * @param[in] p_rx_buf Pointer to input buffer.
  642. * @param[in] rx_buf_len Size of @p p_rx_buf.
  643. * @param[out] p_tx_buf Pointer to output buffer.
  644. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  645. * \c out: Length of valid data in \p p_tx_buf.
  646. *
  647. * @retval NRF_SUCCESS Handler success.
  648. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  649. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  650. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  651. */
  652. uint32_t conn_mw_ble_gap_whitelist_set(uint8_t const * const p_rx_buf,
  653. uint32_t rx_buf_len,
  654. uint8_t * const p_tx_buf,
  655. uint32_t * const p_tx_buf_len);
  656. /**@brief Handles @ref sd_ble_gap_device_identities_set command request and prepares response.
  657. *
  658. * @param[in] p_rx_buf Pointer to input buffer.
  659. * @param[in] rx_buf_len Size of @p p_rx_buf.
  660. * @param[out] p_tx_buf Pointer to output buffer.
  661. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  662. * \c out: Length of valid data in \p p_tx_buf.
  663. *
  664. * @retval NRF_SUCCESS Handler success.
  665. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  666. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  667. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  668. */
  669. uint32_t conn_mw_ble_gap_device_identities_set(uint8_t const * const p_rx_buf,
  670. uint32_t rx_buf_len,
  671. uint8_t * const p_tx_buf,
  672. uint32_t * const p_tx_buf_len);
  673. /**@brief Handles @ref sd_ble_gap_phy_update command request and prepares response.
  674. *
  675. * @param[in] p_rx_buf Pointer to input buffer.
  676. * @param[in] rx_buf_len Size of @p p_rx_buf.
  677. * @param[out] p_tx_buf Pointer to output buffer.
  678. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  679. * \c out: Length of valid data in \p p_tx_buf.
  680. *
  681. * @retval NRF_SUCCESS Handler success.
  682. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  683. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  684. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  685. */
  686. #if NRF_SD_BLE_API_VERSION >= 5
  687. uint32_t conn_mw_ble_gap_phy_update(uint8_t const * const p_rx_buf,
  688. uint32_t rx_buf_len,
  689. uint8_t * const p_tx_buf,
  690. uint32_t * const p_tx_buf_len);
  691. #endif
  692. #ifdef __cplusplus
  693. }
  694. #endif
  695. #if NRF_SD_BLE_API_VERSION >= 4
  696. /**@brief Handles @ref sd_ble_gap_data_length_update command request and prepares response.
  697. *
  698. * @param[in] p_rx_buf Pointer to input buffer.
  699. * @param[in] rx_buf_len Size of @p p_rx_buf.
  700. * @param[out] p_tx_buf Pointer to output buffer.
  701. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  702. * \c out: Length of valid data in \p p_tx_buf.
  703. *
  704. * @retval NRF_SUCCESS Handler success.
  705. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  706. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  707. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  708. */
  709. uint32_t conn_mw_ble_gap_data_length_update(uint8_t const * const p_rx_buf,
  710. uint32_t rx_buf_len,
  711. uint8_t * const p_tx_buf,
  712. uint32_t * const p_tx_buf_len);
  713. /**@brief Handles @ref sd_ble_gap_adv_set_configure command request and prepares response.
  714. *
  715. * @param[in] p_rx_buf Pointer to input buffer.
  716. * @param[in] rx_buf_len Size of @p p_rx_buf.
  717. * @param[out] p_tx_buf Pointer to output buffer.
  718. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  719. * \c out: Length of valid data in \p p_tx_buf.
  720. *
  721. * @retval NRF_SUCCESS Handler success.
  722. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  723. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  724. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  725. */
  726. uint32_t conn_mw_ble_gap_adv_set_configure(uint8_t const * const p_rx_buf,
  727. uint32_t rx_buf_len,
  728. uint8_t * const p_tx_buf,
  729. uint32_t * const p_tx_buf_len);
  730. /**@brief Handles @ref sd_ble_gap_qos_channel_survey_start command request and prepares response.
  731. *
  732. * @param[in] p_rx_buf Pointer to input buffer.
  733. * @param[in] rx_buf_len Size of @p p_rx_buf.
  734. * @param[out] p_tx_buf Pointer to output buffer.
  735. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  736. * \c out: Length of valid data in \p p_tx_buf.
  737. *
  738. * @retval NRF_SUCCESS Handler success.
  739. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  740. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  741. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  742. */
  743. uint32_t conn_mw_ble_gap_qos_channel_survey_start(uint8_t const * const p_rx_buf,
  744. uint32_t rx_buf_len,
  745. uint8_t * const p_tx_buf,
  746. uint32_t * const p_tx_buf_len);
  747. /**@brief Handles @ref sd_ble_gap_qos_channel_survey_stop command request and prepares response.
  748. *
  749. * @param[in] p_rx_buf Pointer to input buffer.
  750. * @param[in] rx_buf_len Size of @p p_rx_buf.
  751. * @param[out] p_tx_buf Pointer to output buffer.
  752. * @param[in,out] p_tx_buf_len \c in: Size of \p p_tx_buf buffer.
  753. * \c out: Length of valid data in \p p_tx_buf.
  754. *
  755. * @retval NRF_SUCCESS Handler success.
  756. * @retval NRF_ERROR_NULL Handler failure. NULL pointer supplied.
  757. * @retval NRF_ERROR_INVALID_LENGTH Handler failure. Incorrect buffer length.
  758. * @retval NRF_ERROR_INVALID_PARAM Handler failure. Invalid operation type.
  759. */
  760. uint32_t conn_mw_ble_gap_qos_channel_survey_stop(uint8_t const * const p_rx_buf,
  761. uint32_t rx_buf_len,
  762. uint8_t * const p_tx_buf,
  763. uint32_t * const p_tx_buf_len);
  764. #endif
  765. #endif //_CONN_MW_BLE_GAP_H
  766. /** @} */