42 ATTS_MSG_IDLE_TIMEOUT = ATTS_MSG_START,
43 ATTS_MSG_API_VALUE_IND_NTF,
45 ATTS_MSG_SIGN_CMAC_CMPL,
46 ATTS_MSG_DBH_CMAC_CMPL
82 uint16_t outIndHandle;
83 uint16_t pendIndHandle;
96 typedef uint8_t (*attsCccFcn_t)(
dmConnId_t connId, uint8_t method, uint16_t handle, uint8_t *pValue);
105 attMsgHandler_t signMsgCback;
107 attsCccFcn_t cccCback;
111 typedef void (*attsProcFcn_t)(
attsCcb_t *pCcb, uint16_t len, uint8_t *pPacket);
118 uint8_t isHashUpdating;
126 extern attsProcFcn_t attsProcFcnTbl[ATT_METHOD_SIGNED_WRITE_CMD+1];
136 attsCcb_t *attsCcbByHandle(uint16_t handle, uint8_t slot);
138 void attsErrRsp(
attCcb_t *pCcb, uint8_t slot, uint8_t opcode, uint16_t attHandle, uint8_t reason);
139 void attsClearPrepWrites(
attsCcb_t *pCcb);
140 bool_t attsUuidCmp(
attsAttr_t *pAttr, uint8_t uuidLen, uint8_t *pUuid);
141 bool_t attsUuid16Cmp(uint8_t *pUuid16, uint8_t uuidLen, uint8_t *pUuid);
143 uint16_t attsFindInRange(uint16_t startHandle, uint16_t endHandle,
attsAttr_t **pAttr);
144 uint16_t attsFindUuidInRange(uint16_t startHandle, uint16_t endHandle, uint8_t uuidLen,
146 uint8_t attsPermissions(
dmConnId_t connId, uint8_t permit, uint16_t handle, uint8_t permissions);
148 void attsCheckPendDbHashReadRsp(
void);
150 uint16_t attsIsHashableAttr(
attsAttr_t *pAttr);
153 void attsProcMtuReq(
attsCcb_t *pCcb, uint16_t len, uint8_t *pPacket);
154 void attsProcFindInfoReq(
attsCcb_t *pCcb, uint16_t len, uint8_t *pPacket);
155 void attsProcFindTypeReq(
attsCcb_t *pCcb, uint16_t len, uint8_t *pPacket);
156 void attsProcReadTypeReq(
attsCcb_t *pCcb, uint16_t len, uint8_t *pPacket);
157 void attsProcReadReq(
attsCcb_t *pCcb, uint16_t len, uint8_t *pPacket);
158 void attsProcReadBlobReq(
attsCcb_t *pCcb, uint16_t len, uint8_t *pPacket);
159 void attsProcReadMultReq(
attsCcb_t *pCcb, uint16_t len, uint8_t *pPacket);
160 void attsProcReadGroupTypeReq(
attsCcb_t *pCcb, uint16_t len, uint8_t *pPacket);
161 void attsProcWrite(
attsCcb_t *pCcb, uint16_t len, uint8_t *pPacket);
162 void attsProcPrepWriteReq(
attsCcb_t *pCcb, uint16_t len, uint8_t *pPacket);
163 void attsProcExecWriteReq(
attsCcb_t *pCcb, uint16_t len, uint8_t *pPacket);
164 void attsProcValueCnf(
attsCcb_t *pCcb, uint16_t len, uint8_t *pPacket);
165 void attsProcReadMultiVarReq(
attsCcb_t *pCcb, uint16_t len, uint8_t *pPacket);
167 uint8_t attsCsfActClientState(
dmConnId_t connId, uint8_t opcode, uint8_t *pPacket);
168 uint8_t attsCsfIsClientChangeAware(
dmConnId_t connId, uint16_t handle);
169 void attsCsfSetHashUpdateStatus(bool_t isUpdating);
170 uint8_t attsCsfGetHashUpdateStatus(
void);
173 void attsHandleValueIndNtf(
dmConnId_t connId, uint16_t handle, uint8_t slot, uint16_t valueLen,
174 uint8_t *pValue, uint8_t opcode, bool_t zeroCpy);
uint8_t dmConnId_t
Connection identifier.
WSF_CT_ASSERT(((int) LCTR_EXT_INIT_MSG_INITIATE_CANCEL==(int) LCTR_INIT_MSG_INITIATE_CANCEL))
LCTR_EXT_INIT_MSG_INITIATE_CANCEL and LCTR_INIT_MSG_INITIATE_CANCEL shall be aligned.
CMAC Security callback parameters structure.
uint8_t(* attsAuthorCback_t)(dmConnId_t connId, uint8_t permit, uint16_t handle)
ATTS authorization callback type.
#define ATT_NUM_SIMUL_NTF
Maximum number of simultaneous ATT notifications.
#define L2C_PAYLOAD_START
Start of L2CAP payload in an HCI ACL packet buffer.
General purpose queue service.
#define DM_CONN_MAX
Maximum number of connections.
Client supported features record structure.
void(* attsCsfWriteCback_t)(dmConnId_t connId, uint8_t changeAwareState, uint8_t *pCsf)
ATTS client supported features write callback type.
Attribute protocol client and server API.
Common message structure passed to event handler.