49 #define GATT_CLIENT_CHAR_CFG_UPDATED_EVENT 0x00 59 #define GATT_PROP_BCAST 0x01 60 #define GATT_PROP_READ 0x02 61 #define GATT_PROP_WRITE_NO_RSP 0x04 62 #define GATT_PROP_WRITE 0x08 63 #define GATT_PROP_NOTIFY 0x10 64 #define GATT_PROP_INDICATE 0x20 65 #define GATT_PROP_AUTHEN 0x40 66 #define GATT_PROP_EXTENDED 0x80 75 #define GATT_EXT_PROP_RELIABLE_WRITE 0x0001 76 #define GATT_EXT_PROP_WRITABLE_AUX 0x0002 85 #define GATT_CLIENT_CFG_NOTIFY 0x0001 86 #define GATT_CLIENT_CFG_INDICATE 0x0002 95 #define GATT_SERV_CFG_BCAST 0x0001 99 #define GATT_CFG_NO_OPERATION 0x0000 106 #define GATT_FORMAT_BOOL 0x01 107 #define GATT_FORMAT_2BIT 0x02 108 #define GATT_FORMAT_NIBBLE 0x03 109 #define GATT_FORMAT_UINT8 0x04 110 #define GATT_FORMAT_UINT12 0x05 111 #define GATT_FORMAT_UINT16 0x06 112 #define GATT_FORMAT_UINT24 0x07 113 #define GATT_FORMAT_UINT32 0x08 114 #define GATT_FORMAT_UINT48 0x09 115 #define GATT_FORMAT_UINT64 0x0a 116 #define GATT_FORMAT_UINT128 0x0b 117 #define GATT_FORMAT_SINT8 0x0c 118 #define GATT_FORMAT_SINT12 0x0d 119 #define GATT_FORMAT_SINT16 0x0e 120 #define GATT_FORMAT_SINT24 0x0f 121 #define GATT_FORMAT_SINT32 0x10 122 #define GATT_FORMAT_SINT48 0x11 123 #define GATT_FORMAT_SINT64 0x12 124 #define GATT_FORMAT_SINT128 0x13 125 #define GATT_FORMAT_FLOAT32 0x14 126 #define GATT_FORMAT_FLOAT64 0x15 127 #define GATT_FORMAT_SFLOAT 0x16 128 #define GATT_FORMAT_FLOAT 0x17 129 #define GATT_FORMAT_DUINT16 0x18 130 #define GATT_FORMAT_UTF8S 0x19 131 #define GATT_FORMAT_UTF16S 0x1a 132 #define GATT_FORMAT_STRUCT 0x1b 140 #define GATT_NS_NONE 0x00 141 #define GATT_NS_BT_SIG 0x01 142 #define GATT_NS_BT_DESC_UNKNOWN 0x0000 145 #define GATT_ALL_SERVICES 0xFFFFFFFF 149 #define GATT_SERVICE 0x00000001 152 #if defined ( TESTMODES ) 154 #define GATT_TESTMODE_OFF 0 // Test mode off 155 #define GATT_TESTMODE_NO_RSP 1 // Ignore incoming request 156 #define GATT_TESTMODE_PREPARE_WRITE 2 // Forward Prepare Write Request right away 157 #define GATT_TESTMODE_MAX_MTU_SIZE 3 // Use Max ATT MTU size with Exchange MTU Rsp 158 #define GATT_TESTMODE_CORRUPT_PW_DATA 4 // Corrupt incoming Prepare Write Request data 166 #define GATT_PARAM_NUM_PREPARE_WRITES 0 169 #define PTR_TYPE unsigned int * 175 #define GATT_LOCAL_READ 0xFF 176 #define GATT_LOCAL_WRITE 0xFE 190 #define GATT_NUM_ATTRS( attrs ) ( sizeof( attrs ) / sizeof( gattAttribute_t ) ) 193 #define GATT_SERVICE_HANDLE( attrs ) ( (attrs)[0].handle ) 196 #define GATT_INCLUDED_HANDLE( attrs, i ) ( *((uint16 *)((attrs)[(i)].pValue)) ) 199 #define GATT_CCC_TBL( pValue ) ( (gattCharCfg_t *)(*((PTR_TYPE)(pValue))) ) 242 uint8 *pValue, uint16 *pLen, uint16 offset,
243 uint16 maxLen, uint8 method );
277 uint8 *pValue, uint16 len, uint16 offset,
416 uint16 numAttrs, uint8 encKeySize,
447 uint16 numAttrs, uint8 *pValue );
588 uint8 *pValue, uint16 len, uint16 offset,
611 uint16 numAttrs, uint8 taskId,
657 uint16 service, uint8 *pValue, uint16 *pLen,
658 uint16 offset, uint16 maxLen, uint8 method );
674 uint8 *pValue, uint16 len, uint16 offset,
691 uint16 pLen, uint16 offset );
724 extern void GATTServApp_Init( uint8 taskId, uint8_t cfg_GATTServApp_att_delayed_req, uint8_t cfg_gapBond_gatt_no_service_changed );
737 extern uint16 GATTServApp_ProcessEvent( uint8 taskId, uint16 events );
801 extern bStatus_t gattServApp_buildReadByTypeRsp( uint16 connHandle, uint8 *pAttrValue, uint16 attrLen, uint16 attrHandle );
812 extern prepareWrites_t *gattServApp_FindPrepareWriteQ( uint16 connHandle );
847 extern bStatus_t gattServApp_EnqueueReTx( uint16 connHandle, uint8 method,
859 extern void gattServApp_DequeueReTx(
void );
uint16 GATTServApp_GetParamValue(void)
Get a GATT Server Application Parameter value.
This API allows the software components in the Z-Stack to be written independently of the specifics o...
uint16 connHandle
Connection message was received on.
Definition: gattservapp.h:334
gattServiceCBsInfo_t serviceInfo
service handle/callbacks
Definition: gattservapp.h:372
GATT Server App event header format.
Definition: gattservapp.h:331
void GATTServApp_SetParamValue(uint16 value)
Set a GATT Server Application Parameter value. Use this function to change the default GATT parameter...
gattAttribute_t * GATTServApp_FindAttr(gattAttribute_t *pAttrTbl, uint16 numAttrs, uint8 *pValue)
Find the attribute record within a service attribute table for a given attribute value pointer...
pfnGATTAuthorizeAttrCB_t pfnAuthorizeAttrCB
Authorization callback function pointer.
Definition: gattservapp.h:327
Service callbacks list item.
Definition: gattservapp.h:369
void GATTServApp_SendCCCUpdatedEvent(uint16 connHandle, uint16 attrHandle, uint16 value)
Build and send the GATT_CLIENT_CHAR_CFG_UPDATED_EVENT to the application.
uint16 handle
Service handle - assigned internally by GATT Server.
Definition: gattservapp.h:364
Structure to keep Prepare Write Requests for each Client.
Definition: gattservapp.h:355
bStatus_t GATTServApp_GetParameter(uint8 param, void *pValue)
Get a GATT Server parameter.
pfnGATTWriteAttrCB_t pfnWriteAttrCB
Write callback function pointer.
Definition: gattservapp.h:326
prepareWrites_t * prepareWritesTbl
Server Prepare Write table (one entry per each physical link)
GATT Structure to keep CBs information for each service being registered.
Definition: gattservapp.h:362
uint8 value
Characteristic configuration value for this client.
Definition: gattservapp.h:314
bStatus_t GATTServApp_AddService(uint32 services)
Add function for the GATT Service.
pfnGATTReadAttrCB_t pfnReadAttrCB
Read callback function pointer.
Definition: gattservapp.h:325
bStatus_t(* pfnGATTReadAttrCB_t)(uint16 connHandle, gattAttribute_t *pAttr, uint8 *pValue, uint16 *pLen, uint16 offset, uint16 maxLen, uint8 method)
Callback function prototype to read an attribute value.
Definition: gattservapp.h:241
bStatus_t GATTServApp_ReadRsp(uint16 connHandle, uint8 *pValue, uint16 pLen, uint16 offset)
If a service returns blePending to the read attribute call back invoked from GATTServApp, the service can later respond to with the value to be read using this API.
GATT Message format.
Definition: gatt.h:166
uint8 GATTServApp_WriteAttr(uint16 connHandle, uint16 handle, uint8 *pValue, uint16 len, uint16 offset, uint8 method)
Write attribute data.
struct _serviceCBsList * next
pointer to next service callbacks record
Definition: gattservapp.h:371
Structure for Client Characteristic Configuration.
Definition: gattservapp.h:311
osal_event_hdr_t hdr
GATT_SERV_MSG_EVENT and status.
Definition: gattservapp.h:333
uint16 connHandle
Client connection handle.
Definition: gattservapp.h:313
bStatus_t GATTServApp_ProcessCharCfg(gattCharCfg_t *charCfgTbl, uint8 *pValue, uint8 authenticated, gattAttribute_t *attrTbl, uint16 numAttrs, uint8 taskId, pfnGATTReadAttrCB_t pfnReadAttrCB)
Process Client Characteristic Configuration change.
uint16 GATTServApp_ReadCharCfg(uint16 connHandle, gattCharCfg_t *charCfgTbl)
Read the client characteristic configuration for a given client.
void GATTServApp_RegisterForMsg(uint8 taskID)
Register your task ID to receive event messages from the GATT Server Application. ...
attPrepareWriteReq_t * pPrepareWriteQ
Prepare Write Request queue.
Definition: gattservapp.h:358
void GATTServApp_InitCharCfg(uint16 connHandle, gattCharCfg_t *charCfgTbl)
Initialize the client characteristic configuration table.
uint16 value
attribute new value
Definition: gattservapp.h:350
uint16 connHandle
Connection message was received on.
Definition: gattservapp.h:347
Type definitions and macros for BLE stack.
bStatus_t GATTServApp_SetParameter(uint8 param, uint8 len, void *pValue)
Set a GATT Server parameter.
bStatus_t GATTServApp_SendServiceChangedInd(uint16 connHandle, uint8 taskId)
Send out a Service Changed Indication.
bStatus_t GATTServApp_DelService(uint32 services)
Delete function for the GATT Service.
uint16 connHandle
connection message was received on
Definition: gattservapp.h:357
uint16 attrHandle
attribute handle
Definition: gattservapp.h:349
serviceCBsList_t * serviceCBsList
Callbacks for services.
OSAL Event Header.
Definition: osal.h:92
GATT_CLIENT_CHAR_CFG_UPDATED_EVENT message format.
Definition: gattservapp.h:344
struct _serviceCBsList serviceCBsList_t
Service callbacks list item.
GATT GATT_MSG_EVENT message format.
Definition: gatt.h:212
uint8 method
GATT type of command. Ref: GATT Server Message IDs.
Definition: gattservapp.h:335
bStatus_t GATTServApp_RegisterService(gattAttribute_t *pAttrs, uint16 numAttrs, uint8 encKeySize, CONST gattServiceCBs_t *pServiceCBs)
Register a service's attribute list and callback functions with the GATT Server Application.
bStatus_t GATTServApp_ProcessCCCWriteReq(uint16 connHandle, gattAttribute_t *pAttr, uint8 *pValue, uint16 len, uint16 offset, uint16 validCfg)
Process the client characteristic configuration write request for a given client. ...
osal_event_hdr_t hdr
GATT_SERV_MSG_EVENT and status.
Definition: gattservapp.h:346
GATT Attribute format.
Definition: gatt.h:241
Status_t bStatus_t
BLE Generic Status return.
Definition: bcomdef.h:251
CONST gattServiceCBs_t * pCBs
Service callback function pointers.
Definition: gattservapp.h:365
Prepare Write Request format.
Definition: att.h:554
uint8 method
GATT_CLIENT_CHAR_CFG_UPDATED_EVENT.
Definition: gattservapp.h:348
bStatus_t GATTServApp_UpdateCharCfg(uint16 connHandle, uint16 attrHandle, uint16 value)
Update the Client Characteristic Configuration for a given Client.
uint8 GATTServApp_WriteCharCfg(uint16 connHandle, gattCharCfg_t *charCfgTbl, uint16 value)
Write the client characteristic configuration for a given client.
GATT Structure for service callback functions.
Definition: gattservapp.h:323
bStatus_t(* pfnGATTAuthorizeAttrCB_t)(uint16 connHandle, gattAttribute_t *pAttr, uint8 opcode)
Callback function prototype to authorize a Read or Write operation on a given attribute.
Definition: gattservapp.h:290
Execute Write Request format.
Definition: att.h:580
bStatus_t GATTServApp_DeregisterService(uint16 handle, gattAttribute_t **p2pAttrs)
Deregister a service's attribute list and callback functions from the GATT Server Application...
bStatus_t(* pfnGATTWriteAttrCB_t)(uint16 connHandle, gattAttribute_t *pAttr, uint8 *pValue, uint16 len, uint16 offset, uint8 method)
Callback function prototype to write an attribute value.
Definition: gattservapp.h:276
uint8 GATTServApp_ReadAttr(uint16 connHandle, gattAttribute_t *pAttr, uint16 service, uint8 *pValue, uint16 *pLen, uint16 offset, uint16 maxLen, uint8 method)
Read an attribute. If the format of the attribute value is unknown to GATT Server, use the callback function provided by the Service.