mbed-os

Dependents:   cobaLCDJoyMotor_Thread odometry_omni_3roda_v3 odometry_omni_3roda_v1 odometry_omni_3roda_v2 ... more

Committer:
be_bryan
Date:
Mon Dec 11 17:54:04 2017 +0000
Revision:
0:b74591d5ab33
motor ++

Who changed what in which revision?

UserRevisionLine numberNew contents of line
be_bryan 0:b74591d5ab33 1 /* mbed Microcontroller Library
be_bryan 0:b74591d5ab33 2 * Copyright (c) 2006-2013 ARM Limited
be_bryan 0:b74591d5ab33 3 *
be_bryan 0:b74591d5ab33 4 * Licensed under the Apache License, Version 2.0 (the "License");
be_bryan 0:b74591d5ab33 5 * you may not use this file except in compliance with the License.
be_bryan 0:b74591d5ab33 6 * You may obtain a copy of the License at
be_bryan 0:b74591d5ab33 7 *
be_bryan 0:b74591d5ab33 8 * http://www.apache.org/licenses/LICENSE-2.0
be_bryan 0:b74591d5ab33 9 *
be_bryan 0:b74591d5ab33 10 * Unless required by applicable law or agreed to in writing, software
be_bryan 0:b74591d5ab33 11 * distributed under the License is distributed on an "AS IS" BASIS,
be_bryan 0:b74591d5ab33 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
be_bryan 0:b74591d5ab33 13 * See the License for the specific language governing permissions and
be_bryan 0:b74591d5ab33 14 * limitations under the License.
be_bryan 0:b74591d5ab33 15 */
be_bryan 0:b74591d5ab33 16
be_bryan 0:b74591d5ab33 17 #ifndef MBED_BLE_GATT_CALLBACK_PARAM_TYPES_H__
be_bryan 0:b74591d5ab33 18 #define MBED_BLE_GATT_CALLBACK_PARAM_TYPES_H__
be_bryan 0:b74591d5ab33 19
be_bryan 0:b74591d5ab33 20 /**
be_bryan 0:b74591d5ab33 21 * @addtogroup ble
be_bryan 0:b74591d5ab33 22 * @{
be_bryan 0:b74591d5ab33 23 * @addtogroup gatt
be_bryan 0:b74591d5ab33 24 * @{
be_bryan 0:b74591d5ab33 25 */
be_bryan 0:b74591d5ab33 26
be_bryan 0:b74591d5ab33 27 /**
be_bryan 0:b74591d5ab33 28 * GATT Write event definition.
be_bryan 0:b74591d5ab33 29 *
be_bryan 0:b74591d5ab33 30 * Instances of this type are created and passed to user registered callbacks
be_bryan 0:b74591d5ab33 31 * whether the GattServer has received a write request or a GattClient has
be_bryan 0:b74591d5ab33 32 * received a write response.
be_bryan 0:b74591d5ab33 33 *
be_bryan 0:b74591d5ab33 34 * @important The GattServer only populates the fields offset, len and data
be_bryan 0:b74591d5ab33 35 * when it has received a write request. Callbacks attached to the GattClient
be_bryan 0:b74591d5ab33 36 * do not use those fields.
be_bryan 0:b74591d5ab33 37 *
be_bryan 0:b74591d5ab33 38 * @important The GattClient only populates the fields status and error_code
be_bryan 0:b74591d5ab33 39 * when it has received a write response. Callbacks attached to the GattServer
be_bryan 0:b74591d5ab33 40 * do not use those fields.
be_bryan 0:b74591d5ab33 41 */
be_bryan 0:b74591d5ab33 42 struct GattWriteCallbackParams {
be_bryan 0:b74591d5ab33 43 /**
be_bryan 0:b74591d5ab33 44 * Enumeration of allowed write operations.
be_bryan 0:b74591d5ab33 45 */
be_bryan 0:b74591d5ab33 46 enum WriteOp_t {
be_bryan 0:b74591d5ab33 47 /**
be_bryan 0:b74591d5ab33 48 * Invalid operation.
be_bryan 0:b74591d5ab33 49 */
be_bryan 0:b74591d5ab33 50 OP_INVALID = 0x00,
be_bryan 0:b74591d5ab33 51
be_bryan 0:b74591d5ab33 52 /**
be_bryan 0:b74591d5ab33 53 * Write request.
be_bryan 0:b74591d5ab33 54 */
be_bryan 0:b74591d5ab33 55 OP_WRITE_REQ = 0x01,
be_bryan 0:b74591d5ab33 56
be_bryan 0:b74591d5ab33 57 /**
be_bryan 0:b74591d5ab33 58 * Write command.
be_bryan 0:b74591d5ab33 59 */
be_bryan 0:b74591d5ab33 60 OP_WRITE_CMD = 0x02,
be_bryan 0:b74591d5ab33 61
be_bryan 0:b74591d5ab33 62 /**
be_bryan 0:b74591d5ab33 63 * Signed write command.
be_bryan 0:b74591d5ab33 64 */
be_bryan 0:b74591d5ab33 65 OP_SIGN_WRITE_CMD = 0x03,
be_bryan 0:b74591d5ab33 66
be_bryan 0:b74591d5ab33 67 /**
be_bryan 0:b74591d5ab33 68 * Prepare write request.
be_bryan 0:b74591d5ab33 69 */
be_bryan 0:b74591d5ab33 70 OP_PREP_WRITE_REQ = 0x04,
be_bryan 0:b74591d5ab33 71
be_bryan 0:b74591d5ab33 72 /**
be_bryan 0:b74591d5ab33 73 * Execute write request: cancel all prepared writes.
be_bryan 0:b74591d5ab33 74 */
be_bryan 0:b74591d5ab33 75 OP_EXEC_WRITE_REQ_CANCEL = 0x05,
be_bryan 0:b74591d5ab33 76
be_bryan 0:b74591d5ab33 77 /**
be_bryan 0:b74591d5ab33 78 * Execute write request: immediately execute all prepared writes.
be_bryan 0:b74591d5ab33 79 */
be_bryan 0:b74591d5ab33 80 OP_EXEC_WRITE_REQ_NOW = 0x06,
be_bryan 0:b74591d5ab33 81 };
be_bryan 0:b74591d5ab33 82
be_bryan 0:b74591d5ab33 83 /**
be_bryan 0:b74591d5ab33 84 * Handle of the connection that triggered the event.
be_bryan 0:b74591d5ab33 85 */
be_bryan 0:b74591d5ab33 86 Gap::Handle_t connHandle;
be_bryan 0:b74591d5ab33 87
be_bryan 0:b74591d5ab33 88 /**
be_bryan 0:b74591d5ab33 89 * Handle of the attribute to which the write operation applies.
be_bryan 0:b74591d5ab33 90 */
be_bryan 0:b74591d5ab33 91 GattAttribute::Handle_t handle;
be_bryan 0:b74591d5ab33 92
be_bryan 0:b74591d5ab33 93 /**
be_bryan 0:b74591d5ab33 94 * Type of the write operation.
be_bryan 0:b74591d5ab33 95 */
be_bryan 0:b74591d5ab33 96 WriteOp_t writeOp;
be_bryan 0:b74591d5ab33 97
be_bryan 0:b74591d5ab33 98 union {
be_bryan 0:b74591d5ab33 99 /**
be_bryan 0:b74591d5ab33 100 * Offset within the attribute value to be written.
be_bryan 0:b74591d5ab33 101 *
be_bryan 0:b74591d5ab33 102 * @important Reserved for GattServer registered callbacks.
be_bryan 0:b74591d5ab33 103 */
be_bryan 0:b74591d5ab33 104 uint16_t offset;
be_bryan 0:b74591d5ab33 105
be_bryan 0:b74591d5ab33 106 /**
be_bryan 0:b74591d5ab33 107 * Status of the GattClient Write operation.
be_bryan 0:b74591d5ab33 108 *
be_bryan 0:b74591d5ab33 109 * @important Reserved for GattClient registered callbacks.
be_bryan 0:b74591d5ab33 110 */
be_bryan 0:b74591d5ab33 111 ble_error_t status;
be_bryan 0:b74591d5ab33 112 };
be_bryan 0:b74591d5ab33 113
be_bryan 0:b74591d5ab33 114 union {
be_bryan 0:b74591d5ab33 115 /**
be_bryan 0:b74591d5ab33 116 * Length (in bytes) of the data to write.
be_bryan 0:b74591d5ab33 117 *
be_bryan 0:b74591d5ab33 118 * @important Reserved for GattServer registered callbacks.
be_bryan 0:b74591d5ab33 119 */
be_bryan 0:b74591d5ab33 120 uint16_t len;
be_bryan 0:b74591d5ab33 121
be_bryan 0:b74591d5ab33 122 /**
be_bryan 0:b74591d5ab33 123 * Error code of the GattClient Write operation.
be_bryan 0:b74591d5ab33 124 *
be_bryan 0:b74591d5ab33 125 * @important Reserved for GattClient registered callbacks.
be_bryan 0:b74591d5ab33 126 */
be_bryan 0:b74591d5ab33 127 uint8_t error_code;
be_bryan 0:b74591d5ab33 128 };
be_bryan 0:b74591d5ab33 129
be_bryan 0:b74591d5ab33 130 /**
be_bryan 0:b74591d5ab33 131 * Pointer to the data to write.
be_bryan 0:b74591d5ab33 132 *
be_bryan 0:b74591d5ab33 133 * @important Data may not persist beyond the callback scope.
be_bryan 0:b74591d5ab33 134 *
be_bryan 0:b74591d5ab33 135 * @important Reserved for GattServer registered callbacks.
be_bryan 0:b74591d5ab33 136 */
be_bryan 0:b74591d5ab33 137 const uint8_t *data;
be_bryan 0:b74591d5ab33 138 };
be_bryan 0:b74591d5ab33 139
be_bryan 0:b74591d5ab33 140 /**
be_bryan 0:b74591d5ab33 141 * GATT Read event definition.
be_bryan 0:b74591d5ab33 142 *
be_bryan 0:b74591d5ab33 143 * Instances of this type are created and passed to user registered callbacks
be_bryan 0:b74591d5ab33 144 * whether the GattServer has received a read request or a GattClient has
be_bryan 0:b74591d5ab33 145 * received a read response.
be_bryan 0:b74591d5ab33 146 *
be_bryan 0:b74591d5ab33 147 * @important The GattClient only populates the fields status and error_code
be_bryan 0:b74591d5ab33 148 * when it has received a read response. Callbacks attached to the GattServer
be_bryan 0:b74591d5ab33 149 * do not use those fields.
be_bryan 0:b74591d5ab33 150 */
be_bryan 0:b74591d5ab33 151 struct GattReadCallbackParams {
be_bryan 0:b74591d5ab33 152 /**
be_bryan 0:b74591d5ab33 153 * Handle of the connection that triggered the event.
be_bryan 0:b74591d5ab33 154 */
be_bryan 0:b74591d5ab33 155 Gap::Handle_t connHandle;
be_bryan 0:b74591d5ab33 156
be_bryan 0:b74591d5ab33 157 /**
be_bryan 0:b74591d5ab33 158 * Attribute Handle to which the read operation applies.
be_bryan 0:b74591d5ab33 159 */
be_bryan 0:b74591d5ab33 160 GattAttribute::Handle_t handle;
be_bryan 0:b74591d5ab33 161
be_bryan 0:b74591d5ab33 162 /**
be_bryan 0:b74591d5ab33 163 * Offset within the attribute value read.
be_bryan 0:b74591d5ab33 164 */
be_bryan 0:b74591d5ab33 165 uint16_t offset;
be_bryan 0:b74591d5ab33 166
be_bryan 0:b74591d5ab33 167 union {
be_bryan 0:b74591d5ab33 168 /**
be_bryan 0:b74591d5ab33 169 * Length in bytes of the data read.
be_bryan 0:b74591d5ab33 170 */
be_bryan 0:b74591d5ab33 171 uint16_t len;
be_bryan 0:b74591d5ab33 172
be_bryan 0:b74591d5ab33 173 /**
be_bryan 0:b74591d5ab33 174 * Error code of the GattClient read operation.
be_bryan 0:b74591d5ab33 175 *
be_bryan 0:b74591d5ab33 176 * @important Reserved for GattClient registered callbacks.
be_bryan 0:b74591d5ab33 177 *
be_bryan 0:b74591d5ab33 178 * @important set if status is not equal to BLE_ERROR_NONE; otherwise,
be_bryan 0:b74591d5ab33 179 * this field is interpreted as len.
be_bryan 0:b74591d5ab33 180 */
be_bryan 0:b74591d5ab33 181 uint8_t error_code;
be_bryan 0:b74591d5ab33 182 };
be_bryan 0:b74591d5ab33 183
be_bryan 0:b74591d5ab33 184 /**
be_bryan 0:b74591d5ab33 185 * Pointer to the data read.
be_bryan 0:b74591d5ab33 186 *
be_bryan 0:b74591d5ab33 187 * @important Data may not persist beyond the callback scope.
be_bryan 0:b74591d5ab33 188 */
be_bryan 0:b74591d5ab33 189 const uint8_t *data;
be_bryan 0:b74591d5ab33 190
be_bryan 0:b74591d5ab33 191 /**
be_bryan 0:b74591d5ab33 192 * Status of the GattClient Read operation.
be_bryan 0:b74591d5ab33 193 *
be_bryan 0:b74591d5ab33 194 * @important Reserved for GattClient registered callbacks.
be_bryan 0:b74591d5ab33 195 */
be_bryan 0:b74591d5ab33 196 ble_error_t status;
be_bryan 0:b74591d5ab33 197 };
be_bryan 0:b74591d5ab33 198
be_bryan 0:b74591d5ab33 199 /**
be_bryan 0:b74591d5ab33 200 * @addtogroup server
be_bryan 0:b74591d5ab33 201 * @{
be_bryan 0:b74591d5ab33 202 */
be_bryan 0:b74591d5ab33 203
be_bryan 0:b74591d5ab33 204 /**
be_bryan 0:b74591d5ab33 205 * Enumeration of allowed values returned by read or write authorization process.
be_bryan 0:b74591d5ab33 206 */
be_bryan 0:b74591d5ab33 207 enum GattAuthCallbackReply_t {
be_bryan 0:b74591d5ab33 208 /**
be_bryan 0:b74591d5ab33 209 * Success.
be_bryan 0:b74591d5ab33 210 */
be_bryan 0:b74591d5ab33 211 AUTH_CALLBACK_REPLY_SUCCESS = 0x00,
be_bryan 0:b74591d5ab33 212
be_bryan 0:b74591d5ab33 213 /**
be_bryan 0:b74591d5ab33 214 * ATT Error: Invalid attribute handle.
be_bryan 0:b74591d5ab33 215 */
be_bryan 0:b74591d5ab33 216 AUTH_CALLBACK_REPLY_ATTERR_INVALID_HANDLE = 0x0101,
be_bryan 0:b74591d5ab33 217
be_bryan 0:b74591d5ab33 218 /**
be_bryan 0:b74591d5ab33 219 * ATT Error: Read not permitted.
be_bryan 0:b74591d5ab33 220 */
be_bryan 0:b74591d5ab33 221 AUTH_CALLBACK_REPLY_ATTERR_READ_NOT_PERMITTED = 0x0102,
be_bryan 0:b74591d5ab33 222
be_bryan 0:b74591d5ab33 223 /**
be_bryan 0:b74591d5ab33 224 * ATT Error: Write not permitted.
be_bryan 0:b74591d5ab33 225 */
be_bryan 0:b74591d5ab33 226 AUTH_CALLBACK_REPLY_ATTERR_WRITE_NOT_PERMITTED = 0x0103,
be_bryan 0:b74591d5ab33 227
be_bryan 0:b74591d5ab33 228 /**
be_bryan 0:b74591d5ab33 229 * ATT Error: Authenticated link required.
be_bryan 0:b74591d5ab33 230 */
be_bryan 0:b74591d5ab33 231 AUTH_CALLBACK_REPLY_ATTERR_INSUF_AUTHENTICATION = 0x0105,
be_bryan 0:b74591d5ab33 232
be_bryan 0:b74591d5ab33 233 /**
be_bryan 0:b74591d5ab33 234 * ATT Error: The specified offset was past the end of the attribute.
be_bryan 0:b74591d5ab33 235 */
be_bryan 0:b74591d5ab33 236 AUTH_CALLBACK_REPLY_ATTERR_INVALID_OFFSET = 0x0107,
be_bryan 0:b74591d5ab33 237
be_bryan 0:b74591d5ab33 238 /**
be_bryan 0:b74591d5ab33 239 * ATT Error: Used in ATT as "insufficient authorization".
be_bryan 0:b74591d5ab33 240 */
be_bryan 0:b74591d5ab33 241 AUTH_CALLBACK_REPLY_ATTERR_INSUF_AUTHORIZATION = 0x0108,
be_bryan 0:b74591d5ab33 242
be_bryan 0:b74591d5ab33 243 /**
be_bryan 0:b74591d5ab33 244 * ATT Error: Used in ATT as "prepare queue full".
be_bryan 0:b74591d5ab33 245 */
be_bryan 0:b74591d5ab33 246 AUTH_CALLBACK_REPLY_ATTERR_PREPARE_QUEUE_FULL = 0x0109,
be_bryan 0:b74591d5ab33 247
be_bryan 0:b74591d5ab33 248 /**
be_bryan 0:b74591d5ab33 249 * ATT Error: Used in ATT as "attribute not found".
be_bryan 0:b74591d5ab33 250 */
be_bryan 0:b74591d5ab33 251 AUTH_CALLBACK_REPLY_ATTERR_ATTRIBUTE_NOT_FOUND = 0x010A,
be_bryan 0:b74591d5ab33 252
be_bryan 0:b74591d5ab33 253 /**
be_bryan 0:b74591d5ab33 254 * ATT Error: Attribute cannot be read or written using read/write blob
be_bryan 0:b74591d5ab33 255 * requests.
be_bryan 0:b74591d5ab33 256 */
be_bryan 0:b74591d5ab33 257 AUTH_CALLBACK_REPLY_ATTERR_ATTRIBUTE_NOT_LONG = 0x010B,
be_bryan 0:b74591d5ab33 258
be_bryan 0:b74591d5ab33 259 /**
be_bryan 0:b74591d5ab33 260 * ATT Error: Invalid value size.
be_bryan 0:b74591d5ab33 261 */
be_bryan 0:b74591d5ab33 262 AUTH_CALLBACK_REPLY_ATTERR_INVALID_ATT_VAL_LENGTH = 0x010D,
be_bryan 0:b74591d5ab33 263
be_bryan 0:b74591d5ab33 264 /**
be_bryan 0:b74591d5ab33 265 * ATT Error: Encrypted link required.
be_bryan 0:b74591d5ab33 266 */
be_bryan 0:b74591d5ab33 267 AUTH_CALLBACK_REPLY_ATTERR_INSUF_RESOURCES = 0x0111,
be_bryan 0:b74591d5ab33 268 };
be_bryan 0:b74591d5ab33 269
be_bryan 0:b74591d5ab33 270 /**
be_bryan 0:b74591d5ab33 271 * GATT write authorization request event.
be_bryan 0:b74591d5ab33 272 */
be_bryan 0:b74591d5ab33 273 struct GattWriteAuthCallbackParams {
be_bryan 0:b74591d5ab33 274 /**
be_bryan 0:b74591d5ab33 275 * Handle of the connection that triggered the event.
be_bryan 0:b74591d5ab33 276 */
be_bryan 0:b74591d5ab33 277 Gap::Handle_t connHandle;
be_bryan 0:b74591d5ab33 278
be_bryan 0:b74591d5ab33 279 /**
be_bryan 0:b74591d5ab33 280 * Attribute Handle to which the write operation applies.
be_bryan 0:b74591d5ab33 281 */
be_bryan 0:b74591d5ab33 282 GattAttribute::Handle_t handle;
be_bryan 0:b74591d5ab33 283
be_bryan 0:b74591d5ab33 284 /**
be_bryan 0:b74591d5ab33 285 * Offset for the write operation.
be_bryan 0:b74591d5ab33 286 */
be_bryan 0:b74591d5ab33 287 uint16_t offset;
be_bryan 0:b74591d5ab33 288
be_bryan 0:b74591d5ab33 289 /**
be_bryan 0:b74591d5ab33 290 * Length of the incoming data.
be_bryan 0:b74591d5ab33 291 */
be_bryan 0:b74591d5ab33 292 uint16_t len;
be_bryan 0:b74591d5ab33 293
be_bryan 0:b74591d5ab33 294 /**
be_bryan 0:b74591d5ab33 295 * Incoming data.
be_bryan 0:b74591d5ab33 296 */
be_bryan 0:b74591d5ab33 297 const uint8_t *data;
be_bryan 0:b74591d5ab33 298
be_bryan 0:b74591d5ab33 299 /**
be_bryan 0:b74591d5ab33 300 * Authorization result.
be_bryan 0:b74591d5ab33 301 *
be_bryan 0:b74591d5ab33 302 * The callback sets this parameter. If the value is set to
be_bryan 0:b74591d5ab33 303 * AUTH_CALLBACK_REPLY_SUCCESS, then the write request is accepted;
be_bryan 0:b74591d5ab33 304 * otherwise, an error code is returned to the peer client.
be_bryan 0:b74591d5ab33 305 */
be_bryan 0:b74591d5ab33 306 GattAuthCallbackReply_t authorizationReply;
be_bryan 0:b74591d5ab33 307 };
be_bryan 0:b74591d5ab33 308
be_bryan 0:b74591d5ab33 309 /**
be_bryan 0:b74591d5ab33 310 * GATT read authorization request event.
be_bryan 0:b74591d5ab33 311 */
be_bryan 0:b74591d5ab33 312 struct GattReadAuthCallbackParams {
be_bryan 0:b74591d5ab33 313 /**
be_bryan 0:b74591d5ab33 314 * The handle of the connection that triggered the event.
be_bryan 0:b74591d5ab33 315 */
be_bryan 0:b74591d5ab33 316 Gap::Handle_t connHandle;
be_bryan 0:b74591d5ab33 317
be_bryan 0:b74591d5ab33 318 /**
be_bryan 0:b74591d5ab33 319 * Attribute Handle to which the read operation applies.
be_bryan 0:b74591d5ab33 320 */
be_bryan 0:b74591d5ab33 321 GattAttribute::Handle_t handle;
be_bryan 0:b74591d5ab33 322
be_bryan 0:b74591d5ab33 323 /**
be_bryan 0:b74591d5ab33 324 * Offset for the read operation.
be_bryan 0:b74591d5ab33 325 */
be_bryan 0:b74591d5ab33 326 uint16_t offset;
be_bryan 0:b74591d5ab33 327
be_bryan 0:b74591d5ab33 328 /**
be_bryan 0:b74591d5ab33 329 * Optional: new length of the outgoing data.
be_bryan 0:b74591d5ab33 330 */
be_bryan 0:b74591d5ab33 331 uint16_t len;
be_bryan 0:b74591d5ab33 332
be_bryan 0:b74591d5ab33 333 /**
be_bryan 0:b74591d5ab33 334 * Optional: new outgoing data. Leave at NULL if data is unchanged.
be_bryan 0:b74591d5ab33 335 */
be_bryan 0:b74591d5ab33 336 uint8_t *data;
be_bryan 0:b74591d5ab33 337
be_bryan 0:b74591d5ab33 338 /**
be_bryan 0:b74591d5ab33 339 * Authorization result.
be_bryan 0:b74591d5ab33 340 *
be_bryan 0:b74591d5ab33 341 * The callback sets this parameter. If the value is set to
be_bryan 0:b74591d5ab33 342 * AUTH_CALLBACK_REPLY_SUCCESS, then the read request is accepted;
be_bryan 0:b74591d5ab33 343 * otherwise, an error code is returned to the peer client.
be_bryan 0:b74591d5ab33 344 */
be_bryan 0:b74591d5ab33 345 GattAuthCallbackReply_t authorizationReply;
be_bryan 0:b74591d5ab33 346 };
be_bryan 0:b74591d5ab33 347
be_bryan 0:b74591d5ab33 348 /**
be_bryan 0:b74591d5ab33 349 * Handle Value Notification/Indication event.
be_bryan 0:b74591d5ab33 350 *
be_bryan 0:b74591d5ab33 351 * The GattClient generates this type of event upon the reception of a
be_bryan 0:b74591d5ab33 352 * Handle Value Notification or Indication.
be_bryan 0:b74591d5ab33 353 *
be_bryan 0:b74591d5ab33 354 * The event is passed to callbacks registered by GattClient::onHVX().
be_bryan 0:b74591d5ab33 355 */
be_bryan 0:b74591d5ab33 356 struct GattHVXCallbackParams {
be_bryan 0:b74591d5ab33 357 /**
be_bryan 0:b74591d5ab33 358 * The handle of the connection that triggered the event.
be_bryan 0:b74591d5ab33 359 */
be_bryan 0:b74591d5ab33 360 Gap::Handle_t connHandle;
be_bryan 0:b74591d5ab33 361
be_bryan 0:b74591d5ab33 362 /**
be_bryan 0:b74591d5ab33 363 * Attribute Handle to which the HVx operation applies.
be_bryan 0:b74591d5ab33 364 */
be_bryan 0:b74591d5ab33 365 GattAttribute::Handle_t handle;
be_bryan 0:b74591d5ab33 366
be_bryan 0:b74591d5ab33 367 /**
be_bryan 0:b74591d5ab33 368 * Indication or Notification, see HVXType_t.
be_bryan 0:b74591d5ab33 369 */
be_bryan 0:b74591d5ab33 370 HVXType_t type;
be_bryan 0:b74591d5ab33 371
be_bryan 0:b74591d5ab33 372 /**
be_bryan 0:b74591d5ab33 373 * Attribute value length.
be_bryan 0:b74591d5ab33 374 */
be_bryan 0:b74591d5ab33 375 uint16_t len;
be_bryan 0:b74591d5ab33 376
be_bryan 0:b74591d5ab33 377 /**
be_bryan 0:b74591d5ab33 378 * Attribute value.
be_bryan 0:b74591d5ab33 379 */
be_bryan 0:b74591d5ab33 380 const uint8_t *data;
be_bryan 0:b74591d5ab33 381
be_bryan 0:b74591d5ab33 382 };
be_bryan 0:b74591d5ab33 383
be_bryan 0:b74591d5ab33 384 /**
be_bryan 0:b74591d5ab33 385 * @}
be_bryan 0:b74591d5ab33 386 * @}
be_bryan 0:b74591d5ab33 387 * @}
be_bryan 0:b74591d5ab33 388 */
be_bryan 0:b74591d5ab33 389
be_bryan 0:b74591d5ab33 390 #endif /*MBED_BLE_GATT_CALLBACK_PARAM_TYPES_H__*/