The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Thu Nov 08 11:45:42 2018 +0000
Revision:
171:3a7713b1edbc
Parent:
TARGET_NRF51_DK/TARGET_NORDIC/TARGET_NRF5x/TARGET_SDK_11/ble/common/ble_conn_state.h@169:a7c7b631e539
mbed library. Release version 164

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 143:86740a56073b 1 /*
AnnaBridge 143:86740a56073b 2 * Copyright (c) 2015 Nordic Semiconductor ASA
AnnaBridge 143:86740a56073b 3 * All rights reserved.
AnnaBridge 143:86740a56073b 4 *
AnnaBridge 143:86740a56073b 5 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 143:86740a56073b 6 * are permitted provided that the following conditions are met:
AnnaBridge 143:86740a56073b 7 *
AnnaBridge 143:86740a56073b 8 * 1. Redistributions of source code must retain the above copyright notice, this list
AnnaBridge 143:86740a56073b 9 * of conditions and the following disclaimer.
AnnaBridge 143:86740a56073b 10 *
AnnaBridge 143:86740a56073b 11 * 2. Redistributions in binary form, except as embedded into a Nordic Semiconductor ASA
AnnaBridge 143:86740a56073b 12 * integrated circuit in a product or a software update for such product, must reproduce
AnnaBridge 143:86740a56073b 13 * the above copyright notice, this list of conditions and the following disclaimer in
AnnaBridge 143:86740a56073b 14 * the documentation and/or other materials provided with the distribution.
AnnaBridge 143:86740a56073b 15 *
AnnaBridge 143:86740a56073b 16 * 3. Neither the name of Nordic Semiconductor ASA nor the names of its contributors may be
AnnaBridge 143:86740a56073b 17 * used to endorse or promote products derived from this software without specific prior
AnnaBridge 143:86740a56073b 18 * written permission.
AnnaBridge 143:86740a56073b 19 *
AnnaBridge 143:86740a56073b 20 * 4. This software, with or without modification, must only be used with a
AnnaBridge 143:86740a56073b 21 * Nordic Semiconductor ASA integrated circuit.
AnnaBridge 143:86740a56073b 22 *
AnnaBridge 143:86740a56073b 23 * 5. Any software provided in binary or object form under this license must not be reverse
AnnaBridge 143:86740a56073b 24 * engineered, decompiled, modified and/or disassembled.
AnnaBridge 143:86740a56073b 25 *
AnnaBridge 143:86740a56073b 26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
AnnaBridge 143:86740a56073b 27 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
AnnaBridge 143:86740a56073b 28 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 143:86740a56073b 29 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
AnnaBridge 143:86740a56073b 30 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
AnnaBridge 143:86740a56073b 31 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
AnnaBridge 143:86740a56073b 32 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
AnnaBridge 143:86740a56073b 33 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
AnnaBridge 143:86740a56073b 34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
AnnaBridge 143:86740a56073b 35 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 143:86740a56073b 36 *
AnnaBridge 143:86740a56073b 37 */
AnnaBridge 143:86740a56073b 38
AnnaBridge 143:86740a56073b 39
AnnaBridge 143:86740a56073b 40 /**
AnnaBridge 143:86740a56073b 41 * @file
AnnaBridge 143:86740a56073b 42 *
AnnaBridge 143:86740a56073b 43 * @defgroup ble_conn_state Connection state
AnnaBridge 143:86740a56073b 44 * @ingroup ble_sdk_lib
AnnaBridge 143:86740a56073b 45 * @{
AnnaBridge 143:86740a56073b 46 * @brief Module for storing data on BLE connections.
AnnaBridge 143:86740a56073b 47 *
AnnaBridge 143:86740a56073b 48 * @details This module stores certain states for each connection, which can be queried by
AnnaBridge 143:86740a56073b 49 * connection handle. The module uses BLE events to keep the states updated.
AnnaBridge 143:86740a56073b 50 *
AnnaBridge 143:86740a56073b 51 * In addition to the preprogrammed states, this module can also keep track of a number of
AnnaBridge 143:86740a56073b 52 * binary user states, or <i>user flags</i>. These are reset to 0 for new connections, but
AnnaBridge 143:86740a56073b 53 * otherwise not touched by this module.
AnnaBridge 143:86740a56073b 54 *
AnnaBridge 143:86740a56073b 55 * This module uses the @ref sdk_mapped_flags module, with connection handles as keys and
AnnaBridge 143:86740a56073b 56 * the connection states as flags.
AnnaBridge 143:86740a56073b 57 *
AnnaBridge 143:86740a56073b 58 * @note A connection handle is not immediately invalidated when it is disconnected. Certain states,
AnnaBridge 143:86740a56073b 59 * such as the role, can still be queried until the next time a new connection is established
AnnaBridge 143:86740a56073b 60 * to any device.
AnnaBridge 143:86740a56073b 61 *
AnnaBridge 143:86740a56073b 62 * To function properly, this module must be provided with BLE events from the SoftDevice
AnnaBridge 143:86740a56073b 63 * through the @ref ble_conn_state_on_ble_evt() function. This module should be the first
AnnaBridge 143:86740a56073b 64 * to receive BLE events if they are dispatched to multiple modules.
AnnaBridge 143:86740a56073b 65 */
AnnaBridge 143:86740a56073b 66
AnnaBridge 143:86740a56073b 67 #ifndef BLE_CONN_STATE_H__
AnnaBridge 143:86740a56073b 68 #define BLE_CONN_STATE_H__
AnnaBridge 143:86740a56073b 69
AnnaBridge 143:86740a56073b 70 #include <stdbool.h>
AnnaBridge 143:86740a56073b 71 #include <stdint.h>
AnnaBridge 143:86740a56073b 72 #include "nrf_ble.h"
AnnaBridge 143:86740a56073b 73 #include "sdk_mapped_flags.h"
AnnaBridge 143:86740a56073b 74
AnnaBridge 143:86740a56073b 75 /**@brief Connection handle statuses.
AnnaBridge 143:86740a56073b 76 */
AnnaBridge 143:86740a56073b 77 typedef enum
AnnaBridge 143:86740a56073b 78 {
AnnaBridge 143:86740a56073b 79 BLE_CONN_STATUS_INVALID, /**< The connection handle is invalid. */
AnnaBridge 143:86740a56073b 80 BLE_CONN_STATUS_DISCONNECTED, /**< The connection handle refers to a connection that has been disconnected, but not yet invalidated. */
AnnaBridge 143:86740a56073b 81 BLE_CONN_STATUS_CONNECTED, /**< The connection handle refers to an active connection. */
AnnaBridge 143:86740a56073b 82 } ble_conn_state_status_t;
AnnaBridge 143:86740a56073b 83
AnnaBridge 143:86740a56073b 84 #define BLE_CONN_STATE_N_USER_FLAGS 24 /**< The number of available user flags. */
AnnaBridge 143:86740a56073b 85
AnnaBridge 143:86740a56073b 86
AnnaBridge 143:86740a56073b 87 /**@brief One ID for each user flag collection.
AnnaBridge 143:86740a56073b 88 *
AnnaBridge 143:86740a56073b 89 * @details These IDs are used to identify user flag collections in the API calls.
AnnaBridge 143:86740a56073b 90 */
AnnaBridge 143:86740a56073b 91 typedef enum
AnnaBridge 143:86740a56073b 92 {
AnnaBridge 143:86740a56073b 93 BLE_CONN_STATE_USER_FLAG0 = 0,
AnnaBridge 143:86740a56073b 94 BLE_CONN_STATE_USER_FLAG1,
AnnaBridge 143:86740a56073b 95 BLE_CONN_STATE_USER_FLAG2,
AnnaBridge 143:86740a56073b 96 BLE_CONN_STATE_USER_FLAG3,
AnnaBridge 143:86740a56073b 97 BLE_CONN_STATE_USER_FLAG4,
AnnaBridge 143:86740a56073b 98 BLE_CONN_STATE_USER_FLAG5,
AnnaBridge 143:86740a56073b 99 BLE_CONN_STATE_USER_FLAG6,
AnnaBridge 143:86740a56073b 100 BLE_CONN_STATE_USER_FLAG7,
AnnaBridge 143:86740a56073b 101 BLE_CONN_STATE_USER_FLAG8,
AnnaBridge 143:86740a56073b 102 BLE_CONN_STATE_USER_FLAG9,
AnnaBridge 143:86740a56073b 103 BLE_CONN_STATE_USER_FLAG10,
AnnaBridge 143:86740a56073b 104 BLE_CONN_STATE_USER_FLAG11,
AnnaBridge 143:86740a56073b 105 BLE_CONN_STATE_USER_FLAG12,
AnnaBridge 143:86740a56073b 106 BLE_CONN_STATE_USER_FLAG13,
AnnaBridge 143:86740a56073b 107 BLE_CONN_STATE_USER_FLAG14,
AnnaBridge 143:86740a56073b 108 BLE_CONN_STATE_USER_FLAG15,
AnnaBridge 143:86740a56073b 109 BLE_CONN_STATE_USER_FLAG16,
AnnaBridge 143:86740a56073b 110 BLE_CONN_STATE_USER_FLAG17,
AnnaBridge 143:86740a56073b 111 BLE_CONN_STATE_USER_FLAG18,
AnnaBridge 143:86740a56073b 112 BLE_CONN_STATE_USER_FLAG19,
AnnaBridge 143:86740a56073b 113 BLE_CONN_STATE_USER_FLAG20,
AnnaBridge 143:86740a56073b 114 BLE_CONN_STATE_USER_FLAG21,
AnnaBridge 143:86740a56073b 115 BLE_CONN_STATE_USER_FLAG22,
AnnaBridge 143:86740a56073b 116 BLE_CONN_STATE_USER_FLAG23,
AnnaBridge 143:86740a56073b 117 BLE_CONN_STATE_USER_FLAG_INVALID,
AnnaBridge 143:86740a56073b 118 } ble_conn_state_user_flag_id_t;
AnnaBridge 143:86740a56073b 119
AnnaBridge 143:86740a56073b 120
AnnaBridge 143:86740a56073b 121 /**
AnnaBridge 143:86740a56073b 122 * @defgroup ble_conn_state_functions BLE connection state functions
AnnaBridge 143:86740a56073b 123 * @{
AnnaBridge 143:86740a56073b 124 */
AnnaBridge 143:86740a56073b 125
AnnaBridge 143:86740a56073b 126
AnnaBridge 143:86740a56073b 127 /**@brief Function for initializing or resetting the module.
AnnaBridge 143:86740a56073b 128 *
AnnaBridge 143:86740a56073b 129 * @details This function sets all states to their default, removing all records of connection handles.
AnnaBridge 143:86740a56073b 130 */
AnnaBridge 143:86740a56073b 131 void ble_conn_state_init(void);
AnnaBridge 143:86740a56073b 132
AnnaBridge 143:86740a56073b 133
AnnaBridge 143:86740a56073b 134 /**@brief Function for providing BLE SoftDevice events to the connection state module.
AnnaBridge 143:86740a56073b 135 *
AnnaBridge 143:86740a56073b 136 * @param[in] p_ble_evt The SoftDevice event.
AnnaBridge 143:86740a56073b 137 */
AnnaBridge 143:86740a56073b 138 void ble_conn_state_on_ble_evt(ble_evt_t * p_ble_evt);
AnnaBridge 143:86740a56073b 139
AnnaBridge 143:86740a56073b 140
AnnaBridge 143:86740a56073b 141 /**@brief Function for querying whether a connection handle represents a valid connection.
AnnaBridge 143:86740a56073b 142 *
AnnaBridge 143:86740a56073b 143 * @details A connection might be valid and have a BLE_CONN_STATUS_DISCONNECTED status.
AnnaBridge 143:86740a56073b 144 * Those connections are invalidated after a new connection occurs.
AnnaBridge 143:86740a56073b 145 *
AnnaBridge 143:86740a56073b 146 * @param[in] conn_handle Handle of the connection.
AnnaBridge 143:86740a56073b 147 *
AnnaBridge 143:86740a56073b 148 * @retval true If conn_handle represents a valid connection, thus a connection for which
AnnaBridge 143:86740a56073b 149 we have a record.
AnnaBridge 143:86740a56073b 150 * @retval false If conn_handle is @ref BLE_GAP_ROLE_INVALID, or if it has never been recorded.
AnnaBridge 143:86740a56073b 151 */
AnnaBridge 143:86740a56073b 152 bool ble_conn_state_valid(uint16_t conn_handle);
AnnaBridge 143:86740a56073b 153
AnnaBridge 143:86740a56073b 154
AnnaBridge 143:86740a56073b 155 /**@brief Function for querying the role of the local device in a connection.
AnnaBridge 143:86740a56073b 156 *
AnnaBridge 143:86740a56073b 157 * @param[in] conn_handle Handle of the connection to get the role for.
AnnaBridge 143:86740a56073b 158 *
AnnaBridge 143:86740a56073b 159 * @return The role of the local device in the connection (see @ref BLE_GAP_ROLES).
AnnaBridge 143:86740a56073b 160 * If conn_handle is not valid, the function returns BLE_GAP_ROLE_INVALID.
AnnaBridge 143:86740a56073b 161 */
AnnaBridge 143:86740a56073b 162 uint8_t ble_conn_state_role(uint16_t conn_handle);
AnnaBridge 143:86740a56073b 163
AnnaBridge 143:86740a56073b 164
AnnaBridge 143:86740a56073b 165 /**@brief Function for querying the status of a connection.
AnnaBridge 143:86740a56073b 166 *
AnnaBridge 143:86740a56073b 167 * @param[in] conn_handle Handle of the connection.
AnnaBridge 143:86740a56073b 168 *
AnnaBridge 143:86740a56073b 169 * @return The status of the connection.
AnnaBridge 143:86740a56073b 170 * If conn_handle is not valid, the function returns BLE_CONN_STATE_INVALID.
AnnaBridge 143:86740a56073b 171 */
AnnaBridge 143:86740a56073b 172 ble_conn_state_status_t ble_conn_state_status(uint16_t conn_handle);
AnnaBridge 143:86740a56073b 173
AnnaBridge 143:86740a56073b 174
AnnaBridge 143:86740a56073b 175 /**@brief Function for querying whether a connection is encrypted.
AnnaBridge 143:86740a56073b 176 *
AnnaBridge 143:86740a56073b 177 * @param[in] conn_handle Handle of connection to get the encryption state for.
AnnaBridge 143:86740a56073b 178 *
AnnaBridge 143:86740a56073b 179 * @retval true If the connection is encrypted.
AnnaBridge 143:86740a56073b 180 * @retval false If the connection is not encrypted or conn_handle is invalid.
AnnaBridge 143:86740a56073b 181 */
AnnaBridge 143:86740a56073b 182 bool ble_conn_state_encrypted(uint16_t conn_handle);
AnnaBridge 143:86740a56073b 183
AnnaBridge 143:86740a56073b 184
AnnaBridge 143:86740a56073b 185 /**@brief Function for querying whether a connection encryption is protected from Man in the Middle
AnnaBridge 143:86740a56073b 186 * attacks.
AnnaBridge 143:86740a56073b 187 *
AnnaBridge 143:86740a56073b 188 * @param[in] conn_handle Handle of connection to get the MITM state for.
AnnaBridge 143:86740a56073b 189 *
AnnaBridge 143:86740a56073b 190 * @retval true If the connection is encrypted with MITM protection.
AnnaBridge 143:86740a56073b 191 * @retval false If the connection is not encrypted, or encryption is not MITM protected, or
AnnaBridge 143:86740a56073b 192 * conn_handle is invalid.
AnnaBridge 143:86740a56073b 193 */
AnnaBridge 143:86740a56073b 194 bool ble_conn_state_mitm_protected(uint16_t conn_handle);
AnnaBridge 143:86740a56073b 195
AnnaBridge 143:86740a56073b 196
AnnaBridge 143:86740a56073b 197 /**@brief Function for querying the total number of connections.
AnnaBridge 143:86740a56073b 198 *
AnnaBridge 143:86740a56073b 199 * @return The total number of valid connections for which the module has a record.
AnnaBridge 143:86740a56073b 200 */
AnnaBridge 143:86740a56073b 201 uint32_t ble_conn_state_n_connections(void);
AnnaBridge 143:86740a56073b 202
AnnaBridge 143:86740a56073b 203
AnnaBridge 143:86740a56073b 204 /**@brief Function for querying the total number of connections in which the role of the local
AnnaBridge 143:86740a56073b 205 * device is @ref BLE_GAP_ROLE_CENTRAL.
AnnaBridge 143:86740a56073b 206 *
AnnaBridge 143:86740a56073b 207 * @return The number of connections in which the role of the local device is
AnnaBridge 143:86740a56073b 208 * @ref BLE_GAP_ROLE_CENTRAL.
AnnaBridge 143:86740a56073b 209 */
AnnaBridge 143:86740a56073b 210 uint32_t ble_conn_state_n_centrals(void);
AnnaBridge 143:86740a56073b 211
AnnaBridge 143:86740a56073b 212
AnnaBridge 143:86740a56073b 213 /**@brief Function for querying the total number of connections in which the role of the local
AnnaBridge 143:86740a56073b 214 * device is @ref BLE_GAP_ROLE_PERIPH.
AnnaBridge 143:86740a56073b 215 *
AnnaBridge 143:86740a56073b 216 * @return The number of connections in which the role of the local device is
AnnaBridge 143:86740a56073b 217 * @ref BLE_GAP_ROLE_PERIPH.
AnnaBridge 143:86740a56073b 218 */
AnnaBridge 143:86740a56073b 219 uint32_t ble_conn_state_n_peripherals(void);
AnnaBridge 143:86740a56073b 220
AnnaBridge 143:86740a56073b 221
AnnaBridge 143:86740a56073b 222 /**@brief Function for obtaining a list of all connection handles for which the module has a record.
AnnaBridge 143:86740a56073b 223 *
AnnaBridge 143:86740a56073b 224 * @details This function takes into account connections whose state is BLE_CONN_STATUS_DISCONNECTED.
AnnaBridge 143:86740a56073b 225 *
AnnaBridge 143:86740a56073b 226 * @return A list of all valid connection handles for which the module has a record.
AnnaBridge 143:86740a56073b 227 */
AnnaBridge 143:86740a56073b 228 sdk_mapped_flags_key_list_t ble_conn_state_conn_handles(void);
AnnaBridge 143:86740a56073b 229
AnnaBridge 143:86740a56073b 230
AnnaBridge 143:86740a56073b 231 /**@brief Function for obtaining a list of connection handles in which the role of the local
AnnaBridge 143:86740a56073b 232 * device is @ref BLE_GAP_ROLE_CENTRAL.
AnnaBridge 143:86740a56073b 233 *
AnnaBridge 143:86740a56073b 234 * @details This function takes into account connections whose state is BLE_CONN_STATUS_DISCONNECTED.
AnnaBridge 143:86740a56073b 235 *
AnnaBridge 143:86740a56073b 236 * @return A list of all valid connection handles for which the module has a record and in which
AnnaBridge 143:86740a56073b 237 * the role of local device is @ref BLE_GAP_ROLE_CENTRAL.
AnnaBridge 143:86740a56073b 238 */
AnnaBridge 143:86740a56073b 239 sdk_mapped_flags_key_list_t ble_conn_state_central_handles(void);
AnnaBridge 143:86740a56073b 240
AnnaBridge 143:86740a56073b 241
AnnaBridge 143:86740a56073b 242 /**@brief Function for obtaining the handle for the connection in which the role of the local device
AnnaBridge 143:86740a56073b 243 * is @ref BLE_GAP_ROLE_PERIPH.
AnnaBridge 143:86740a56073b 244 *
AnnaBridge 143:86740a56073b 245 * @details This function takes into account connections whose state is BLE_CONN_STATUS_DISCONNECTED.
AnnaBridge 143:86740a56073b 246 *
AnnaBridge 143:86740a56073b 247 * @return A list of all valid connection handles for which the module has a record and in which
AnnaBridge 143:86740a56073b 248 * the role of local device is @ref BLE_GAP_ROLE_PERIPH.
AnnaBridge 143:86740a56073b 249 */
AnnaBridge 143:86740a56073b 250 sdk_mapped_flags_key_list_t ble_conn_state_periph_handles(void);
AnnaBridge 143:86740a56073b 251
AnnaBridge 143:86740a56073b 252
AnnaBridge 143:86740a56073b 253 /**@brief Function for obtaining exclusive access to one of the user flag collections.
AnnaBridge 143:86740a56073b 254 *
AnnaBridge 143:86740a56073b 255 * @details The acquired collection contains one flag for each connection. These flags can be set
AnnaBridge 143:86740a56073b 256 * and read individually for each connection.
AnnaBridge 143:86740a56073b 257 *
AnnaBridge 143:86740a56073b 258 * The state of user flags will not be modified by the connection state module, except to
AnnaBridge 143:86740a56073b 259 * set it to 0 for a connection when that connection is invalidated.
AnnaBridge 143:86740a56073b 260 *
AnnaBridge 143:86740a56073b 261 * @return The ID of the acquired flag, or BLE_CONN_STATE_USER_FLAG_INVALID if none are available.
AnnaBridge 143:86740a56073b 262 */
AnnaBridge 143:86740a56073b 263 ble_conn_state_user_flag_id_t ble_conn_state_user_flag_acquire(void);
AnnaBridge 143:86740a56073b 264
AnnaBridge 143:86740a56073b 265
AnnaBridge 143:86740a56073b 266 /**@brief Function for reading the value of a user flag.
AnnaBridge 143:86740a56073b 267 *
AnnaBridge 143:86740a56073b 268 * @param[in] conn_handle Handle of connection to get the flag state for.
AnnaBridge 143:86740a56073b 269 * @param[in] flag_id Which flag to get the state for.
AnnaBridge 143:86740a56073b 270 *
AnnaBridge 143:86740a56073b 271 * @return The state of the flag. If conn_handle is invalid, the function returns false.
AnnaBridge 143:86740a56073b 272 */
AnnaBridge 143:86740a56073b 273 bool ble_conn_state_user_flag_get(uint16_t conn_handle, ble_conn_state_user_flag_id_t flag_id);
AnnaBridge 143:86740a56073b 274
AnnaBridge 143:86740a56073b 275
AnnaBridge 143:86740a56073b 276 /**@brief Function for setting the value of a user flag.
AnnaBridge 143:86740a56073b 277 *
AnnaBridge 143:86740a56073b 278 * @param[in] conn_handle Handle of connection to set the flag state for.
AnnaBridge 143:86740a56073b 279 * @param[in] flag_id Which flag to set the state for.
AnnaBridge 143:86740a56073b 280 * @param[in] value Value to set the flag state to.
AnnaBridge 143:86740a56073b 281 */
AnnaBridge 143:86740a56073b 282 void ble_conn_state_user_flag_set(uint16_t conn_handle,
AnnaBridge 143:86740a56073b 283 ble_conn_state_user_flag_id_t flag_id,
AnnaBridge 143:86740a56073b 284 bool value);
AnnaBridge 143:86740a56073b 285
AnnaBridge 143:86740a56073b 286
AnnaBridge 143:86740a56073b 287 /**@brief Function for getting the state of a user flag for all connection handles.
AnnaBridge 143:86740a56073b 288 *
AnnaBridge 143:86740a56073b 289 * @details The returned collection can be used with the @ref sdk_mapped_flags API. The returned
AnnaBridge 143:86740a56073b 290 * collection is a copy, so modifying it has no effect on the conn_state module.
AnnaBridge 143:86740a56073b 291 *
AnnaBridge 143:86740a56073b 292 * @param[in] flag_id Which flag to get states for.
AnnaBridge 143:86740a56073b 293 *
AnnaBridge 143:86740a56073b 294 * @return The collection of flag states. The collection is always all zeros when the flag_id is
AnnaBridge 143:86740a56073b 295 * unregistered.
AnnaBridge 143:86740a56073b 296 */
AnnaBridge 143:86740a56073b 297 sdk_mapped_flags_t ble_conn_state_user_flag_collection(ble_conn_state_user_flag_id_t flag_id);
AnnaBridge 143:86740a56073b 298
AnnaBridge 143:86740a56073b 299 /** @} */
AnnaBridge 143:86740a56073b 300 /** @} */
AnnaBridge 143:86740a56073b 301
AnnaBridge 143:86740a56073b 302 #endif /* BLE_CONN_STATE_H__ */