15d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/* 25d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Copyright (C) 2010 NXP Semiconductors 35d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * 45d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Licensed under the Apache License, Version 2.0 (the "License"); 55d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * you may not use this file except in compliance with the License. 65d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * You may obtain a copy of the License at 75d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * 85d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * http://www.apache.org/licenses/LICENSE-2.0 95d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * 105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Unless required by applicable law or agreed to in writing, software 115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * distributed under the License is distributed on an "AS IS" BASIS, 125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * See the License for the specific language governing permissions and 145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * limitations under the License. 155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */ 165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** 195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \file phFriNfc_LlcpMac.h 205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief NFC LLCP MAC Mappings For Different RF Technologies. 215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * 225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Project: NFC-FRI 235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * 245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */ 255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#ifndef PHFRINFC_LLCPMAC_H 275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHFRINFC_LLCPMAC_H 285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*include files*/ 315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phNfcTypes.h> 325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phNfcLlcpTypes.h> 335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phNfcStatus.h> 345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phFriNfc.h> 355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phFriNfc_OvrHal.h> 375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** 395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \name LLCP MAC Mapping 405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * 415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * File: \ref phFriNfc_LlcpMac.h 425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * 435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */ 445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \defgroup grp_fri_nfc_llcp_mac LLCP MAC Mapping Component 475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * 485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * This component implements the different MAC mapping for a Logical Link Control Protocol communication, 495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * as defined by the NFC Forum LLCP specifications.\n 505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * The MAC component handles the mapping for the different technologies supported by LLCP 515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *..This component provides an API to the upper layer with the following features:\n\n 525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * - Reset the MAC mapping component 535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * - \ref phFriNfc_LlcpMac_ChkLlcp 545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * . 555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * - Check the LLCP Compliancy 565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * - \ref phFriNfc_LlcpMac_ChkLlcp 575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * . 585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * - Activate the LLCP link 595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * - \ref phFriNfc_LlcpMac_Activate 605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * . 615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * - Deactivate the LLCP link 625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * - \ref phFriNfc_LlcpMac_Deactivate 635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * . 645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * - Register the MAC component Interface with a specific technologie (NFCIP/ISO14443) 655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * - \ref phFriNfc_LlcpMac_Register 665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * . 675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * - Send packets through the LLCP link 685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * - \ref phFriNfc_LlcpMac_Send 695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * . 705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * - Receive packets through the LLCP link 715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * - \ref phFriNfc_LlcpMac_Receive 725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * 735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */ 745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** 765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_fri_nfc_llcp_mac 775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief Declaration of a MAC type 785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */ 795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellystruct phFriNfc_LlcpMac; 805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phFriNfc_LlcpMac phFriNfc_LlcpMac_t; 815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** 835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_fri_nfc_llcp_mac 845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * 855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */ 865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*========== ENUMERATES ===========*/ 875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/* Enum reperesents the different MAC mapping*/ 895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef enum phFriNfc_LlcpMac_eType 905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{ 915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_eTypeNfcip, 925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_eTypeIso14443 935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phFriNfc_LlcpMac_eType_t; 945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/* Enum reperesents the different Peer type for a LLCP communication*/ 965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef enum phFriNfc_LlcpMac_ePeerType 975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{ 985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_ePeerTypeInitiator, 995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_ePeerTypeTarget 1005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phFriNfc_LlcpMac_ePeerType_t; 1015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*========== CALLBACKS ===========*/ 1085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef void (*phFriNfc_LlcpMac_Chk_CB_t) (void *pContext, 1105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS status); 1115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef void (*phFriNfc_LlcpMac_LinkStatus_CB_t) (void *pContext, 1135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_eLinkStatus_t eLinkStatus, 1145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phNfc_sData_t *psData, 1155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_ePeerType_t PeerRemoteDevType); 1165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef void (*phFriNfc_LlcpMac_Send_CB_t) (void *pContext, 1185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS status); 1195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef void (*phFriNfc_LlcpMac_Reveive_CB_t) (void *pContext, 1225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS status, 1235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phNfc_sData_t *psData); 1245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*========== FUNCTIONS TYPES ===========*/ 1275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef NFCSTATUS (*pphFriNfcLlpcMac_Chk_t) ( phFriNfc_LlcpMac_t *LlcpMac, 1295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_Chk_CB_t ChkLlcpMac_Cb, 1305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly void *pContext); 1315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef NFCSTATUS (*pphFriNfcLlpcMac_Activate_t) (phFriNfc_LlcpMac_t *LlcpMac); 1335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef NFCSTATUS (*pphFriNfcLlpcMac_Deactivate_t) (phFriNfc_LlcpMac_t *LlcpMac); 1355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef NFCSTATUS (*pphFriNfcLlpcMac_Send_t) (phFriNfc_LlcpMac_t *LlcpMac, 1375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phNfc_sData_t *psData, 1385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_Send_CB_t LlcpMacSend_Cb, 1395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly void *pContext); 1405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef NFCSTATUS (*pphFriNfcLlpcMac_Receive_t) (phFriNfc_LlcpMac_t *LlcpMac, 1425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phNfc_sData_t *psData, 1435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_Reveive_CB_t LlcpMacReceive_Cb, 1445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly void *pContext); 1455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*========== STRUCTURES ===========*/ 1475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** 1495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_fri_nfc_llcp_mac 1505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief Generic Interface structure with the Lower Layer 1515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */ 1525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phFriNfc_LlcpMac_Interface 1535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{ 1545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly pphFriNfcLlpcMac_Chk_t chk; 1555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly pphFriNfcLlpcMac_Activate_t activate; 1565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly pphFriNfcLlpcMac_Deactivate_t deactivate; 1575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly pphFriNfcLlpcMac_Send_t send; 1585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly pphFriNfcLlpcMac_Receive_t receive; 1595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly} phFriNfc_LlcpMac_Interface_t; 1605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** 1625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_fri_nfc_llcp_mac 1635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief Definition of the MAC type 1645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */ 1655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellystruct phFriNfc_LlcpMac 1665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{ 1675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_eLinkStatus_t LinkState; 1685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHal_sRemoteDevInformation_t *psRemoteDevInfo; 1695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_LinkStatus_CB_t LinkStatus_Cb; 1705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly void *LinkStatus_Context; 1715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_Interface_t LlcpMacInterface; 1725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_ePeerType_t PeerRemoteDevType; 1735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_eType_t MacType; 1745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly /**<\internal Holds the completion routine informations of the Map Layer*/ 1765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_CplRt_t MacCompletionInfo; 1775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly void *LowerDevice; 1785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_Send_CB_t MacSend_Cb; 1795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly void *MacSend_Context; 1805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_Reveive_CB_t MacReceive_Cb; 1815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly void *MacReceive_Context; 1825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phNfc_sData_t *psReceiveBuffer; 1835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phNfc_sData_t *psSendBuffer; 1845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phNfc_sData_t sConfigParam; 1855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly uint8_t RecvPending; 1865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly uint8_t SendPending; 1875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly uint8_t RecvStatus; 1885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHal_uCmdList_t Cmd; 1895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHal_sDepAdditionalInfo_t psDepAdditionalInfo; 1905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly} ; 1915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/* 1945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly################################################################################ 1955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly********************** MAC Interface Function Prototype *********************** 1965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly################################################################################ 1975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/ 1985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 1995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** 2005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_fri_nfc_llcp_mac 2015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief 2025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */ 2035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS phFriNfc_LlcpMac_Reset (phFriNfc_LlcpMac_t *LlcpMac, 2045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly void *LowerDevice, 2055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_LinkStatus_CB_t LinkStatus_Cb, 2065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly void *pContext); 2075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** 2085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_fri_nfc_llcp_mac 2095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief 2105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */ 2115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS phFriNfc_LlcpMac_ChkLlcp (phFriNfc_LlcpMac_t *LlcpMac, 2125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHal_sRemoteDevInformation_t *psRemoteDevInfo, 2135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_Chk_CB_t ChkLlcpMac_Cb, 2145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly void *pContext); 2155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 2165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** 2175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_fri_nfc_llcp_mac 2185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief 2195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */ 2205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS phFriNfc_LlcpMac_Activate (phFriNfc_LlcpMac_t *LlcpMac); 2215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 2225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** 2235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_fri_nfc_llcp_mac 2245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief 2255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */ 2265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS phFriNfc_LlcpMac_Deactivate (phFriNfc_LlcpMac_t *LlcpMac); 2275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 2285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** 2295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_fri_nfc_llcp_mac 2305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief 2315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */ 2325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS phFriNfc_LlcpMac_Send (phFriNfc_LlcpMac_t *LlcpMac, 2335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phNfc_sData_t *psData, 2345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_Send_CB_t LlcpMacSend_Cb, 2355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly void *pContext); 2365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 2375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** 2385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_fri_nfc_llcp_mac 2395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief 2405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */ 2415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS phFriNfc_LlcpMac_Receive (phFriNfc_LlcpMac_t *LlcpMac, 2425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phNfc_sData_t *psData, 2435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phFriNfc_LlcpMac_Reveive_CB_t ReceiveLlcpMac_Cb, 2445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly void *pContext); 2455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly 2465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif /* PHFRINFC_LLCPMAC_H */ 247