TI BLE Stack API Documentation  2.03.08
Functions
GATT Server App API Functions

Functions

void GATTServApp_RegisterForMsg (uint8 taskID)
 Register your task ID to receive event messages from the GATT Server Application. More...
 
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. More...
 
bStatus_t GATTServApp_DeregisterService (uint16 handle, gattAttribute_t **p2pAttrs)
 Deregister a service's attribute list and callback functions from the GATT Server Application. More...
 
gattAttribute_tGATTServApp_FindAttr (gattAttribute_t *pAttrTbl, uint16 numAttrs, uint8 *pValue)
 Find the attribute record within a service attribute table for a given attribute value pointer. More...
 
bStatus_t GATTServApp_AddService (uint32 services)
 Add function for the GATT Service. More...
 
bStatus_t GATTServApp_DelService (uint32 services)
 Delete function for the GATT Service. More...
 
bStatus_t GATTServApp_SetParameter (uint8 param, uint8 len, void *pValue)
 Set a GATT Server parameter. More...
 
bStatus_t GATTServApp_GetParameter (uint8 param, void *pValue)
 Get a GATT Server parameter. More...
 
bStatus_t GATTServApp_UpdateCharCfg (uint16 connHandle, uint16 attrHandle, uint16 value)
 Update the Client Characteristic Configuration for a given Client. More...
 
void GATTServApp_InitCharCfg (uint16 connHandle, gattCharCfg_t *charCfgTbl)
 Initialize the client characteristic configuration table. More...
 
uint16 GATTServApp_ReadCharCfg (uint16 connHandle, gattCharCfg_t *charCfgTbl)
 Read the client characteristic configuration for a given client. More...
 
uint8 GATTServApp_WriteCharCfg (uint16 connHandle, gattCharCfg_t *charCfgTbl, uint16 value)
 Write the client characteristic configuration for a given client. More...
 
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. More...
 
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. More...
 
void GATTServApp_SendCCCUpdatedEvent (uint16 connHandle, uint16 attrHandle, uint16 value)
 Build and send the GATT_CLIENT_CHAR_CFG_UPDATED_EVENT to the application. More...
 
bStatus_t GATTServApp_SendServiceChangedInd (uint16 connHandle, uint8 taskId)
 Send out a Service Changed Indication. More...
 
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. More...
 
uint8 GATTServApp_WriteAttr (uint16 connHandle, uint16 handle, uint8 *pValue, uint16 len, uint16 offset, uint8 method)
 Write attribute data. More...
 
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. More...
 

Detailed Description

Function Documentation

§ GATTServApp_AddService()

bStatus_t GATTServApp_AddService ( uint32  services)

Add function for the GATT Service.

Parameters
services- services to add. This is a bit map and can contain more than one service.
Returns
SUCCESS: Service added successfully.
INVALIDPARAMETER: Invalid service field.
FAILURE: Not enough attribute handles available.
bleMemAllocError: Memory allocation error occurred.

§ GATTServApp_DelService()

bStatus_t GATTServApp_DelService ( uint32  services)

Delete function for the GATT Service.

Parameters
services- services to delete. This is a bit map and can contain more than one service.
Returns
SUCCESS: Service deleted successfully.
FAILURE: Service not found.

§ GATTServApp_DeregisterService()

bStatus_t GATTServApp_DeregisterService ( uint16  handle,
gattAttribute_t **  p2pAttrs 
)

Deregister a service's attribute list and callback functions from the GATT Server Application.

NOTE: It's the caller's responsibility to free the service attribute list returned from this API.

Parameters
handle- handle of service to be deregistered
p2pAttrs- pointer to array of attribute records (to be returned)
Returns
SUCCESS: Service deregistered successfully.
FAILURE: Service not found.

§ GATTServApp_FindAttr()

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.

Parameters
pAttrTbl- pointer to attribute table
numAttrs- number of attributes in attribute table
pValue- pointer to attribute value
Returns
Pointer to attribute record. NULL, if not found.

§ GATTServApp_GetParameter()

bStatus_t GATTServApp_GetParameter ( uint8  param,
void *  pValue 
)

Get a GATT Server parameter.

Parameters
param- Profile parameter ID
pValue- pointer to data to put. This is dependent on the parameter ID and WILL be cast to the appropriate data type (example: data type of uint16 will be cast to uint16 pointer).
Returns
SUCCESS: Parameter get successful INVALIDPARAMETER: Invalid parameter

§ GATTServApp_InitCharCfg()

void GATTServApp_InitCharCfg ( uint16  connHandle,
gattCharCfg_t charCfgTbl 
)

Initialize the client characteristic configuration table.

Note: Each client has its own instantiation of the Client Characteristic Configuration. Reads/Writes of the Client Characteristic Configuration only only affect the configuration of that client.

Parameters
connHandle- connection handle (0xFFFF for all connections).
charCfgTbl- client characteristic configuration table.
Returns
none

§ GATTServApp_ProcessCCCWriteReq()

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.

Parameters
connHandle- connection message was received on.
pAttr- pointer to attribute.
pValue- pointer to data to be written.
len- length of data.
offset- offset of the first octet to be written.
validCfg- valid configuration.
Returns
Success or Failure

§ GATTServApp_ProcessCharCfg()

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.

