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
-
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