Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
|
Attribute Protocol (ATT) . More...
Macros | |
#define | BT_ATT_ERR_SUCCESS 0x00 |
The ATT operation was successful. | |
#define | BT_ATT_ERR_INVALID_HANDLE 0x01 |
The attribute handle given was not valid on the server. | |
#define | BT_ATT_ERR_READ_NOT_PERMITTED 0x02 |
The attribute cannot be read. | |
#define | BT_ATT_ERR_WRITE_NOT_PERMITTED 0x03 |
The attribute cannot be written. | |
#define | BT_ATT_ERR_INVALID_PDU 0x04 |
The attribute PDU was invalid. | |
#define | BT_ATT_ERR_AUTHENTICATION 0x05 |
The attribute requires authentication before it can be read or written. | |
#define | BT_ATT_ERR_NOT_SUPPORTED 0x06 |
The ATT Server does not support the request received from the client. | |
#define | BT_ATT_ERR_INVALID_OFFSET 0x07 |
Offset specified was past the end of the attribute. | |
#define | BT_ATT_ERR_AUTHORIZATION 0x08 |
The attribute requires authorization before it can be read or written. | |
#define | BT_ATT_ERR_PREPARE_QUEUE_FULL 0x09 |
Too many prepare writes have been queued. | |
#define | BT_ATT_ERR_ATTRIBUTE_NOT_FOUND 0x0a |
No attribute found within the given attribute handle range. | |
#define | BT_ATT_ERR_ATTRIBUTE_NOT_LONG 0x0b |
The attribute cannot be read using the ATT_READ_BLOB_REQ PDU. | |
#define | BT_ATT_ERR_ENCRYPTION_KEY_SIZE 0x0c |
The Encryption Key Size used for encrypting this link is too short. | |
#define | BT_ATT_ERR_INVALID_ATTRIBUTE_LEN 0x0d |
The attribute value length is invalid for the operation. | |
#define | BT_ATT_ERR_UNLIKELY 0x0e |
The attribute request that was requested has encountered an error that was unlikely. | |
#define | BT_ATT_ERR_INSUFFICIENT_ENCRYPTION 0x0f |
The attribute requires encryption before it can be read or written. | |
#define | BT_ATT_ERR_UNSUPPORTED_GROUP_TYPE 0x10 |
The attribute type is not a supported grouping attribute. | |
#define | BT_ATT_ERR_INSUFFICIENT_RESOURCES 0x11 |
Insufficient Resources to complete the request. | |
#define | BT_ATT_ERR_DB_OUT_OF_SYNC 0x12 |
The server requests the client to rediscover the database. | |
#define | BT_ATT_ERR_VALUE_NOT_ALLOWED 0x13 |
The attribute parameter value was not allowed. | |
#define | BT_ATT_ERR_WRITE_REQ_REJECTED 0xfc |
Write Request Rejected. | |
#define | BT_ATT_ERR_CCC_IMPROPER_CONF 0xfd |
Client Characteristic Configuration Descriptor Improperly Configured. | |
#define | BT_ATT_ERR_PROCEDURE_IN_PROGRESS 0xfe |
Procedure Already in Progress. | |
#define | BT_ATT_ERR_OUT_OF_RANGE 0xff |
Out of Range. | |
#define | BT_ATT_MAX_ATTRIBUTE_LEN 512 |
#define | BT_ATT_FIRST_ATTRIBUTE_HANDLE 0x0001 |
#define | BT_ATT_LAST_ATTRIBUTE_HANDLE 0xffff |
Enumerations | |
enum | bt_att_chan_opt { BT_ATT_CHAN_OPT_NONE = 0x0 , BT_ATT_CHAN_OPT_UNENHANCED_ONLY = BIT(0) , BT_ATT_CHAN_OPT_ENHANCED_ONLY = BIT(1) } |
ATT channel option bit field values. More... | |
Functions | |
static const char * | bt_att_err_to_str (uint8_t att_err) |
Converts a ATT error to string. | |
int | bt_eatt_connect (struct bt_conn *conn, size_t num_channels) |
Connect Enhanced ATT channels. | |
size_t | bt_eatt_count (struct bt_conn *conn) |
Get number of EATT channels connected. | |
Attribute Protocol (ATT) .
#define BT_ATT_ERR_ATTRIBUTE_NOT_FOUND 0x0a |
#include <zephyr/bluetooth/att.h>
No attribute found within the given attribute handle range.
#define BT_ATT_ERR_ATTRIBUTE_NOT_LONG 0x0b |
#include <zephyr/bluetooth/att.h>
The attribute cannot be read using the ATT_READ_BLOB_REQ PDU.
#define BT_ATT_ERR_AUTHENTICATION 0x05 |
#include <zephyr/bluetooth/att.h>
The attribute requires authentication before it can be read or written.
#define BT_ATT_ERR_AUTHORIZATION 0x08 |
#include <zephyr/bluetooth/att.h>
The attribute requires authorization before it can be read or written.
#define BT_ATT_ERR_CCC_IMPROPER_CONF 0xfd |
#include <zephyr/bluetooth/att.h>
Client Characteristic Configuration Descriptor Improperly Configured.
#define BT_ATT_ERR_DB_OUT_OF_SYNC 0x12 |
#include <zephyr/bluetooth/att.h>
The server requests the client to rediscover the database.
#define BT_ATT_ERR_ENCRYPTION_KEY_SIZE 0x0c |
#include <zephyr/bluetooth/att.h>
The Encryption Key Size used for encrypting this link is too short.
#define BT_ATT_ERR_INSUFFICIENT_ENCRYPTION 0x0f |
#include <zephyr/bluetooth/att.h>
The attribute requires encryption before it can be read or written.
#define BT_ATT_ERR_INSUFFICIENT_RESOURCES 0x11 |
#include <zephyr/bluetooth/att.h>
Insufficient Resources to complete the request.
#define BT_ATT_ERR_INVALID_ATTRIBUTE_LEN 0x0d |
#include <zephyr/bluetooth/att.h>
The attribute value length is invalid for the operation.
#define BT_ATT_ERR_INVALID_HANDLE 0x01 |
#include <zephyr/bluetooth/att.h>
The attribute handle given was not valid on the server.
#define BT_ATT_ERR_INVALID_OFFSET 0x07 |
#include <zephyr/bluetooth/att.h>
Offset specified was past the end of the attribute.
#define BT_ATT_ERR_INVALID_PDU 0x04 |
#include <zephyr/bluetooth/att.h>
The attribute PDU was invalid.
#define BT_ATT_ERR_NOT_SUPPORTED 0x06 |
#include <zephyr/bluetooth/att.h>
The ATT Server does not support the request received from the client.
#define BT_ATT_ERR_OUT_OF_RANGE 0xff |
#include <zephyr/bluetooth/att.h>
Out of Range.
#define BT_ATT_ERR_PREPARE_QUEUE_FULL 0x09 |
#include <zephyr/bluetooth/att.h>
Too many prepare writes have been queued.
#define BT_ATT_ERR_PROCEDURE_IN_PROGRESS 0xfe |
#include <zephyr/bluetooth/att.h>
Procedure Already in Progress.
#define BT_ATT_ERR_READ_NOT_PERMITTED 0x02 |
#include <zephyr/bluetooth/att.h>
The attribute cannot be read.
#define BT_ATT_ERR_SUCCESS 0x00 |
#include <zephyr/bluetooth/att.h>
The ATT operation was successful.
#define BT_ATT_ERR_UNLIKELY 0x0e |
#include <zephyr/bluetooth/att.h>
The attribute request that was requested has encountered an error that was unlikely.
The attribute request could therefore not be completed as requested
#define BT_ATT_ERR_UNSUPPORTED_GROUP_TYPE 0x10 |
#include <zephyr/bluetooth/att.h>
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.
#define BT_ATT_ERR_VALUE_NOT_ALLOWED 0x13 |
#include <zephyr/bluetooth/att.h>
The attribute parameter value was not allowed.
#define BT_ATT_ERR_WRITE_NOT_PERMITTED 0x03 |
#include <zephyr/bluetooth/att.h>
The attribute cannot be written.
#define BT_ATT_ERR_WRITE_REQ_REJECTED 0xfc |
#include <zephyr/bluetooth/att.h>
Write Request Rejected.
#define BT_ATT_FIRST_ATTRIBUTE_HANDLE 0x0001 |
#include <zephyr/bluetooth/att.h>
#define BT_ATT_LAST_ATTRIBUTE_HANDLE 0xffff |
#include <zephyr/bluetooth/att.h>
#define BT_ATT_MAX_ATTRIBUTE_LEN 512 |
#include <zephyr/bluetooth/att.h>
enum bt_att_chan_opt |
#include <zephyr/bluetooth/att.h>
ATT channel option bit field values.
|
inlinestatic |
#include <zephyr/bluetooth/att.h>
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.
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 ) |
#include <zephyr/bluetooth/att.h>
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.
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. |
-EINVAL | if num_channels is not in the allowed range or conn is NULL. |
-ENOMEM | if less than num_channels are allocated. |
0 | in case of success |
size_t bt_eatt_count | ( | struct bt_conn * | conn | ) |
#include <zephyr/bluetooth/att.h>
Get number of EATT channels connected.
conn | The connection to get the number of EATT channels for. |
conn
is NULL or not connected.