Parameters
charCfgTbl- characteristic configuration table.
pValue- pointer to attribute value.
authenticated- whether an authenticated link is required.
attrTbl- attribute table.
numAttrs- number of attributes in attribute table.
taskId- task to be notified of confirmation.
pfnReadAttrCB- read callback function pointer.
Returns
Success or Failure

§ GATTServApp_ReadAttr()

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.

Parameters
connHandle- connection message was received on
pAttr- pointer to attribute
service- handle of owner service
pValue- pointer to data to be read
pLen- length of data to be read
offset- offset of the first octet to be read
maxLen- maximum length of data to be read
method- type of read
Returns
Success or Failure

§ GATTServApp_ReadCharCfg()

uint16 GATTServApp_ReadCharCfg ( uint16  connHandle,
gattCharCfg_t charCfgTbl 
)

Read the client characteristic configuration for a given client.

Note: Each client has its own instantiation of the Client Characteristic Configuration. Reads of the Client Characteristic Configuration only shows the configuration for that client.

Parameters
connHandle- connection handle.
charCfgTbl- client characteristic configuration table.
Returns
attribute value

§ GATTServApp_ReadRsp()

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.

Parameters
connHandle- connection read request was received on
pValue- pointer to data to be read (to be returned)
pLen- length of data (to be returned)
offset- offset of the first octet to be read
Returns
SUCCESS: Read was successfully added to response.
bleNotConnected: Connection associated with read req is down.

§ GATTServApp_RegisterForMsg()

void GATTServApp_RegisterForMsg ( uint8  taskID)

Register your task ID to receive event messages from the GATT Server Application.

Parameters
taskID- Default task ID to send events.
Returns
none

§ GATTServApp_RegisterService()

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.

Parameters
pAttrs- Array of attribute records to be registered
numAttrs- Number of attributes in array
encKeySize- Minimum encryption key size required by service (7-16 bytes)
pServiceCBs- Service callback function pointers
Returns
SUCCESS: Service registered successfully.
INVALIDPARAMETER: Invalid service fields.
FAILURE: Not enough attribute handles available.
bleMemAllocError: Memory allocation error occurred.
bleInvalidRange: Encryption key size's out of range.

§ GATTServApp_SendCCCUpdatedEvent()

void GATTServApp_SendCCCUpdatedEvent ( uint16  connHandle,
uint16  attrHandle,
uint16  value 
)

Build and send the GATT_CLIENT_CHAR_CFG_UPDATED_EVENT to the application.

Parameters
connHandle- connection handle
attrHandle- attribute handle
value- attribute new value
Returns
none

§ GATTServApp_SendServiceChangedInd()

bStatus_t GATTServApp_SendServiceChangedInd ( uint16  connHandle,
uint8  taskId 
)

Send out a Service Changed Indication.

Parameters
connHandle- connection to use
taskId- task to be notified of confirmation
Returns
SUCCESS: Indication was sent successfully.
FAILURE: Service Changed attribute not found.
INVALIDPARAMETER: Invalid connection handle or request field.
MSG_BUFFER_NOT_AVAIL: No HCI buffer is available.
bleNotConnected: Connection is down.
blePending: A confirmation is pending with this client.

§ GATTServApp_SetParameter()

bStatus_t GATTServApp_SetParameter ( uint8  param,
uint8  len,
void *  pValue 
)

Set a GATT Server parameter.

Parameters
param- Profile parameter ID
len- length of data to right
pValue- pointer to data to write. This is dependent on the parameter ID and WILL be cast to the appropriate data type (example: data type of uint16 will be cast to uint16 pointer).
Returns
SUCCESS: Parameter set successful FAILURE: Parameter in use INVALIDPARAMETER: Invalid parameter bleInvalidRange: Invalid value bleMemAllocError: Memory allocation failed

§ GATTServApp_UpdateCharCfg()

bStatus_t GATTServApp_UpdateCharCfg ( uint16  connHandle,
uint16  attrHandle,
uint16  value 
)

Update the Client Characteristic Configuration for a given Client.

Note: This API should only be called from the Bond Manager.

Parameters
connHandle- connection handle.
attrHandle- attribute handle.
value- characteristic configuration value.
Returns
SUCCESS: Parameter get successful INVALIDPARAMETER: Invalid parameter

§ GATTServApp_WriteAttr()

uint8 GATTServApp_WriteAttr ( uint16  connHandle,
uint16  handle,
uint8 *  pValue,
uint16  len,
uint16  offset,
uint8  method 
)

Write attribute data.

Parameters
connHandle- connection message was received on
handle- attribute handle
pValue- pointer to data to be written
len- length of data
offset- offset of the first octet to be written
method- type of write
Returns
Success or Failure

§ GATTServApp_WriteCharCfg()

uint8 GATTServApp_WriteCharCfg ( uint16  connHandle,
gattCharCfg_t charCfgTbl,
uint16  value 
)

Write the client characteristic configuration for a given client.

Note: Each client has its own instantiation of the Client Characteristic Configuration. Writes of the Client Characteristic Configuration only only affect the configuration of that client.

Parameters
connHandle- connection handle.
charCfgTbl- client characteristic configuration table.
value- attribute new value.
Returns
Success or Failure