SmartSnippets DA1459x SDK
ble_att.h
Go to the documentation of this file.
1 
39 #ifndef BLE_ATT_H_
40 #define BLE_ATT_H_
41 
42 #include <stdbool.h>
43 #include <stdint.h>
44 
45 #define ATT_UUID_LENGTH (16)
46 
48 typedef enum {
49  ATT_PERM_NONE = 0,
50  ATT_PERM_READ = 0x01,
51  ATT_PERM_WRITE = 0x02,
52  ATT_PERM_READ_AUTH = 0x04,
53  ATT_PERM_WRITE_AUTH = 0x08,
54  ATT_PERM_READ_ENCRYPT = 0x10,
55  ATT_PERM_WRITE_ENCRYPT = 0x20,
56  ATT_PERM_KEYSIZE_16 = 0x80,
57  // useful combinations
58  ATT_PERM_RW = ATT_PERM_READ | ATT_PERM_WRITE,
59  ATT_PERM_RW_AUTH = ATT_PERM_READ_AUTH | ATT_PERM_WRITE_AUTH,
60  ATT_PERM_RW_ENCRYPT = ATT_PERM_READ_ENCRYPT | ATT_PERM_WRITE_ENCRYPT,
61 } att_perm_t;
62 
64 typedef enum {
65  ATT_ERROR_OK = 0x00,
66  ATT_ERROR_INVALID_HANDLE = 0x01,
67  ATT_ERROR_READ_NOT_PERMITTED = 0x02,
68  ATT_ERROR_WRITE_NOT_PERMITTED = 0x03,
69  ATT_ERROR_INVALID_PDU = 0x04,
70  ATT_ERROR_INSUFFICIENT_AUTHENTICATION = 0x05,
71  ATT_ERROR_REQUEST_NOT_SUPPORTED = 0x06,
72  ATT_ERROR_INVALID_OFFSET = 0x07,
73  ATT_ERROR_INSUFFICIENT_AUTHORIZATION = 0x08,
74  ATT_ERROR_PREPARE_QUEUE_FULL = 0x09,
75  ATT_ERROR_ATTRIBUTE_NOT_FOUND = 0x0A,
76  ATT_ERROR_ATTRIBUTE_NOT_LONG = 0x0B,
77  ATT_ERROR_INSUFFICIENT_KEY_SIZE = 0x0C,
78  ATT_ERROR_INVALID_VALUE_LENGTH = 0x0D,
79  ATT_ERROR_UNLIKELY = 0x0E,
80  ATT_ERROR_INSUFFICIENT_ENCRYPTION = 0x0F,
81  ATT_ERROR_UNSUPPORTED_GROUP_TYPE = 0x10,
82  ATT_ERROR_INSUFFICIENT_RESOURCES = 0x11,
83  ATT_ERROR_APPLICATION_ERROR = 0x80,
84  ATT_ERROR_CCC_DESCRIPTOR_IMPROPERLY_CONFIGURED = 0xFD,
85  ATT_ERROR_PROCEDURE_ALREADY_IN_PROGRESS = 0xFE,
86 } att_error_t;
87 
88 typedef enum {
89  ATT_UUID_16,
90  ATT_UUID_128
91 } att_uuid_type_t;
92 
93 typedef struct {
94  att_uuid_type_t type;
95  union {
96  uint16_t uuid16;
97  uint8_t uuid128[ATT_UUID_LENGTH];
98  };
99 } att_uuid_t;
100 
101 #endif /* BLE_ATT_H_ */
102 
att_error_t
att_error_t
Definition: ble_att.h:64
att_perm_t
att_perm_t
Definition: ble_att.h:48