Attribute Protocol (ATT)
API Reference
- group bt_att
- Attribute Protocol (ATT) - Defines - 
BT_ATT_ERR_SUCCESS
- The ATT operation was successful. 
 - 
BT_ATT_ERR_INVALID_HANDLE
- The attribute handle given was not valid on the server. 
 - 
BT_ATT_ERR_READ_NOT_PERMITTED
- The attribute cannot be read. 
 - 
BT_ATT_ERR_WRITE_NOT_PERMITTED
- The attribute cannot be written. 
 - 
BT_ATT_ERR_INVALID_PDU
- The attribute PDU was invalid. 
 - 
BT_ATT_ERR_AUTHENTICATION
- The attribute requires authentication before it can be read or written. 
 - 
BT_ATT_ERR_NOT_SUPPORTED
- The ATT Server does not support the request received from the client. 
 - 
BT_ATT_ERR_INVALID_OFFSET
- Offset specified was past the end of the attribute. 
 - 
BT_ATT_ERR_AUTHORIZATION
- The attribute requires authorization before it can be read or written. 
 - 
BT_ATT_ERR_PREPARE_QUEUE_FULL
- Too many prepare writes have been queued. 
 - 
BT_ATT_ERR_ATTRIBUTE_NOT_FOUND
- No attribute found within the given attribute handle range. 
 - 
BT_ATT_ERR_ATTRIBUTE_NOT_LONG
- The attribute cannot be read using the ATT_READ_BLOB_REQ PDU. 
 - 
BT_ATT_ERR_ENCRYPTION_KEY_SIZE
- The Encryption Key Size used for encrypting this link is too short. 
 - 
BT_ATT_ERR_INVALID_ATTRIBUTE_LEN
- The attribute value length is invalid for the operation. 
 - 
BT_ATT_ERR_UNLIKELY
- The attribute request that was requested has encountered an error that was unlikely. - The attribute request could therefore not be completed as requested 
 - 
BT_ATT_ERR_INSUFFICIENT_ENCRYPTION
- The attribute requires encryption before it can be read or written. 
 - 
BT_ATT_ERR_UNSUPPORTED_GROUP_TYPE
- The attribute type is not a supported grouping attribute. - The attribute type is not a supported grouping attribute as defined by a higher layer specification. 
 - 
BT_ATT_ERR_INSUFFICIENT_RESOURCES
- Insufficient Resources to complete the request. 
 - 
BT_ATT_ERR_DB_OUT_OF_SYNC
- The server requests the client to rediscover the database. 
 - 
BT_ATT_ERR_VALUE_NOT_ALLOWED
- The attribute parameter value was not allowed. 
 - 
BT_ATT_ERR_WRITE_REQ_REJECTED
- Write Request Rejected. 
 - 
BT_ATT_ERR_CCC_IMPROPER_CONF
- Client Characteristic Configuration Descriptor Improperly Configured. 
 - 
BT_ATT_ERR_PROCEDURE_IN_PROGRESS
- Procedure Already in Progress. 
 - 
BT_ATT_ERR_OUT_OF_RANGE
- Out of Range. 
 - 
BT_ATT_MAX_ATTRIBUTE_LEN
 - 
BT_ATT_FIRST_ATTRIBUTE_HANDLE
 - 
BT_ATT_LAST_ATTRIBUTE_HANDLE
 - Enums - 
enum bt_att_chan_opt
- ATT channel option bit field values. - Note - BT_ATT_CHAN_OPT_UNENHANCED_ONLY and BT_ATT_CHAN_OPT_ENHANCED_ONLY are mutually exclusive and both bits may not be set. - Values: - 
enumerator BT_ATT_CHAN_OPT_NONE = 0x0
- Both Enhanced and Unenhanced channels can be used 
 
- 
enumerator BT_ATT_CHAN_OPT_NONE = 0x0
 - Functions - 
static inline const char *bt_att_err_to_str(uint8_t att_err)
- Converts a ATT error to string. - The error codes are described in the Bluetooth Core specification, Vol 3, Part F, Section 3.4.1.1 and in The Supplement to the Bluetooth Core Specification (CSS), v11, Part B, Section 1.2. - The ATT and GATT documentation found in Vol 4, Part F and Part G describe when the different error codes are used. - See also the defined BT_ATT_ERR_* macros. - Returns:
- The string representation of the ATT error code. If - CONFIG_BT_ATT_ERR_TO_STRis not enabled, this just returns the empty string
 
 - 
int bt_eatt_connect(struct bt_conn *conn, size_t num_channels)
- Connect Enhanced ATT channels. - Sends a series of Credit Based Connection Requests to connect - num_channelsEnhanced ATT channels. The peer may have limited resources and fewer channels may be created.- Parameters:
- conn – The connection to send the request on 
- num_channels – The number of Enhanced ATT beares to request. Must be in the range 1 - - CONFIG_BT_EATT_MAX, inclusive.
 
- Return values:
- -EINVAL – if - num_channelsis not in the allowed range or- connis NULL.
- -ENOMEM – if less than - num_channelsare allocated.
- 0 – in case of success 
 
- Returns:
- 0 in case of success or negative value in case of error. 
 
 - 
size_t bt_eatt_count(struct bt_conn *conn)
- Get number of EATT channels connected. - Parameters:
- conn – The connection to get the number of EATT channels for. 
 
- Returns:
- The number of EATT channels connected. Returns 0 if - connis NULL or not connected.
 
 
- 
BT_ATT_ERR_SUCCESS