48 #include "ble_types.h"
49 #include "ble_ranges.h"
59 #define BLE_GATT_ATT_MTU_DEFAULT 23
62 #define BLE_GATT_HANDLE_INVALID 0x0000
65 #define BLE_GATT_HANDLE_START 0x0001
68 #define BLE_GATT_HANDLE_END 0xFFFF
72 #define BLE_GATT_TIMEOUT_SRC_PROTOCOL 0x00
77 #define BLE_GATT_OP_INVALID 0x00
78 #define BLE_GATT_OP_WRITE_REQ 0x01
79 #define BLE_GATT_OP_WRITE_CMD 0x02
80 #define BLE_GATT_OP_SIGN_WRITE_CMD 0x03
81 #define BLE_GATT_OP_PREP_WRITE_REQ 0x04
82 #define BLE_GATT_OP_EXEC_WRITE_REQ 0x05
87 #define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_CANCEL 0x00
88 #define BLE_GATT_EXEC_WRITE_FLAG_PREPARED_WRITE 0x01
93 #define BLE_GATT_HVX_INVALID 0x00
94 #define BLE_GATT_HVX_NOTIFICATION 0x01
95 #define BLE_GATT_HVX_INDICATION 0x02
100 #define BLE_GATT_STATUS_SUCCESS 0x0000
101 #define BLE_GATT_STATUS_UNKNOWN 0x0001
102 #define BLE_GATT_STATUS_ATTERR_INVALID 0x0100
103 #define BLE_GATT_STATUS_ATTERR_INVALID_HANDLE 0x0101
104 #define BLE_GATT_STATUS_ATTERR_READ_NOT_PERMITTED 0x0102
105 #define BLE_GATT_STATUS_ATTERR_WRITE_NOT_PERMITTED 0x0103
106 #define BLE_GATT_STATUS_ATTERR_INVALID_PDU 0x0104
107 #define BLE_GATT_STATUS_ATTERR_INSUF_AUTHENTICATION 0x0105
108 #define BLE_GATT_STATUS_ATTERR_REQUEST_NOT_SUPPORTED 0x0106
109 #define BLE_GATT_STATUS_ATTERR_INVALID_OFFSET 0x0107
110 #define BLE_GATT_STATUS_ATTERR_INSUF_AUTHORIZATION 0x0108
111 #define BLE_GATT_STATUS_ATTERR_PREPARE_QUEUE_FULL 0x0109
112 #define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_FOUND 0x010A
113 #define BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_LONG 0x010B
114 #define BLE_GATT_STATUS_ATTERR_INSUF_ENC_KEY_SIZE 0x010C
115 #define BLE_GATT_STATUS_ATTERR_INVALID_ATT_VAL_LENGTH 0x010D
116 #define BLE_GATT_STATUS_ATTERR_UNLIKELY_ERROR 0x010E
117 #define BLE_GATT_STATUS_ATTERR_INSUF_ENCRYPTION 0x010F
118 #define BLE_GATT_STATUS_ATTERR_UNSUPPORTED_GROUP_TYPE 0x0110
119 #define BLE_GATT_STATUS_ATTERR_INSUF_RESOURCES 0x0111
120 #define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_BEGIN 0x0112
121 #define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_END 0x017F
122 #define BLE_GATT_STATUS_ATTERR_APP_BEGIN 0x0180
123 #define BLE_GATT_STATUS_ATTERR_APP_END 0x019F
124 #define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_BEGIN 0x01A0
125 #define BLE_GATT_STATUS_ATTERR_RFU_RANGE2_END 0x01DF
126 #define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_BEGIN 0x01E0
127 #define BLE_GATT_STATUS_ATTERR_RFU_RANGE3_END 0x01FC
128 #define BLE_GATT_STATUS_ATTERR_CPS_CCCD_CONFIG_ERROR 0x01FD
129 #define BLE_GATT_STATUS_ATTERR_CPS_PROC_ALR_IN_PROG 0x01FE
130 #define BLE_GATT_STATUS_ATTERR_CPS_OUT_OF_RANGE 0x01FF
137 #define BLE_GATT_CPF_FORMAT_RFU 0x00
138 #define BLE_GATT_CPF_FORMAT_BOOLEAN 0x01
139 #define BLE_GATT_CPF_FORMAT_2BIT 0x02
140 #define BLE_GATT_CPF_FORMAT_NIBBLE 0x03
141 #define BLE_GATT_CPF_FORMAT_UINT8 0x04
142 #define BLE_GATT_CPF_FORMAT_UINT12 0x05
143 #define BLE_GATT_CPF_FORMAT_UINT16 0x06
144 #define BLE_GATT_CPF_FORMAT_UINT24 0x07
145 #define BLE_GATT_CPF_FORMAT_UINT32 0x08
146 #define BLE_GATT_CPF_FORMAT_UINT48 0x09
147 #define BLE_GATT_CPF_FORMAT_UINT64 0x0A
148 #define BLE_GATT_CPF_FORMAT_UINT128 0x0B
149 #define BLE_GATT_CPF_FORMAT_SINT8 0x0C
150 #define BLE_GATT_CPF_FORMAT_SINT12 0x0D
151 #define BLE_GATT_CPF_FORMAT_SINT16 0x0E
152 #define BLE_GATT_CPF_FORMAT_SINT24 0x0F
153 #define BLE_GATT_CPF_FORMAT_SINT32 0x10
154 #define BLE_GATT_CPF_FORMAT_SINT48 0x11
155 #define BLE_GATT_CPF_FORMAT_SINT64 0x12
156 #define BLE_GATT_CPF_FORMAT_SINT128 0x13
157 #define BLE_GATT_CPF_FORMAT_FLOAT32 0x14
158 #define BLE_GATT_CPF_FORMAT_FLOAT64 0x15
159 #define BLE_GATT_CPF_FORMAT_SFLOAT 0x16
160 #define BLE_GATT_CPF_FORMAT_FLOAT 0x17
161 #define BLE_GATT_CPF_FORMAT_DUINT16 0x18
162 #define BLE_GATT_CPF_FORMAT_UTF8S 0x19
163 #define BLE_GATT_CPF_FORMAT_UTF16S 0x1A
164 #define BLE_GATT_CPF_FORMAT_STRUCT 0x1B
170 #define BLE_GATT_CPF_NAMESPACE_BTSIG 0x01
171 #define BLE_GATT_CPF_NAMESPACE_DESCRIPTION_UNKNOWN 0x0000
199 uint8_t broadcast :1;
201 uint8_t write_wo_resp :1;
205 uint8_t auth_signed_wr :1;
212 uint8_t reliable_wr :1;
221 #endif // BLE_GATT_H__