AIROC Generic Attribute (GATT) Application Programming Interface. More...
Data Structures | |
struct | wiced_bt_gatt_read_t |
Attribute read request Opcode request, can be GATT_REQ_READ, GATT_REQ_READ_BLOB. 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_gattdb_entry_t |
Structure used by wiced_bt_gattdb APIS, to parse GATTDB. 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... | |
Macros | |
#define | GATT_BLE_DEFAULT_MTU_SIZE 23 |
Default GATT MTU size over LE link. More... | |
#define | GATT_AUTH_SIGN_LEN 12 |
Size of the signature appended to application data in signed write cmd. More... | |
#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. More... | |
#define | WICED_GATT_HDR_SIZE 3 |
GATT Header size (1 byte opcode + 2 byte handle) More... | |
#define | GATT_PREP_WRITE_CANCEL GATT_PREPARE_WRITE_CANCEL |
See GATT_PREPARE_WRITE_CANCEL. More... | |
#define | GATT_PREP_WRITE_EXEC GATT_PREPARE_WRITE_EXEC |
See GATT_PREPARE_WRITE_EXEC. More... | |
#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) More... | |
#define | GATTDB_PERM_READABLE (0x1 << 1) |
Attribute is readable. More... | |
#define | GATTDB_PERM_WRITE_CMD (0x1 << 2) |
Attribute can be written using GATT_CMD_WRITE. More... | |
#define | GATTDB_PERM_WRITE_REQ (0x1 << 3) |
Attribute can be written using GATT_REQ_WRITE. More... | |
#define | GATTDB_PERM_AUTH_READABLE (0x1 << 4) |
Attribute can be read if the connection is encrypted or authenticated. More... | |
#define | GATTDB_PERM_RELIABLE_WRITE (0x1 << 5) |
Attribute supports reliable writes. More... | |
#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. More... | |
#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. More... | |
#define | GATTDB_CHAR_PROP_BROADCAST (0x1 << 0) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) More... | |
#define | GATTDB_CHAR_PROP_READ (0x1 << 1) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) More... | |
#define | GATTDB_CHAR_PROP_WRITE_NO_RESPONSE (0x1 << 2) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) More... | |
#define | GATTDB_CHAR_PROP_WRITE (0x1 << 3) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) More... | |
#define | GATTDB_CHAR_PROP_NOTIFY (0x1 << 4) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) More... | |
#define | GATTDB_CHAR_PROP_INDICATE (0x1 << 5) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) More... | |
#define | GATTDB_CHAR_PROP_AUTHD_WRITES (0x1 << 6) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) More... | |
#define | GATTDB_CHAR_PROP_EXTENDED (0x1 << 7) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1) More... | |
#define | GATTDB_CHAR_EXTENDED_PROP_RELIABLE (0x1 << 0) |
GATT Characteristic Extended Properties (see Vol 3, Part G, 3.3.3.1) More... | |
#define | GATTDB_CHAR_EXTENDED_PROP_WRITABLE_AUXILIARIES (0x1 << 1) |
GATT Characteristic Extended Properties (see Vol 3, Part G, 3.3.3.1) More... | |
#define | BIT16_TO_8(val) |
Conversion macros. More... | |
#define | GATTDB_UUID16_SIZE 2 |
UUID lengths. More... | |
#define | GATTDB_UUID128_SIZE 16 |
UUID lengths. More... | |
#define | GATT_IS_CSF_FEATURE_SUPPORTED(csf, m) (csf[(m)/8] & (1 << (m)%8)) |
Macro to determine GATT Client Support features. More... | |
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... | |
Typedefs | |
typedef uint16_t | wiced_bt_gatt_status_t |
GATT status (see wiced_bt_gatt_status_e) More... | |
typedef uint8_t | wiced_bt_gatt_opcode_t |
GATT Opcodes. More... | |
typedef uint16_t | wiced_bt_gatt_disconn_reason_t |
GATT disconnection reason (see wiced_bt_gatt_disconn_reason_e) More... | |
typedef uint16_t | wiced_bt_gatt_client_char_config_t |
GATT client config (see wiced_bt_gatt_client_char_config_e) More... | |
typedef uint16_t | wiced_bt_gatt_server_char_config_t |
GATT server config (see wiced_bt_gatt_server_char_config_e) More... | |
typedef uint8_t | wiced_bt_gatt_char_properties_t |
GATT characteristic properties mask (see wiced_bt_gatt_char_properties_e) More... | |
typedef uint8_t | wiced_bt_gatt_auth_req_t |
GATT authentication requirement (see wiced_bt_gatt_auth_req_e) More... | |
typedef uint8_t | wiced_bt_gatt_exec_flag_t |
GATT execute flag (see wiced_bt_gatt_exec_flag_e) More... | |
typedef uint8_t | wiced_bt_gatt_discovery_type_t |
GATT Discovery type (see wiced_bt_gatt_discovery_type_e) More... | |
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) More... | |
typedef uint8_t | wiced_bt_gatt_permission_t |
Attribute permission bit masks. More... | |
typedef uint8_t | wiced_bt_gatt_format_t |
characteristic format specifiers (see wiced_bt_gatt_format_e) More... | |
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. More... | |
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 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. More... | |
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. More... | |
typedef void(* | wiced_bt_gatt_eatt_release_drb_t) (tDRB *p_drb) |
Callback upon releasing the DRB. More... | |
Functions | |
wiced_result_t | wiced_bt_gatt_server_enable_caching (void) |
Enables GATT database hashing calculations on the server. More... | |
wiced_result_t | wiced_bt_gatt_server_enable_signing (void) |
Enables code for enabling and checking data signing on the server and client. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_server_send_indication (uint16_t conn_id, uint16_t attr_handle, uint16_t val_len, uint8_t *p_app_buffer, wiced_bt_gatt_app_context_t p_app_ctxt) |
This API will send a long (1 upto (MTU -3) bytes) indication to the client for the specified handle with a persistent buffer in p_app_buffer . More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_server_send_notification (uint16_t conn_id, uint16_t attr_handle, uint16_t val_len, uint8_t *p_app_buffer, wiced_bt_gatt_app_context_t p_app_ctxt) |
This API will send a long (1 upto (MTU -3) bytes) notification to the client for the specified handle with a persistent buffer in p_app_buffer . More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_server_send_multiple_notifications (uint16_t conn_id, uint16_t app_buffer_len, uint8_t *p_app_buffer, wiced_bt_gatt_app_context_t p_app_ctxt) |
This API will send a long (1 upto (MTU -1) bytes) multiple variable length notification to the client with a persistent buffer in p_app_buffer . More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_db_init (const uint8_t *p_gatt_db, uint16_t gatt_db_size, wiced_bt_db_hash_t hash) |
Initialize the GATT database (Please refer Service and Characteristic macros for MACRO's to create or add entries to GATT database) More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_add_services_to_db (const uint8_t *p_gatt_db, uint16_t gatt_db_size, wiced_bt_db_hash_t hash) |
Add a service module to the database. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_db_remove_services_from_db (const uint8_t *p_gatt_db, wiced_bt_db_hash_t hash) |
Remove the service module from the database. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_server_send_mtu_rsp (uint16_t conn_id, uint16_t remote_mtu, uint16_t my_mtu) |
Server API to respond to a MTU request from the client. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_server_send_read_handle_rsp (uint16_t conn_id, wiced_bt_gatt_opcode_t opcode, uint16_t len, uint8_t *p_attr_rsp, wiced_bt_gatt_app_context_t p_app_ctxt) |
Server API to respond to a read request from the client. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_server_send_read_by_type_rsp (uint16_t conn_id, wiced_bt_gatt_opcode_t opcode, uint8_t type_len, uint16_t data_len, uint8_t *p_app_rsp_buffer, wiced_bt_gatt_app_context_t p_app_ctxt) |
Server API to respond to a read by type request from the client. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_server_send_read_multiple_rsp (uint16_t conn_id, wiced_bt_gatt_opcode_t opcode, uint16_t len, uint8_t *p_app_rsp_buffer, wiced_bt_gatt_app_context_t p_app_ctxt) |
Server API to respond to read multiple request from the client. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_server_send_write_rsp (uint16_t conn_id, wiced_bt_gatt_opcode_t opcode, uint16_t handle) |
Server API to respond to a write request from the client. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_server_send_prepare_write_rsp (uint16_t conn_id, wiced_bt_gatt_opcode_t opcode, uint16_t handle, uint16_t offset, uint16_t len, uint8_t *p_app_rsp_buffer, wiced_bt_gatt_app_context_t p_app_ctxt) |
Server API to respond to a prepare write request from the client. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_server_send_execute_write_rsp (uint16_t conn_id, wiced_bt_gatt_opcode_t opcode) |
Server API to respond to an execute write request from the client. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_server_send_error_rsp (uint16_t conn_id, wiced_bt_gatt_opcode_t opcode, uint16_t handle, wiced_bt_gatt_status_t status) |
Server API to send an error response to any of the received requests on encountering an error in the command. More... | |
uint16_t | wiced_bt_gatt_find_handle_by_type (uint16_t s_handle, uint16_t e_handle, wiced_bt_uuid_t *p_uuid) |
Utility function on the server to find a handle matching a uuid in a range. More... | |
void | wiced_bt_gatt_set_client_supported_features (uint16_t conn_id, wiced_bt_gatt_client_supported_features_t csfs) |
Set the remote client supported features upon write and for bonded device after reconnect as read from NVRAM. More... | |
void | wiced_bt_gatt_get_client_supported_features (uint16_t conn_id, wiced_bt_gatt_client_supported_features_t csfs) |
Get the remote client supported features. More... | |
void | wiced_bt_gatt_get_peer_caching_status (uint16_t conn_id, wiced_bt_gatt_caching_status_t *caching_status) |
Can be used by the server application to read the robust caching status of the peer. More... | |
void | wiced_bt_gatt_set_peer_caching_status (uint16_t conn_id, wiced_bt_gatt_caching_status_t status) |
This function is used by the server application to set peer's caching state. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_client_configure_mtu (uint16_t conn_id, uint16_t mtu) |
Configure the ATT MTU (Maximum Transmission Unit)) size for a connection on an LE transport. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_client_send_discover (uint16_t conn_id, wiced_bt_gatt_discovery_type_t discovery_type, wiced_bt_gatt_discovery_param_t *p_discovery_param) |
Start an attribute discovery on an ATT server. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_client_send_read_handle (uint16_t conn_id, uint16_t handle, uint16_t offset, uint8_t *p_read_buf, uint16_t len, wiced_bt_gatt_auth_req_t auth_req) |
Read an attribute value from remote ATT server. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_client_send_read_by_type (uint16_t conn_id, uint16_t s_handle, uint16_t e_handle, wiced_bt_uuid_t *p_uuid, uint8_t *p_read_buf, uint16_t len, wiced_bt_gatt_auth_req_t auth_req) |
Read an attribute value by type from remote ATT server. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_client_send_read_multiple (uint16_t conn_id, wiced_bt_gatt_opcode_t opcode, int num_handles, uint8_t *p_handle_stream, wiced_bt_gatt_auth_req_t auth_req) |
Read two or more attribute value from remote ATT server. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_client_send_write (uint16_t conn_id, wiced_bt_gatt_opcode_t opcode, wiced_bt_gatt_write_hdr_t *p_hdr, uint8_t *p_app_write_buffer, wiced_bt_gatt_app_context_t p_app_ctxt) |
Write an attribute value to remote ATT server. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_client_send_execute_write (uint16_t conn_id, wiced_bool_t is_execute) |
Send Execute Write request to remote ATT server. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_client_send_indication_confirm (uint16_t conn_id, uint16_t handle) |
Send a handle value confirmation to remote ATT server. More... | |
wiced_bool_t | wiced_bt_gatt_le_connect (wiced_bt_device_address_t bd_addr, wiced_bt_ble_address_type_t bd_addr_type, wiced_bt_ble_conn_mode_t conn_mode, wiced_bool_t is_direct) |
Open GATT over LE connection to a remote device. More... | |
wiced_bool_t | wiced_bt_gatt_bredr_connect (wiced_bt_device_address_t bd_addr) |
Open GATT over BR/EDR connection to a remote device Result is notified using GATT_CONNECTION_STATUS_EVT of wiced_bt_gatt_cback_t. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_register (wiced_bt_gatt_cback_t *p_gatt_cback) |
Register an application callback with GATT. More... | |
wiced_bool_t | wiced_bt_gatt_cancel_connect (wiced_bt_device_address_t bd_addr, wiced_bool_t is_direct) |
Cancel initiating GATT connection. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_disconnect (uint16_t conn_id) |
Close the specified GATT connection. More... | |
wiced_bool_t | wiced_bt_gatt_listen (wiced_bool_t start, wiced_bt_device_address_t bd_addr, wiced_bt_ble_address_type_t type) |
Start or stop LE advertisement and listen for connection. More... | |
uint32_t | wiced_bt_gatt_eatt_register (wiced_bt_gatt_eatt_callbacks_t *p_gatt_cback, uint32_t max_eatt_bearers) |
Register an application callback with GATT. More... | |
wiced_result_t | wiced_bt_gatt_eatt_connect (uint16_t legacy_conn_id, uint32_t mtu, uint32_t mps, uint32_t num_bearers, wiced_bt_eatt_drbs ppDRBs, wiced_bt_gatt_eatt_conn_id_list conn_id_list_out) |
API to create the enhanced gatt channels, using the legacy/unenhanced connection identifier. More... | |
wiced_result_t | wiced_bt_gatt_eatt_connect_response (wiced_bt_gatt_eatt_connection_indication_event_t *p_indication, wiced_bt_gatt_eatt_connection_response_t *p_response, wiced_bt_gatt_eatt_conn_id_list conn_id_list_out) |
API to create the respond to the enhanced gatt channels connection indication. More... | |
wiced_result_t | wiced_bt_gatt_eatt_reconfigure (wiced_bt_gatt_eatt_conn_id_list conn_id_list, uint32_t num_bearers, uint32_t mtu, uint32_t mps, wiced_bt_eatt_drbs ppDRBs) |
API the reconfigure the enhanced gatt channels. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_get_device_address (uint16_t conn_id, wiced_bt_device_address_t *p_bdaddr, wiced_bt_transport_t *p_transport, wiced_bt_ble_address_type_t *p_addr_type) |
API to get the bluetooth device address of the connected gatt conn_id. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_validate_conn_id (uint16_t conn_id) |
API to validate connected gatt conn_id. More... | |
wiced_bool_t | wiced_bt_is_same_uuid (const wiced_bt_uuid_t *p_left, const wiced_bt_uuid_t *p_right) |
Utility function to compare UUIDs. More... | |
uint16_t | wiced_bt_gatt_get_bearer_mtu (uint16_t conn_id) |
Utility function to get the configured ATT bearer mtu. More... | |
wiced_bt_gatt_status_t | wiced_bt_gatt_server_check_attribute_permission (uint16_t conn_id, uint16_t handle, wiced_bt_gatt_opcode_t opcode) |
Utility function to check whether the attribute referred to by handle has the permission to perform actions required by opcode received in the attribute request from the peer. More... | |
int | wiced_bt_gatt_put_read_by_type_rsp_in_stream (uint8_t *p_stream, int stream_len, uint8_t *p_pair_len, uint16_t attr_handle, uint16_t attr_len, const uint8_t *p_attr) |
Utility function to copy a partial read by type response to the buffer. More... | |
int | wiced_bt_gatt_put_read_multi_rsp_in_stream (wiced_bt_gatt_optype_t opcode, uint8_t *p_stream, int stream_len, uint16_t attr_handle, uint16_t attr_len, const uint8_t *p_attr) |
Utility function to put the handle, data into the multi handle response stream. More... | |
int | wiced_bt_gatt_get_multi_handle_data_from_stream (uint8_t *p_stream, int stream_len, uint8_t **pp_addr, int *p_attr_len, int *p_data_in_rsp) |
Utility function to get the variable length handle data from the read multi var length response stream. More... | |
uint16_t | wiced_bt_gatt_get_handle_from_stream (uint8_t *p_handle_stream, uint16_t handle_index) |
Utility function to get the handle at index from the handle stream. More... | |
int | wiced_bt_gatt_put_handle_in_stream (uint8_t *p_handle_stream, int stream_len, uint16_t handle) |
Utility function to put the handle into the handle stream. More... | |
const uint8_t * | wiced_bt_gatt_get_handle_value (uint16_t handle, int *p_len) |
Utility function to get the handle value and handle value len of internal DB handles. More... | |
int | wiced_bt_gatt_get_num_queued_tx_packets (uint16_t conn_id, int *p_fragments_with_controller) |
Utility function to get the number of packets queued to tx. More... | |
const wiced_gattdb_entry_t * | wiced_bt_gattdb_local_read_data_by_type (wiced_bt_gatt_discovery_type_t type, const wiced_gattdb_entry_t *p_db_start, wiced_bt_gatt_discovery_data_t *p_disc_data) |
Utility function to read local registered db by type, by iterating to the next in a loop database entry. More... | |
uint16_t | wiced_bt_gattdb_getAttrUUID16 (const wiced_gattdb_entry_t *p_db_entry) |
Utility function to return the 16 bit UUID of the database entry in the local database This will return a attribute UUID in the entry. More... | |
uint8_t * | wiced_bt_gattdb_getAttrValue (const wiced_gattdb_entry_t *p_db_entry) |
Utility function to return the data of the database entry in the local database. More... | |
AIROC Generic Attribute (GATT) Application Programming Interface.
#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 GATT_AUTH_SIGN_LEN 12 |
Size of the signature appended to application data in signed write cmd.
#define GATT_BLE_DEFAULT_MTU_SIZE 23 |
Default GATT MTU size over LE link.
#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 GATT_IS_CSF_FEATURE_SUPPORTED | ( | csf, | |
m | |||
) | (csf[(m)/8] & (1 << (m)%8)) |
Macro to determine GATT Client Support features.
#define GATT_PREP_WRITE_CANCEL GATT_PREPARE_WRITE_CANCEL |
#define GATT_PREP_WRITE_EXEC GATT_PREPARE_WRITE_EXEC |
#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 GATTDB_CHAR_PROP_AUTHD_WRITES (0x1 << 6) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1)
#define GATTDB_CHAR_PROP_BROADCAST (0x1 << 0) |
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_PROP_INDICATE (0x1 << 5) |
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_READ (0x1 << 1) |
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_WRITE_NO_RESPONSE (0x1 << 2) |
GATT Characteristic Properties (see Vol 3, Part G, 3.3.1.1)
#define GATTDB_PERM_AUTH_READABLE (0x1 << 4) |
Attribute can be read if the connection is encrypted or authenticated.
#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 GATTDB_PERM_READABLE (0x1 << 1) |
Attribute is readable.
#define GATTDB_PERM_RELIABLE_WRITE (0x1 << 5) |
Attribute supports reliable writes.
#define GATTDB_PERM_SERVICE_UUID_128 (0x1 << 7) |
Set for 128 bit services/characteristic UUIDs, check Service and Characteristic macros.
#define GATTDB_PERM_VARIABLE_LENGTH (0x1 << 0) |
Attribute has variable length (not used by stack)
#define GATTDB_PERM_WRITABLE (GATTDB_PERM_WRITE_CMD | GATTDB_PERM_WRITE_REQ | GATTDB_PERM_AUTH_WRITABLE) |
Writable permissions.
#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_UUID128_SIZE 16 |
UUID lengths.
#define GATTDB_UUID16_SIZE 2 |
UUID lengths.
#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.
#define WICED_GATT_HDR_SIZE 3 |
GATT Header size (1 byte opcode + 2 byte handle)
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.
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_caching_status_t |
GATT peer caching status (see wiced_bt_gatt_caching_status_e)
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_char_properties_t |
GATT characteristic properties mask (see wiced_bt_gatt_char_properties_e)
typedef uint16_t wiced_bt_gatt_client_char_config_t |
GATT client config (see wiced_bt_gatt_client_char_config_e)
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 uint16_t wiced_bt_gatt_disconn_reason_t |
GATT disconnection reason (see wiced_bt_gatt_disconn_reason_e)
typedef uint8_t wiced_bt_gatt_discovery_type_t |
GATT Discovery type (see wiced_bt_gatt_discovery_type_e)
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_connect_ind_t) (wiced_bt_gatt_eatt_connection_indication_event_t *p_ind) |
Function callbacks for EATT.
Callback upon GATT EATT connection
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.
typedef uint8_t wiced_bt_gatt_exec_flag_t |
GATT execute flag (see wiced_bt_gatt_exec_flag_e)
typedef uint8_t wiced_bt_gatt_format_t |
characteristic format specifiers (see wiced_bt_gatt_format_e)
typedef uint8_t wiced_bt_gatt_opcode_t |
GATT Opcodes.
typedef uint8_t wiced_bt_gatt_optype_t |
GATT Client Operation Codes.
GATT client operation type (see wiced_bt_gatt_optype_e)
typedef uint8_t wiced_bt_gatt_permission_t |
Attribute permission bit masks.
typedef uint16_t wiced_bt_gatt_server_char_config_t |
GATT server config (see wiced_bt_gatt_server_char_config_e)
typedef uint16_t wiced_bt_gatt_status_t |
GATT status (see wiced_bt_gatt_status_e)
.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.
wiced_bool_t wiced_bt_gatt_bredr_connect | ( | wiced_bt_device_address_t | bd_addr | ) |
Open GATT over BR/EDR connection to a remote device Result is notified using GATT_CONNECTION_STATUS_EVT of wiced_bt_gatt_cback_t.
[in] | bd_addr | : Remote device address |
uint16_t wiced_bt_gatt_get_bearer_mtu | ( | uint16_t | conn_id | ) |
Utility function to get the configured ATT bearer mtu.
conn_id |
void wiced_bt_gatt_get_client_supported_features | ( | uint16_t | conn_id, |
wiced_bt_gatt_client_supported_features_t | csfs | ||
) |
Get the remote client supported features.
[in] | conn_id | : GATT Connection ID |
[in] | csfs | : Bit mask set in wiced_bt_gatt_set_client_supported_features Bit 0 : Robust Caching Bit 1 : Enhanced ATT bearer Bit 2 : Multiple Handle Value Notifications |
uint16_t wiced_bt_gatt_get_handle_from_stream | ( | uint8_t * | p_handle_stream, |
uint16_t | handle_index | ||
) |
Utility function to get the handle at index from the handle stream.
[in] | p_handle_stream | : Stream of handles each of 2 octets |
[in] | handle_index | : index into the handle stream |
const uint8_t* wiced_bt_gatt_get_handle_value | ( | uint16_t | handle, |
int * | p_len | ||
) |
Utility function to get the handle value and handle value len of internal DB handles.
[in] | handle | : Attribute Handle |
[out] | p_len | : pointer to store the length of the handle value |
int wiced_bt_gatt_get_multi_handle_data_from_stream | ( | uint8_t * | p_stream, |
int | stream_len, | ||
uint8_t ** | pp_addr, | ||
int * | p_attr_len, | ||
int * | p_data_in_rsp | ||
) |
Utility function to get the variable length handle data from the read multi var length response stream.
[in] | p_stream | : Pointer to the buffer to be read |
[in] | stream_len | : Readable length of buffer pointed to by p_stream |
[out] | pp_addr | : Addr to the start of the handle data to be filled |
[out] | p_attr_len | : Pointer to fill in the complete attribute length |
[out] | p_data_in_rsp | Pointer to fill in the actual received length in the rsp at (*pp_addr) |
p_stream
read int wiced_bt_gatt_get_num_queued_tx_packets | ( | uint16_t | conn_id, |
int * | p_fragments_with_controller | ||
) |
Utility function to get the number of packets queued to tx.
[in] | conn_id | : Connection identifier |
[out] | p_fragments_with_controller | pointer to receive the number of fragments with the controller |
void wiced_bt_gatt_get_peer_caching_status | ( | uint16_t | conn_id, |
wiced_bt_gatt_caching_status_t * | caching_status | ||
) |
Can be used by the server application to read the robust caching status of the peer.
[in] | conn_id | : Connection identifier. |
[out] | caching_status | : see wiced_bt_gatt_caching_status_t |
int wiced_bt_gatt_put_handle_in_stream | ( | uint8_t * | p_handle_stream, |
int | stream_len, | ||
uint16_t | handle | ||
) |
Utility function to put the handle into the handle stream.
[in] | p_handle_stream | : Stream of handles each of 2 octets |
[in] | stream_len | : Length of the stream |
[in] | handle | : handle |
int wiced_bt_gatt_put_read_by_type_rsp_in_stream | ( | uint8_t * | p_stream, |
int | stream_len, | ||
uint8_t * | p_pair_len, | ||
uint16_t | attr_handle, | ||
uint16_t | attr_len, | ||
const uint8_t * | p_attr | ||
) |
Utility function to copy a partial read by type response to the buffer.
[in] | p_stream | : Pointer to the buffer to be filled |
[in] | stream_len | : Writable length of buffer pointed to by p_stream |
[out] | p_pair_len | : The value length for the read by type rsp. |
[in] | attr_handle | : Attribute handle to be filled |
[in] | attr_len | : Attribute len to be filled |
[in] | p_attr | : Attribute data |
int wiced_bt_gatt_put_read_multi_rsp_in_stream | ( | wiced_bt_gatt_optype_t | opcode, |
uint8_t * | p_stream, | ||
int | stream_len, | ||
uint16_t | attr_handle, | ||
uint16_t | attr_len, | ||
const uint8_t * | p_attr | ||
) |
Utility function to put the handle, data into the multi handle response stream.
[in] | opcode | : Can be either GATT_REQ_READ_MULTI or GATT_REQ_READ_MULTI_VAR_LENGTH |
[in] | p_stream | : Pointer to the buffer to be filled |
[in] | stream_len | : Writable length of buffer pointed to by p_stream |
[in] | attr_handle | : Attribute handle to be filled |
[in] | attr_len | : Attribute len to be filled |
[in] | p_attr | : Attribute data |
wiced_bt_gatt_status_t wiced_bt_gatt_server_check_attribute_permission | ( | uint16_t | conn_id, |
uint16_t | handle, | ||
wiced_bt_gatt_opcode_t | opcode | ||
) |
Utility function to check whether the attribute referred to by handle
has the permission to perform actions required by opcode
received in the attribute request from the peer.
[in] | conn_id | : Bearer Connection id |
[in] | handle | : Attribute handle to check permission on |
[in] | opcode | : Opcode received from peer. |
perm_to_check
is allowed on the handle
, else the specific error uint16_t wiced_bt_gattdb_getAttrUUID16 | ( | const wiced_gattdb_entry_t * | p_db_entry | ) |
Utility function to return the 16 bit UUID of the database entry in the local database This will return a attribute UUID in the entry.
If the attribute uuid is not 2 bytes. It will return 0x0 which is invalid uuid.
[in] | p_db_entry | Database entry for which the UUID is to be returned. |
uint8_t* wiced_bt_gattdb_getAttrValue | ( | const wiced_gattdb_entry_t * | p_db_entry | ) |
Utility function to return the data of the database entry in the local database.
[in] | p_db_entry | Database entry of which the data is to be returned. |
const wiced_gattdb_entry_t* wiced_bt_gattdb_local_read_data_by_type | ( | wiced_bt_gatt_discovery_type_t | type, |
const wiced_gattdb_entry_t * | p_db_start, | ||
wiced_bt_gatt_discovery_data_t * | p_disc_data | ||
) |
Utility function to read local registered db by type, by iterating to the next in a loop database entry.
Initially p_db_start
is set to NULL, which resets the search to the head of the local database. The database is traversed to locate the next entry which matches the intended type
. If an entry is found the data of that entry is written to p_disc_data
and the entry in the database is returned. The returned entry is passed in the subsequent call to this function in p_db_start
. If an entry is not found the function returns a NULL, which indicates that the entire database has been iterated and the calling loop can end.
[in] | type | Discovery type |
[in] | p_db_start | The database entry to search from. Value of NULL, resets the database pointer to the head |
[out] | p_disc_data | discovered data, only valid if the return is not NULL |
wiced_bool_t wiced_bt_is_same_uuid | ( | const wiced_bt_uuid_t * | p_left, |
const wiced_bt_uuid_t * | p_right | ||
) |
Utility function to compare UUIDs.
[in] | p_left | : UUID to compare |
[in] | p_right | : UUID to compare |