AIROC™ BTSDK v4.4 - Documentation | ||||
Generic Attribute (GATT) Functions. More...
Data Structures | |
struct | wiced_bt_gatt_read_t |
Attribute read request. More... | |
struct | wiced_bt_gatt_read_multiple_req_t_ |
Response structure, containing the requested handle list for GATT_RSP_READ_MULTI or GATT_RSP_READ_MULTI_VAR_LENGTH commands. More... | |
struct | wiced_bt_gatt_read_multiple_rsp_t |
Response structure for read multiple . More... | |
struct | wiced_bt_gatt_read_by_type_t |
Parameters for GATT_READ_BY_TYPE and GATT_READ_CHAR_VALUE. More... | |
struct | wiced_bt_gatt_write_hdr_t |
Attribute header, used for GATT write operations, and read response callbacks. More... | |
struct | wiced_bt_gatt_write_req_t |
Attribute write request. More... | |
struct | wiced_bt_gatt_req_conf_t |
Attribute handle confirmation, sent to app to indicate completion of server events on the server. More... | |
struct | wiced_bt_gatt_execute_write_req_t |
Attribute handle execution write request received on the client. More... | |
union | wiced_bt_gatt_request_params_t |
Attribute information for GATT attribute requests types received on the server. More... | |
struct | wiced_bt_gatt_discovery_param_t |
Parameters used in a GATT Discovery. More... | |
struct | wiced_bt_gatt_data_t |
Response data for read operations. More... | |
union | wiced_bt_gatt_operation_complete_rsp_t |
Client Operation Complete response data. More... | |
struct | wiced_bt_gatt_char_declaration_t |
characteristic declaration More... | |
struct | wiced_bt_gatt_group_value_t |
GATT group value. More... | |
struct | wiced_bt_gatt_included_service_t |
included service attribute value More... | |
struct | wiced_bt_gatt_char_descr_info_t |
characteristic descriptor information More... | |
union | wiced_bt_gatt_discovery_data_t |
Discovery result data Use GATT_DISCOVERY_RESULT_SERVICE_* or GATT_DISCOVERY_RESULT_CHARACTERISTIC_* macros to parse discovery data) More... | |
struct | wiced_bt_gatt_discovery_result_t |
Discovery result (used by GATT_DISCOVERY_RESULT_EVT notification) More... | |
struct | wiced_bt_gatt_discovery_complete_t |
Discovery Complete (used by GATT_DISCOVERY_CPLT_EVT notification) More... | |
struct | wiced_bt_gatt_operation_complete_t |
Response to read/write/disc/config operations (used by GATT_OPERATION_CPLT_EVT notification) More... | |
struct | wiced_bt_gatt_connection_status_t |
GATT connection status (used by GATT_CONNECTION_STATUS_EVT notification) More... | |
struct | wiced_bt_gatt_attribute_request_t |
GATT attribute request (used by GATT_ATTRIBUTE_REQUEST_EVT notification) More... | |
struct | wiced_bt_gatt_congestion_event_t |
GATT channel congestion/uncongestion (used by GATT_CONGESTION_EVT notification) More... | |
struct | wiced_bt_gatt_buffer_transmitted_t |
Structure to return the application buffer and application buffer context given to the stack in various APIs The application is expected to use this event to free allocated memory used for sending client requests or responding to client requests. More... | |
struct | wiced_bt_gatt_app_response_buffer_t |
Structure to hold the response buffer and the application context for that buffer. More... | |
struct | wiced_bt_gatt_buffer_request_t |
Structure to get a response buffer of the len_requested and the application context for that buffer. More... | |
union | wiced_bt_gatt_event_data_t |
Structures for GATT event notifications. More... | |
union | wiced_bt_gatt_gap_ble_attr_value_t |
GATT attribute value included in central role DB. More... | |
struct | wiced_bt_gatt_eatt_connection_indication_event_t |
GATT connection request (used by GATT_EATT_CONNECTION_INDICATION_EVT notification) To be returned by application for accepting/rejecting the connection with the wiced_bt_eatt_connection_response. More... | |
struct | wiced_bt_gatt_eatt_connection_response_t |
structure to be used to respond to received EATT connection request More... | |
struct | wiced_bt_gatt_eatt_connection_confirmation_event_t |
structure used to deliver the confirmation status of the requested EATT connection More... | |
struct | wiced_bt_gatt_eatt_callbacks_t |
callbacks for GATT EATT event notifications More... | |
Modules | |
Client API | |
GATT Profile Client Functions. | |
Connection API | |
GATT Profile Connection Functions. | |
Server API | |
Bluetooth Low Energy Specific functions. | |
Macros | |
#define | GATT_BLE_DEFAULT_MTU_SIZE 23 |
Default GATT MTU size over LE link. | |
#define | GATT_AUTH_SIGN_LEN 12 |
Size of the signature appended to application data in signed write cmd. | |
#define | GATT_CLIENT_MAX_WRITE_SIGNED_DATA (23 - 3 - GATT_AUTH_SIGN_LEN) |
Max size of application data allowed to be sent using the signed write cmd. | |
#define | WICED_GATT_HDR_SIZE 3 |
GATT Header size (1 byte opcode + 2 byte handle) | |
#define | GATT_PREP_WRITE_CANCEL GATT_PREPARE_WRITE_CANCEL |
See GATT_PREPARE_WRITE_CANCEL. | |
#define | GATT_PREP_WRITE_EXEC GATT_PREPARE_WRITE_EXEC |
See GATT_PREPARE_WRITE_EXEC. | |
#define | GATTDB_PERM_NONE (0x00) |
Attribute Permission bits (see Core Specification 5.2, Vol 3, Part F, 3.2.5) More... | |
#define | GATTDB_PERM_VARIABLE_LENGTH (0x1 << 0) |
Attribute has variable length (not used by stack) | |
#define | GATTDB_PERM_READABLE (0x1 << 1) |
Attribute is readable. | |
#define | GATTDB_PERM_WRITE_CMD (0x1 << 2) |
Attribute can be written using GATT_CMD_WRITE. | |
#define | GATTDB_PERM_WRITE_REQ (0x1 << 3) |
Attribute can be written using GATT_REQ_WRITE. | |
#define | GATTDB_PERM_AUTH_READABLE (0x1 << 4) |
Attribute can be read if the connection is encrypted or authenticated. | |
#define | GATTDB_PERM_RELIABLE_WRITE (0x1 << 5) |
Attribute supports reliable writes. | |
#define | GATTDB_PERM_AUTH_WRITABLE (0x1 << 6) |
Attribute can be written if the connection is encrypted or authenticated. More... | |
#define | GATTDB_PERM_WRITABLE (GATTDB_PERM_WRITE_CMD | GATTDB_PERM_WRITE_REQ | GATTDB_PERM_AUTH_WRITABLE) |
Writable permissions. | |
#define | GATTDB_PERM_MASK (0x7f) |
All the permission bits. More... | |
#define | GATTDB_PERM_SERVICE_UUID_128 (0x1 << 7) |
Set for 128 bit services/characteristic UUIDs, check Service and Characteristic macros. | |
#define | GATTDB_CHAR_PROP_BROADCAST (0x1 << 0) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) | |
#define | GATTDB_CHAR_PROP_READ (0x1 << 1) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) | |
#define | GATTDB_CHAR_PROP_WRITE_NO_RESPONSE (0x1 << 2) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) | |
#define | GATTDB_CHAR_PROP_WRITE (0x1 << 3) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) | |
#define | GATTDB_CHAR_PROP_NOTIFY (0x1 << 4) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) | |
#define | GATTDB_CHAR_PROP_INDICATE (0x1 << 5) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) | |
#define | GATTDB_CHAR_PROP_AUTHD_WRITES (0x1 << 6) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) | |
#define | GATTDB_CHAR_PROP_EXTENDED (0x1 << 7) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) | |
#define | GATTDB_CHAR_EXTENDED_PROP_RELIABLE (0x1 << 0) |
GATT Characteristic Extended Properties (see Vol 3, Part G, 3.3.3.1) | |
#define | GATTDB_CHAR_EXTENDED_PROP_WRITABLE_AUXILIARIES (0x1 << 1) |
GATT Characteristic Extended Properties (see Vol 3, Part G, 3.3.3.1) | |
#define | LEGATTDB_CHAR_PROP_READ GATTDB_CHAR_PROP_READ |
#define | LEGATTDB_CHAR_PROP_NOTIFY GATTDB_CHAR_PROP_NOTIFY |
#define | LEGATTDB_CHAR_PROP_INDICATE GATTDB_CHAR_PROP_INDICATE |
#define | LEGATTDB_PERM_NONE GATTDB_PERM_NONE |
#define | LEGATTDB_PERM_READABLE GATTDB_PERM_READABLE |
#define | LEGATTDB_PERM_WRITE_REQ GATTDB_PERM_WRITE_REQ |
#define | LEGATTDB_CHAR_PROP_WRITE GATTDB_CHAR_PROP_WRITE |
#define | BIT16_TO_8(val) |
Conversion macros. More... | |
#define | GATTDB_UUID16_SIZE 2 |
UUID lengths. | |
#define | GATTDB_UUID128_SIZE 16 |
UUID lengths. | |
#define | GATT_IS_CSF_FEATURE_SUPPORTED(csf, m) (csf[(m)/8] & (1 << (m)%8)) |
macro to determine GATT Client Support features | |
Typedefs | |
typedef uint16_t | wiced_bt_gatt_status_t |
GATT status (see wiced_bt_gatt_status_e) | |
typedef uint8_t | wiced_bt_gatt_opcode_t |
GATT Opcodes. | |
typedef uint16_t | wiced_bt_gatt_disconn_reason_t |
GATT disconnection reason (see wiced_bt_gatt_disconn_reason_e) | |
typedef uint16_t | wiced_bt_gatt_client_char_config_t |
GATT client config (see wiced_bt_gatt_client_char_config_e) | |
typedef uint16_t | wiced_bt_gatt_server_char_config_t |
GATT server config (see wiced_bt_gatt_server_char_config_e) | |
typedef uint8_t | wiced_bt_gatt_char_properties_t |
GATT characteristic properties mask (see wiced_bt_gatt_char_properties_e) | |
typedef uint8_t | wiced_bt_gatt_auth_req_t |
GATT authentication requirement (see wiced_bt_gatt_auth_req_e) | |
typedef uint8_t | wiced_bt_gatt_exec_flag_t |
GATT execute flag (see wiced_bt_gatt_exec_flag_e) | |
typedef struct wiced_bt_gatt_read_multiple_req_t_ | wiced_bt_gatt_read_multiple_req_t |
Response structure, containing the requested handle list for GATT_RSP_READ_MULTI or GATT_RSP_READ_MULTI_VAR_LENGTH commands. | |
typedef uint8_t | wiced_bt_gatt_discovery_type_t |
GATT Discovery type (see wiced_bt_gatt_discovery_type_e) | |
typedef uint8_t | wiced_bt_gatt_optype_t |
GATT Client Operation Codes. More... | |
typedef uint8_t | wiced_bt_gatt_caching_status_t |
GATT peer caching status (see wiced_bt_gatt_caching_status_e) | |
typedef uint8_t | wiced_bt_gatt_permission_t |
Attribute permission bit masks. | |
typedef uint8_t | wiced_bt_gatt_format_t |
characteristic format specifiers (see wiced_bt_gatt_format_e) | |
typedef uint8_t | wiced_bt_gatt_csf_bits_t |
GATT Client Support features. More... | |
typedef tDRB * | wiced_bt_eatt_drbs [EATT_CHANNELS_PER_TRANSACTION] |
list of Data Receive Blocks | |
typedef void * | wiced_bt_gatt_app_context_t |
App context is returned back to application in event GATT_APP_BUFFER_TRANSMITTED_EVT on transmission of application data buffer. More... | |
typedef wiced_bt_gatt_status_t | wiced_bt_gatt_cback_t (wiced_bt_gatt_evt_t event, wiced_bt_gatt_event_data_t *p_event_data) |
GATT event notification callback. More... | |
typedef WICED_BT_STRUCT_PACKED | wiced_gattdb_entry_s |
Structure used by wiced_bt_gattdb APIS, to parse GATTDB. More... | |
typedef void(* | wiced_bt_gatt_eatt_on_connect_ind_t )(wiced_bt_gatt_eatt_connection_indication_event_t *p_ind) |
Function callbacks for EATT. More... | |
typedef void(* | wiced_bt_gatt_eatt_on_connect_complete_t )(wiced_bt_gatt_eatt_connection_confirmation_event_t *p_cfm) |
callback upon GATT EATT connection complete | |
typedef void(* | wiced_bt_gatt_eatt_on_reconfigure_ind_t )(uint16_t conn_id, uint16_t mtu, uint16_t mps) |
callback upon GATT EATT reconnection complete | |
typedef void(* | wiced_bt_gatt_eatt_release_drb_t )(tDRB *p_drb) |
callback upon releasing the DRB | |
Variables | |
uint8_t | perm |
attribute permission. More... | |
uint8_t | len |
attribute length . More... | |
wiced_gattdb_entry_t | |
Service and Characteristic macros | |
#define | PRIMARY_SERVICE_UUID16(handle, service) |
Macro to assist 16 bit primary service declaration. More... | |
#define | PRIMARY_SERVICE_UUID128(handle, service) |
Macro to assist 128 bit primary service declaration. More... | |
#define | SECONDARY_SERVICE_UUID16(handle, service) |
Macro to assist 16 bit secondary service declaration. More... | |
#define | SECONDARY_SERVICE_UUID128(handle, service) |
Macro to assist 128 bit secondary service declaration. More... | |
#define | INCLUDE_SERVICE_UUID16(handle, service_handle, end_group_handle, service) |
Macro to assist included service declaration. More... | |
#define | INCLUDE_SERVICE_UUID128(handle, service_handle, end_group_handle) |
Macro to assist 128 bit included service declaration. More... | |
#define | CHARACTERISTIC_UUID16(handle, handle_value, uuid, properties, permission) |
Macro to assist readable 16 bit characteristic declaration. More... | |
#define | CHARACTERISTIC_UUID128(handle, handle_value, uuid, properties, permission) |
Macro to assist readable 128 bit characteristic declaration. More... | |
#define | CHARACTERISTIC_UUID16_WRITABLE(handle, handle_value, uuid, properties, permission) |
Macro to assist writable 16 bit characteristic declaration. More... | |
#define | CHARACTERISTIC_UUID128_WRITABLE(handle, handle_value, uuid, properties, permission) |
Macro to assist writable 128 bit characteristic declaration. More... | |
#define | CHAR_DESCRIPTOR_UUID16_WRITABLE(handle, uuid, permission) |
Macro to assist writable 16 bit descriptor declaration. More... | |
#define | CHAR_DESCRIPTOR_UUID16(handle, uuid, permission) |
Macro to assist readable 16 bit descriptor declaration. More... | |
#define | CHAR_DESCRIPTOR_UUID128_WRITABLE(handle, uuid, permission) |
Macro to assist writable 128 bit descriptor declaration. More... | |
#define | CHAR_DESCRIPTOR_UUID128(handle, uuid, permission) |
Macro to assist readable 128 bit descriptor declaration. More... | |
#define | CHAR_DESCRIPTOR_EXTENDED_PROPERTIES(handle, ext_properties) |
Macro to assist extended properties declaration. More... | |
Generic Attribute (GATT) Functions.
The Generic Attribute Profile (GATT) defines a service framework which enables Bluetooth low energy applications to configure themselves as a client or server device.
The profile also provides the capability to perform discovery of services, read, write, notification and indication of characteristics defined on a server.
#define BIT16_TO_8 | ( | val | ) |
Conversion macros.
#define CHAR_DESCRIPTOR_EXTENDED_PROPERTIES | ( | handle, | |
ext_properties | |||
) |
Macro to assist extended properties declaration.
#define CHAR_DESCRIPTOR_UUID128 | ( | handle, | |
uuid, | |||
permission | |||
) |
Macro to assist readable 128 bit descriptor declaration.
#define CHAR_DESCRIPTOR_UUID128_WRITABLE | ( | handle, | |
uuid, | |||
permission | |||
) |
Macro to assist writable 128 bit descriptor declaration.
#define CHAR_DESCRIPTOR_UUID16 | ( | handle, | |
uuid, | |||
permission | |||
) |
Macro to assist readable 16 bit descriptor declaration.
#define CHAR_DESCRIPTOR_UUID16_WRITABLE | ( | handle, | |
uuid, | |||
permission | |||
) |
Macro to assist writable 16 bit descriptor declaration.
#define CHARACTERISTIC_UUID128 | ( | handle, | |
handle_value, | |||
uuid, | |||
properties, | |||
permission | |||
) |
Macro to assist readable 128 bit characteristic declaration.
#define CHARACTERISTIC_UUID128_WRITABLE | ( | handle, | |
handle_value, | |||
uuid, | |||
properties, | |||
permission | |||
) |
Macro to assist writable 128 bit characteristic declaration.
#define CHARACTERISTIC_UUID16 | ( | handle, | |
handle_value, | |||
uuid, | |||
properties, | |||
permission | |||
) |
Macro to assist readable 16 bit characteristic declaration.
#define CHARACTERISTIC_UUID16_WRITABLE | ( | handle, | |
handle_value, | |||
uuid, | |||
properties, | |||
permission | |||
) |
Macro to assist writable 16 bit characteristic declaration.
#define GATTDB_PERM_AUTH_WRITABLE (0x1 << 6) |
Attribute can be written if the connection is encrypted or authenticated.
Permission mask for writable characteristics
#define GATTDB_PERM_MASK (0x7f) |
All the permission bits.
#define GATTDB_PERM_NONE (0x00) |
Attribute Permission bits (see Core Specification 5.2, Vol 3, Part F, 3.2.5)
No permissions set
#define INCLUDE_SERVICE_UUID128 | ( | handle, | |
service_handle, | |||
end_group_handle | |||
) |
Macro to assist 128 bit included service declaration.
#define INCLUDE_SERVICE_UUID16 | ( | handle, | |
service_handle, | |||
end_group_handle, | |||
service | |||
) |
Macro to assist included service declaration.
#define PRIMARY_SERVICE_UUID128 | ( | handle, | |
service | |||
) |
Macro to assist 128 bit primary service declaration.
#define PRIMARY_SERVICE_UUID16 | ( | handle, | |
service | |||
) |
Macro to assist 16 bit primary service declaration.
#define SECONDARY_SERVICE_UUID128 | ( | handle, | |
service | |||
) |
Macro to assist 128 bit secondary service declaration.
#define SECONDARY_SERVICE_UUID16 | ( | handle, | |
service | |||
) |
Macro to assist 16 bit secondary service declaration.
typedef void* wiced_bt_gatt_app_context_t |
App context is returned back to application in event GATT_APP_BUFFER_TRANSMITTED_EVT on transmission of application data buffer.
typedef wiced_bt_gatt_status_t wiced_bt_gatt_cback_t(wiced_bt_gatt_evt_t event, wiced_bt_gatt_event_data_t *p_event_data) |
GATT event notification callback.
Callback for GATT event notifications Registered using wiced_bt_gatt_register()
[in] | event | : Event ID |
[in] | p_event_data | : Event data |
typedef uint8_t wiced_bt_gatt_csf_bits_t |
GATT Client Support features.
Data Receive Buffer Data Receive Buffer or DRB is a memory area of type tDRB and size(channel MTU size + DRB_OVERHEAD_SIZE). The DRB buffer is allocated by the application during channel creation. The allocated DRBs are passed to the GATT layer when establishing an EATT connection. a) As a connection initiator with wiced_bt_gatt_eatt_connect b) As a connection responder with wiced_bt_gatt_eatt_connection_response_t Application has to allocate one DRB per GATT bearer of size equal to that of desired local MTU.
typedef void(* wiced_bt_gatt_eatt_on_connect_ind_t)(wiced_bt_gatt_eatt_connection_indication_event_t *p_ind) |
Function callbacks for EATT.
callback upon GATT EATT connection
typedef uint8_t wiced_bt_gatt_optype_t |
GATT Client Operation Codes.
GATT client operation type (see wiced_bt_gatt_optype_e)
Structure used by wiced_bt_gattdb APIS, to parse GATTDB.
attribute Handle
.Enumeration of known Client Supported Feature Bit assignments of the wiced_bt_gatt_client_supported_features_t
GATT Characteristic Properties Mask.
GATT Disconnection reason.
Discovery types.
enum wiced_bt_gatt_evt_t |
GATT events.
Enumerator | |
---|---|
GATT_CONNECTION_STATUS_EVT |
GATT connection status change. Event data: wiced_bt_gatt_event_data_t::connection_status |
GATT_OPERATION_CPLT_EVT |
GATT client events, indication completion of app initiated client operations Check specific client APIs for more details. Applications can initiate the next client operation for the specific ATT bearer on receiving this event. Event data: wiced_bt_gatt_event_data_t::operation_complete |
GATT_DISCOVERY_RESULT_EVT |
GATT attribute discovery result. Event data: wiced_bt_gatt_event_data_t::discovery_result |
GATT_DISCOVERY_CPLT_EVT |
GATT attribute discovery complete. Event data: wiced_bt_gatt_event_data_t::discovery_complete |
GATT_ATTRIBUTE_REQUEST_EVT |
GATT attribute request (from remote client). Event data: wiced_bt_gatt_event_data_t::attribute_request |
GATT_CONGESTION_EVT |
GATT congestion (running low in tx buffers). Event data: wiced_bt_gatt_event_data_t::congestion
|
GATT_GET_RESPONSE_BUFFER_EVT |
GATT buffer request, typically sized to max of bearer mtu - 1, Event data: wiced_bt_gatt_event_data_t::buffer_request. |
GATT_APP_BUFFER_TRANSMITTED_EVT |
GATT buffer transmitted event, indicates that the data in wiced_bt_gatt_buffer_transmitted_t::p_app_data has been transmitted and may be released/freed by the application using the application provided context in wiced_bt_gatt_buffer_transmitted_t::p_app_ctxt. Event data: wiced_bt_gatt_event_data_t::buffer_xmitted |
Format of the value of a characteristic.
Enumeration types for the
GATT Operation Codes.
All GATT_REQ_xxx are sent by the client and received on the server. All GATT_RSP_xxx are sent by the server in response to the specific requests from client All GATT_CMD_xxx are sent by client and received on the server. The server shall not send any response to the received GATT_CMD_xxx
GATT_HANDLE_VALUE_NOTIF
, GATT_HANDLE_VALUE_IND
and GATT_HANDLE_VALUE_MULTI_NOTIF
are sent by server to notify/indicate changes to handle values on the server GATT_HANDLE_VALUE_CONF
is sent by the client in response to GATT_HANDLE_VALUE_IND
GATT client operation type, used in client callback function.
GATT Status Codes.
uint8_t len |
attribute length .
It excludes the header.
uint8_t perm |
attribute permission.