Lines Matching defs:LlcpMac

35 static NFCSTATUS phFriNfc_LlcpMac_Nfcip_Send(phFriNfc_LlcpMac_t               *LlcpMac,
41 static void phFriNfc_LlcpMac_Nfcip_TriggerRecvCb(phFriNfc_LlcpMac_t *LlcpMac,
47 if (LlcpMac->MacReceive_Cb != NULL)
50 pfReceiveCB = LlcpMac->MacReceive_Cb;
51 pReceiveContext = LlcpMac->MacReceive_Context;
54 LlcpMac->MacReceive_Cb = NULL;
55 LlcpMac->MacReceive_Context = NULL;
58 pfReceiveCB(pReceiveContext, status, LlcpMac->psReceiveBuffer);
62 static void phFriNfc_LlcpMac_Nfcip_TriggerSendCb(phFriNfc_LlcpMac_t *LlcpMac,
68 if (LlcpMac->MacSend_Cb != NULL)
71 pfSendCB = LlcpMac->MacSend_Cb;
72 pSendContext = LlcpMac->MacSend_Context;
75 LlcpMac->MacSend_Cb = NULL;
76 LlcpMac->MacSend_Context = NULL;
83 static NFCSTATUS phFriNfc_LlcpMac_Nfcip_Chk(phFriNfc_LlcpMac_t *LlcpMac,
90 if(NULL == LlcpMac || NULL == ChkLlcpMac_Cb || NULL == pContext)
96 status = (NFCSTATUS)memcmp(Llcp_Magic_Number,LlcpMac->psRemoteDevInfo->RemoteDevInfo.NfcIP_Info.ATRInfo,3);
99 LlcpMac->sConfigParam.buffer = &LlcpMac->psRemoteDevInfo->RemoteDevInfo.NfcIP_Info.ATRInfo[3] ;
100 LlcpMac->sConfigParam.length = (LlcpMac->psRemoteDevInfo->RemoteDevInfo.NfcIP_Info.ATRInfo_Length - 3);
113 static NFCSTATUS phFriNfc_LlcpMac_Nfcip_Activate (phFriNfc_LlcpMac_t *LlcpMac)
117 if(LlcpMac == NULL)
123 LlcpMac->LinkState = phFriNfc_LlcpMac_eLinkActivated;
124 LlcpMac->LinkStatus_Cb(LlcpMac->LinkStatus_Context,
125 LlcpMac->LinkState,
126 &LlcpMac->sConfigParam,
127 LlcpMac->PeerRemoteDevType);
133 static NFCSTATUS phFriNfc_LlcpMac_Nfcip_Deactivate (phFriNfc_LlcpMac_t *LlcpMac)
137 if(NULL == LlcpMac)
144 LlcpMac->LinkState = phFriNfc_LlcpMac_eLinkDeactivated;
147 if (LlcpMac->SendPending)
150 LlcpMac->SendPending = FALSE;
152 phFriNfc_LlcpMac_Nfcip_TriggerSendCb(LlcpMac, NFCSTATUS_FAILED);
155 if (LlcpMac->RecvPending)
158 LlcpMac->RecvPending = FALSE;
160 phFriNfc_LlcpMac_Nfcip_TriggerRecvCb(LlcpMac, NFCSTATUS_FAILED);
163 LlcpMac->LinkStatus_Cb(LlcpMac->LinkStatus_Context,
164 LlcpMac->LinkState,
166 LlcpMac->PeerRemoteDevType);
174 phFriNfc_LlcpMac_t *LlcpMac = (phFriNfc_LlcpMac_t *)pContext;
186 LlcpMac->SendPending = FALSE;
187 LlcpMac->RecvPending = FALSE;
189 phFriNfc_LlcpMac_Nfcip_TriggerSendCb(LlcpMac, Status);
196 phFriNfc_LlcpMac_t *LlcpMac = (phFriNfc_LlcpMac_t *)pContext;
213 pfSendCB = LlcpMac->MacSend_Cb;
214 pSendContext = LlcpMac->MacSend_Context;
217 LlcpMac->MacSend_Cb = NULL;
218 LlcpMac->MacSend_Context = NULL;
221 LlcpMac->SendPending = FALSE;
222 LlcpMac->RecvPending = FALSE;
227 phFriNfc_LlcpMac_Nfcip_TriggerRecvCb(LlcpMac, Status);
233 if ((LlcpMac->SendPending) && (NULL != pfSendCB))
243 if(LlcpMac->SendPending)
245 Status = phFriNfc_LlcpMac_Nfcip_Send(LlcpMac,LlcpMac->psSendBuffer,LlcpMac->MacSend_Cb,LlcpMac->MacSend_Context);
253 phFriNfc_LlcpMac_t *LlcpMac = (phFriNfc_LlcpMac_t *)pContext;
265 LlcpMac->SendPending = FALSE;
266 LlcpMac->RecvPending = FALSE;
269 phFriNfc_LlcpMac_Nfcip_TriggerSendCb(LlcpMac, Status);
270 phFriNfc_LlcpMac_Nfcip_TriggerRecvCb(LlcpMac, Status);
273 static NFCSTATUS phFriNfc_LlcpMac_Nfcip_Send(phFriNfc_LlcpMac_t *LlcpMac,
280 if(NULL == LlcpMac || NULL == psData || NULL == LlcpMacSend_Cb || NULL == pContext)
284 else if(LlcpMac->MacSend_Cb != NULL && LlcpMac->PeerRemoteDevType == phFriNfc_LlcpMac_ePeerTypeInitiator)
292 LlcpMac->MacSend_Cb = LlcpMacSend_Cb;
293 LlcpMac->MacSend_Context = pContext;
295 switch(LlcpMac->PeerRemoteDevType)
299 if(LlcpMac->RecvPending)
302 LlcpMac->MacCompletionInfo.CompletionRoutine = phFriNfc_LlcpMac_Nfcip_Transceive_Cb;
303 LlcpMac->MacCompletionInfo.Context = LlcpMac;
306 LlcpMac->Cmd.NfcIP1Cmd = phHal_eNfcIP1_Raw;
309 LlcpMac->psDepAdditionalInfo.DepFlags.MetaChaining = 0;
310 LlcpMac->psDepAdditionalInfo.DepFlags.NADPresent = 0;
311 LlcpMac->SendPending = TRUE;
313 status = phFriNfc_OvrHal_Transceive(LlcpMac->LowerDevice,
314 &LlcpMac->MacCompletionInfo,
315 LlcpMac->psRemoteDevInfo,
316 LlcpMac->Cmd,
317 &LlcpMac->psDepAdditionalInfo,
320 LlcpMac->psReceiveBuffer->buffer,
321 (uint16_t*)&LlcpMac->psReceiveBuffer->length);
325 LlcpMac->SendPending = TRUE;
326 LlcpMac->psSendBuffer = psData;
332 if(!LlcpMac->RecvPending)
334 LlcpMac->SendPending = TRUE;
335 LlcpMac->psSendBuffer = psData;
341 LlcpMac->MacCompletionInfo.CompletionRoutine = phFriNfc_LlcpMac_Nfcip_Send_Cb;
342 LlcpMac->MacCompletionInfo.Context = LlcpMac;
343 status = phFriNfc_OvrHal_Send(LlcpMac->LowerDevice,
344 &LlcpMac->MacCompletionInfo,
345 LlcpMac->psRemoteDevInfo,
359 static NFCSTATUS phFriNfc_LlcpMac_Nfcip_Receive(phFriNfc_LlcpMac_t *LlcpMac,
365 if(NULL == LlcpMac || NULL==psData || NULL == LlcpMacReceive_Cb || NULL == pContext)
369 else if(LlcpMac->MacReceive_Cb != NULL)
377 LlcpMac->MacReceive_Cb = LlcpMacReceive_Cb;
378 LlcpMac->MacReceive_Context = pContext;
381 LlcpMac->psReceiveBuffer= psData;
383 switch(LlcpMac->PeerRemoteDevType)
387 if(LlcpMac->SendPending)
390 LlcpMac->MacCompletionInfo.CompletionRoutine = phFriNfc_LlcpMac_Nfcip_Transceive_Cb;
391 LlcpMac->MacCompletionInfo.Context = LlcpMac;
393 LlcpMac->Cmd.NfcIP1Cmd = phHal_eNfcIP1_Raw;
395 LlcpMac->psDepAdditionalInfo.DepFlags.MetaChaining = 0;
396 LlcpMac->psDepAdditionalInfo.DepFlags.NADPresent = 0;
397 LlcpMac->RecvPending = TRUE;
399 status = phFriNfc_OvrHal_Transceive(LlcpMac->LowerDevice,
400 &LlcpMac->MacCompletionInfo,
401 LlcpMac->psRemoteDevInfo,
402 LlcpMac->Cmd,
403 &LlcpMac->psDepAdditionalInfo,
404 LlcpMac->psSendBuffer->buffer,
405 (uint16_t)LlcpMac->psSendBuffer->length,
411 LlcpMac->RecvPending = TRUE;
418 LlcpMac->MacCompletionInfo.CompletionRoutine = phFriNfc_LlcpMac_Nfcip_Receive_Cb;
420 LlcpMac->MacCompletionInfo.Context = LlcpMac;
421 LlcpMac->RecvPending = TRUE;
423 status = phFriNfc_OvrHal_Receive(LlcpMac->LowerDevice,
424 &LlcpMac->MacCompletionInfo,
425 LlcpMac->psRemoteDevInfo,
426 LlcpMac->psReceiveBuffer->buffer,
427 (uint16_t*)&LlcpMac->psReceiveBuffer->length);
439 NFCSTATUS phFriNfc_LlcpMac_Nfcip_Register (phFriNfc_LlcpMac_t *LlcpMac)
443 if(NULL != LlcpMac)
445 LlcpMac->LlcpMacInterface.chk = phFriNfc_LlcpMac_Nfcip_Chk;
446 LlcpMac->LlcpMacInterface.activate = phFriNfc_LlcpMac_Nfcip_Activate;
447 LlcpMac->LlcpMacInterface.deactivate = phFriNfc_LlcpMac_Nfcip_Deactivate;
448 LlcpMac->LlcpMacInterface.send = phFriNfc_LlcpMac_Nfcip_Send;
449 LlcpMac->LlcpMacInterface.receive = phFriNfc_LlcpMac_Nfcip_Receive;