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_FIRST_ATTTRIBUTE_HANDLE
-
BT_ATT_LAST_ATTRIBUTE_HANDLE
-
BT_ATT_LAST_ATTTRIBUTE_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_STR
is 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_channels
Enhanced 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_channels
is not in the allowed range orconn
is NULL.-ENOMEM – if less than
num_channels
are 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
conn
is NULL or not connected.
-
BT_ATT_ERR_SUCCESS