Oscar Ariza / BLE_API

Fork of BLE_API by Bluetooth Low Energy

Committer:
rgrover1
Date:
Fri Jun 19 15:53:01 2015 +0100
Revision:
670:7179b4a5aa7d
Parent:
515:1fa338281798
Child:
652:34d82c1c591f
Synchronized with git rev 9bcd7433
Author: Rohit Grover
Rename BLEDevice as BLE. Retain an alias to BLEDevice for the sake of compatibility with old code.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rgrover1 515:1fa338281798 1 /* mbed Microcontroller Library
rgrover1 515:1fa338281798 2 * Copyright (c) 2006-2013 ARM Limited
rgrover1 515:1fa338281798 3 *
rgrover1 515:1fa338281798 4 * Licensed under the Apache License, Version 2.0 (the "License");
rgrover1 515:1fa338281798 5 * you may not use this file except in compliance with the License.
rgrover1 515:1fa338281798 6 * You may obtain a copy of the License at
rgrover1 515:1fa338281798 7 *
rgrover1 515:1fa338281798 8 * http://www.apache.org/licenses/LICENSE-2.0
rgrover1 515:1fa338281798 9 *
rgrover1 515:1fa338281798 10 * Unless required by applicable law or agreed to in writing, software
rgrover1 515:1fa338281798 11 * distributed under the License is distributed on an "AS IS" BASIS,
rgrover1 515:1fa338281798 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rgrover1 515:1fa338281798 13 * See the License for the specific language governing permissions and
rgrover1 515:1fa338281798 14 * limitations under the License.
rgrover1 515:1fa338281798 15 */
rgrover1 515:1fa338281798 16
rgrover1 515:1fa338281798 17 #ifndef __GATT_CHARACTERISTIC_CALLBACK_PARAMS_H__
rgrover1 515:1fa338281798 18 #define __GATT_CHARACTERISTIC_CALLBACK_PARAMS_H__
rgrover1 515:1fa338281798 19
rgrover1 515:1fa338281798 20 struct GattCharacteristicWriteCBParams {
rgrover1 515:1fa338281798 21 GattAttribute::Handle_t charHandle;
rgrover1 515:1fa338281798 22 enum Type {
rgrover1 515:1fa338281798 23 GATTS_CHAR_OP_INVALID = 0x00, /**< Invalid Operation. */
rgrover1 515:1fa338281798 24 GATTS_CHAR_OP_WRITE_REQ = 0x01, /**< Write Request. */
rgrover1 515:1fa338281798 25 GATTS_CHAR_OP_WRITE_CMD = 0x02, /**< Write Command. */
rgrover1 515:1fa338281798 26 GATTS_CHAR_OP_SIGN_WRITE_CMD = 0x03, /**< Signed Write Command. */
rgrover1 515:1fa338281798 27 GATTS_CHAR_OP_PREP_WRITE_REQ = 0x04, /**< Prepare Write Request. */
rgrover1 515:1fa338281798 28 GATTS_CHAR_OP_EXEC_WRITE_REQ_CANCEL = 0x05, /**< Execute Write Request: Cancel all prepared writes. */
rgrover1 515:1fa338281798 29 GATTS_CHAR_OP_EXEC_WRITE_REQ_NOW = 0x06, /**< Execute Write Request: Immediately execute all prepared writes. */
rgrover1 515:1fa338281798 30 } op; /**< Type of write operation, */
rgrover1 515:1fa338281798 31 uint16_t offset; /**< Offset for the write operation. */
rgrover1 515:1fa338281798 32 uint16_t len; /**< Length of the incoming data. */
rgrover1 515:1fa338281798 33 const uint8_t *data; /**< Incoming data, variable length. */
rgrover1 515:1fa338281798 34 };
rgrover1 515:1fa338281798 35
rgrover1 515:1fa338281798 36 struct GattCharacteristicReadCBParams {
rgrover1 515:1fa338281798 37 GattAttribute::Handle_t charHandle;
rgrover1 515:1fa338281798 38 enum Type {
rgrover1 515:1fa338281798 39 GATTS_CHAR_OP_INVALID = 0x00, /**< Invalid Operation. */
rgrover1 515:1fa338281798 40 GATTS_CHAR_OP_READ_REQ = 0x0A, /**< Read Request. */
rgrover1 515:1fa338281798 41 } op; /**< Type of write operation, */
rgrover1 515:1fa338281798 42 uint16_t offset; /**< Offset for the read operation. */
rgrover1 515:1fa338281798 43 uint16_t *len; /**< Length of the outgoing data. */
rgrover1 515:1fa338281798 44 uint8_t *data; /**< Outgoing data, variable length. */
rgrover1 515:1fa338281798 45 };
rgrover1 515:1fa338281798 46
rgrover1 515:1fa338281798 47 enum GattCharacteristicAuthCBReply_t {
rgrover1 515:1fa338281798 48 AUTH_CALLBACK_REPLY_SUCCESS = 0x00, /**< Success. */
rgrover1 515:1fa338281798 49 AUTH_CALLBACK_REPLY_ATTERR_INVALID_HANDLE = 0x0101, /**< ATT Error: Invalid Attribute Handle. */
rgrover1 515:1fa338281798 50 AUTH_CALLBACK_REPLY_ATTERR_READ_NOT_PERMITTED = 0x0102, /**< ATT Error: Read not permitted. */
rgrover1 515:1fa338281798 51 AUTH_CALLBACK_REPLY_ATTERR_WRITE_NOT_PERMITTED = 0x0103, /**< ATT Error: Write not permitted. */
rgrover1 515:1fa338281798 52 AUTH_CALLBACK_REPLY_ATTERR_INSUF_AUTHENTICATION = 0x0105, /**< ATT Error: Authenticated link required. */
rgrover1 515:1fa338281798 53 AUTH_CALLBACK_REPLY_ATTERR_INVALID_OFFSET = 0x0107, /**< ATT Error: Offset specified was past the end of the attribute. */
rgrover1 515:1fa338281798 54 AUTH_CALLBACK_REPLY_ATTERR_INSUF_AUTHORIZATION = 0x0108, /**< ATT Error: Used in ATT as Insufficient Authorisation. */
rgrover1 515:1fa338281798 55 AUTH_CALLBACK_REPLY_ATTERR_PREPARE_QUEUE_FULL = 0x0109, /**< ATT Error: Used in ATT as Prepare Queue Full. */
rgrover1 515:1fa338281798 56 AUTH_CALLBACK_REPLY_ATTERR_ATTRIBUTE_NOT_FOUND = 0x010A, /**< ATT Error: Used in ATT as Attribute not found. */
rgrover1 515:1fa338281798 57 AUTH_CALLBACK_REPLY_ATTERR_ATTRIBUTE_NOT_LONG = 0x010B, /**< ATT Error: Attribute cannot be read or written using read/write blob requests. */
rgrover1 515:1fa338281798 58 AUTH_CALLBACK_REPLY_ATTERR_INVALID_ATT_VAL_LENGTH = 0x010D, /**< ATT Error: Invalid value size. */
rgrover1 515:1fa338281798 59 AUTH_CALLBACK_REPLY_ATTERR_INSUF_RESOURCES = 0x0111, /**< ATT Error: Encrypted link required. */
rgrover1 515:1fa338281798 60 };
rgrover1 515:1fa338281798 61
rgrover1 515:1fa338281798 62 struct GattCharacteristicWriteAuthCBParams {
rgrover1 515:1fa338281798 63 GattAttribute::Handle_t charHandle;
rgrover1 515:1fa338281798 64 uint16_t offset; /**< Offset for the write operation. */
rgrover1 515:1fa338281798 65 uint16_t len; /**< Length of the incoming data. */
rgrover1 515:1fa338281798 66 const uint8_t *data; /**< Incoming data, variable length. */
rgrover1 515:1fa338281798 67 GattCharacteristicAuthCBReply_t authorizationReply; /* This is the out parameter which needs to be set to true by the callback if the
rgrover1 515:1fa338281798 68 * request is to proceed; false otherwise. */
rgrover1 515:1fa338281798 69 };
rgrover1 515:1fa338281798 70
rgrover1 515:1fa338281798 71 struct GattCharacteristicReadAuthCBParams {
rgrover1 515:1fa338281798 72 GattAttribute::Handle_t charHandle;
rgrover1 515:1fa338281798 73 uint16_t offset; /**< Offset for the read operation. */
rgrover1 515:1fa338281798 74 uint16_t len; /**< Optional: new length of the outgoing data. */
rgrover1 515:1fa338281798 75 uint8_t *data; /**< Optional: new outgoing data. Leave at NULL if data is unchanged. */
rgrover1 515:1fa338281798 76 GattCharacteristicAuthCBReply_t authorizationReply; /* This is the out parameter which needs to be set to true by the callback if the
rgrover1 515:1fa338281798 77 * request is to proceed; false otherwise. */
rgrover1 515:1fa338281798 78 };
rgrover1 515:1fa338281798 79
rgrover1 515:1fa338281798 80 #endif /*__GATT_CHARACTERISTIC_CALLBACK_PARAMS_H__*/