phFriNfc_OvrHalCmd.h revision 5d9927ba30ba449badb9f6df0fbeb4d6aedc6e2a
1/* 2 * Copyright (C) 2010 NXP Semiconductors 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17/** 18 * \file phFriNfc_OvrHalCmd.h 19 * \brief Overlapped HAL 20 * 21 * Project: NFC-FRI 22 * 23 * $Date: Fri Oct 5 10:09:57 2007 $ 24 * $Author: frq05303 $ 25 * $Revision: 1.1 $ 26 * $Aliases: NFC_FRI1.1_WK826_PREP1,NFC_FRI1.1_WK826_R1,NFC_FRI1.1_WK826_R2,NFC_FRI1.1_WK830_PREP1,NFC_FRI1.1_WK830_PREP2,NFC_FRI1.1_WK830_R5_1,NFC_FRI1.1_WK830_R5_2,NFC_FRI1.1_WK830_R5_3,NFC_FRI1.1_WK832_PREP1,NFC_FRI1.1_WK832_PRE2,NFC_FRI1.1_WK832_PREP2,NFC_FRI1.1_WK832_PREP3,NFC_FRI1.1_WK832_R5_1,NFC_FRI1.1_WK832_R6_1,NFC_FRI1.1_WK834_PREP1,NFC_FRI1.1_WK834_PREP2,NFC_FRI1.1_WK834_R7_1,NFC_FRI1.1_WK836_PREP1,NFC_FRI1.1_WK836_R8_1,NFC_FRI1.1_WK838_PREP1,NFC_FRI1.1_WK838_R9_PREP2,NFC_FRI1.1_WK838_R9_1,NFC_FRI1.1_WK840_R10_PREP1,NFC_FRI1.1_WK840_R10_1,NFC_FRI1.1_WK842_R11_PREP1,NFC_FRI1.1_WK842_R11_PREP2,NFC_FRI1.1_WK842_R11_1,NFC_FRI1.1_WK844_PREP1,NFC_FRI1.1_WK844_R12_1,NFC_FRI1.1_WK846_PREP1,NFC_FRI1.1_WK846_R13_1,NFC_FRI1.1_WK848_PREP1,NFC_FRI1.1_WK848_R14_1,NFC_FRI1.1_WK850_PACK1,NFC_FRI1.1_WK851_PREP1,NFC_FRI1.1_WK850_R15_1,NFC_FRI1.1_WK902_PREP1,NFC_FRI1.1_WK902_R16_1,NFC_FRI1.1_WK904_PREP1,NFC_FRI1.1_WK904_R17_1,NFC_FRI1.1_WK906_R18_1,NFC_FRI1.1_WK908_PREP1,NFC_FRI1.1_WK908_R19_1,NFC_FRI1.1_WK910_PREP1,NFC_FRI1.1_WK910_R20_1,NFC_FRI1.1_WK912_PREP1,NFC_FRI1.1_WK912_R21_1,NFC_FRI1.1_WK914_PREP1,NFC_FRI1.1_WK914_R22_1,NFC_FRI1.1_WK914_R22_2,NFC_FRI1.1_WK916_R23_1,NFC_FRI1.1_WK918_R24_1,NFC_FRI1.1_WK920_PREP1,NFC_FRI1.1_WK920_R25_1,NFC_FRI1.1_WK922_PREP1,NFC_FRI1.1_WK922_R26_1,NFC_FRI1.1_WK924_PREP1,NFC_FRI1.1_WK924_R27_1,NFC_FRI1.1_WK926_R28_1,NFC_FRI1.1_WK928_R29_1,NFC_FRI1.1_WK930_R30_1,NFC_FRI1.1_WK934_PREP_1,NFC_FRI1.1_WK934_R31_1,NFC_FRI1.1_WK941_PREP1,NFC_FRI1.1_WK941_PREP2,NFC_FRI1.1_WK941_1,NFC_FRI1.1_WK943_R32_1 $ 27 * 28 */ 29 30#ifndef PHFRINFC_OVRHALCMD_H 31#define PHFRINFC_OVRHALCMD_H 32 33#include <phNfcHalTypes.h> 34 35/** 36 * \name Overlapped HAL 37 * 38 * File: \ref phFriNfc_OvrHalCmd.h 39 * 40 */ 41/*@{*/ 42#define PH_FRINFC_OVRHALCMD_FILEREVISION "$Revision: 1.1 $" /** \ingroup grp_file_attributes */ 43#define PH_FRINFC_OVRHALCMD_FILEALIASES "$Aliases: NFC_FRI1.1_WK826_PREP1,NFC_FRI1.1_WK826_R1,NFC_FRI1.1_WK826_R2,NFC_FRI1.1_WK830_PREP1,NFC_FRI1.1_WK830_PREP2,NFC_FRI1.1_WK830_R5_1,NFC_FRI1.1_WK830_R5_2,NFC_FRI1.1_WK830_R5_3,NFC_FRI1.1_WK832_PREP1,NFC_FRI1.1_WK832_PRE2,NFC_FRI1.1_WK832_PREP2,NFC_FRI1.1_WK832_PREP3,NFC_FRI1.1_WK832_R5_1,NFC_FRI1.1_WK832_R6_1,NFC_FRI1.1_WK834_PREP1,NFC_FRI1.1_WK834_PREP2,NFC_FRI1.1_WK834_R7_1,NFC_FRI1.1_WK836_PREP1,NFC_FRI1.1_WK836_R8_1,NFC_FRI1.1_WK838_PREP1,NFC_FRI1.1_WK838_R9_PREP2,NFC_FRI1.1_WK838_R9_1,NFC_FRI1.1_WK840_R10_PREP1,NFC_FRI1.1_WK840_R10_1,NFC_FRI1.1_WK842_R11_PREP1,NFC_FRI1.1_WK842_R11_PREP2,NFC_FRI1.1_WK842_R11_1,NFC_FRI1.1_WK844_PREP1,NFC_FRI1.1_WK844_R12_1,NFC_FRI1.1_WK846_PREP1,NFC_FRI1.1_WK846_R13_1,NFC_FRI1.1_WK848_PREP1,NFC_FRI1.1_WK848_R14_1,NFC_FRI1.1_WK850_PACK1,NFC_FRI1.1_WK851_PREP1,NFC_FRI1.1_WK850_R15_1,NFC_FRI1.1_WK902_PREP1,NFC_FRI1.1_WK902_R16_1,NFC_FRI1.1_WK904_PREP1,NFC_FRI1.1_WK904_R17_1,NFC_FRI1.1_WK906_R18_1,NFC_FRI1.1_WK908_PREP1,NFC_FRI1.1_WK908_R19_1,NFC_FRI1.1_WK910_PREP1,NFC_FRI1.1_WK910_R20_1,NFC_FRI1.1_WK912_PREP1,NFC_FRI1.1_WK912_R21_1,NFC_FRI1.1_WK914_PREP1,NFC_FRI1.1_WK914_R22_1,NFC_FRI1.1_WK914_R22_2,NFC_FRI1.1_WK916_R23_1,NFC_FRI1.1_WK918_R24_1,NFC_FRI1.1_WK920_PREP1,NFC_FRI1.1_WK920_R25_1,NFC_FRI1.1_WK922_PREP1,NFC_FRI1.1_WK922_R26_1,NFC_FRI1.1_WK924_PREP1,NFC_FRI1.1_WK924_R27_1,NFC_FRI1.1_WK926_R28_1,NFC_FRI1.1_WK928_R29_1,NFC_FRI1.1_WK930_R30_1,NFC_FRI1.1_WK934_PREP_1,NFC_FRI1.1_WK934_R31_1,NFC_FRI1.1_WK941_PREP1,NFC_FRI1.1_WK941_PREP2,NFC_FRI1.1_WK941_1,NFC_FRI1.1_WK943_R32_1 $" /** \ingroup grp_file_attributes */ 44/*@}*/ 45 46/** \defgroup grp_ovr_hal_cmd Overlapped HAL Command List 47 * \ingroup grp_fri_nfc_ovr_hal 48 * These are the command definitions for the Overlapped HAL. They are used internally by the 49 * implementation of the component. 50 */ 51/*@{*/ 52#define PH_FRINFC_OVRHALCMD_NUL (0) /**< \brief We're in NO command */ 53 54#define PH_FRINFC_OVRHALCMD_ENU (1) /**< \brief Enumerate */ 55#define PH_FRINFC_OVRHALCMD_OPE (2) /**< \brief Open */ 56#define PH_FRINFC_OVRHALCMD_CLO (3) /**< \brief Close */ 57#define PH_FRINFC_OVRHALCMD_GDC (4) /**< \brief Get Dev Caps */ 58#define PH_FRINFC_OVRHALCMD_POL (5) /**< \brief Poll */ 59#define PH_FRINFC_OVRHALCMD_CON (6) /**< \brief Connect */ 60#define PH_FRINFC_OVRHALCMD_DIS (7) /**< \brief Disconnect */ 61#define PH_FRINFC_OVRHALCMD_TRX (8) /**< \brief Transceive */ 62#define PH_FRINFC_OVRHALCMD_STM (9) /**< \brief Start Target Mode */ 63#define PH_FRINFC_OVRHALCMD_SND (10) /**< \brief Send */ 64#define PH_FRINFC_OVRHALCMD_RCV (11) /**< \brief Receive */ 65#define PH_FRINFC_OVRHALCMD_IOC (12) /**< \brief IOCTL */ 66 67#define PH_FRINFC_OVRHALCMD_TST (255) /**< \brief OVR HAL test-related command */ 68 69 70/** \brief Parameter compound internally used for testing purpose 71 * 72 */ 73typedef struct phFriNfc_OvrHalCmdVoid 74{ 75 void *Div; 76 NFCSTATUS Status; 77 uint32_t Delay; 78} phFriNfc_OvrHalCmdVoid_t; 79 80/** \brief Parameter compound internally used by \ref phFriNfc_OvrHal_Enumerate 81 * 82 */ 83typedef struct phFriNfc_OvrHalCmdEnu 84{ 85 phHal_sHwReference_t *HwReference; 86 uint8_t *pNbrOfDevDetected; 87} phFriNfc_OvrHalCmdEnu_t; 88 89/** \brief Parameter compound internally used by \ref phFriNfc_OvrHal_Open 90 * 91 */ 92typedef struct phFriNfc_OvrHalCmdOpe 93{ 94 phHal_sHwReference_t *psHwReference; 95} phFriNfc_OvrHalCmdOpe_t; 96 97/** \brief Parameter compound internally used by \ref phFriNfc_OvrHal_Close 98 * 99 */ 100typedef struct phFriNfc_OvrHalCmdClo 101{ 102 phHal_sHwReference_t *psHwReference; 103} phFriNfc_OvrHalCmdClo_t; 104 105/** \brief Parameter compound internally used by \ref phFriNfc_OvrHal_GetDeviceCapabilities 106 * 107 */ 108typedef struct phFriNfc_OvrHalCmdGdc 109{ 110 phHal_sHwReference_t *psHwReference; 111 phHal_sDeviceCapabilities_t *psDevCapabilities; 112} phFriNfc_OvrHalCmdGdc_t; 113 114/** \brief Parameter compound internally used by \ref phFriNfc_OvrHal_Poll 115 * 116 */ 117typedef struct phFriNfc_OvrHalCmdPol 118{ 119 phHal_sHwReference_t *psHwReference; 120 phHal_eOpModes_t *OpModes; 121 phHal_sRemoteDevInformation_t *psRemoteDevInfoList; 122 uint8_t *NbrOfRemoteDev; 123 phHal_sDevInputParam_t *psDevInputParam; 124} phFriNfc_OvrHalCmdPol_t; 125 126/** \brief Parameter compound internally used by \ref phFriNfc_OvrHal_Connect 127 * 128 */ 129typedef struct phFriNfc_OvrHalCmdCon 130{ 131 phHal_sHwReference_t *psHwReference; 132 phHal_eOpModes_t OpMode; 133 phHal_sRemoteDevInformation_t *psRemoteDevInfo; 134 phHal_sDevInputParam_t *psDevInputParam; 135} phFriNfc_OvrHalCmdCon_t; 136 137/** \brief Parameter compound internally used by \ref phFriNfc_OvrHal_Disconnect 138 * 139 */ 140typedef struct phFriNfc_OvrHalCmdDis 141{ 142 phHal_sHwReference_t *psHwReference; 143 phHal_sRemoteDevInformation_t *psRemoteDevInfo; 144} phFriNfc_OvrHalCmdDis_t; 145 146/** \brief Parameter compound internally used by \ref phFriNfc_OvrHal_Transceive 147 * 148 */ 149typedef struct phFriNfc_OvrHalCmdTrx 150{ 151 phHal_sHwReference_t *psHwReference; 152 phHal_sRemoteDevInformation_t *psRemoteDevInfo; 153 phHal_uCmdList_t Cmd; 154 phHal_sDepAdditionalInfo_t *psDepAdditionalInfo; 155 uint8_t *pSendBuf; 156 uint16_t SendLength; 157 uint8_t *pRecvBuf; 158 uint16_t *pRecvLength; 159} phFriNfc_OvrHalCmdTrx_t; 160 161/** \brief Parameter compound internally used by \ref phFriNfc_OvrHal_StartTargetMode 162 * 163 */ 164typedef struct phFriNfc_OvrHalCmdStm 165{ 166 phHal_sHwReference_t *psHwReference; 167 phHal_sTargetInfo_t *pTgInfo; 168 phHal_eOpModes_t *OpModes; 169 uint8_t *pConnectionReq; 170 uint8_t *pConnectionReqBufLength; 171} phFriNfc_OvrHalCmdStm_t; 172 173/** \brief Parameter compound internally used by \ref phFriNfc_OvrHal_Receive 174 * 175 */ 176typedef struct phFriNfc_OvrHalCmdRcv 177{ 178 phHal_sHwReference_t *psHwReference; 179 phHal_sDepAdditionalInfo_t *psDepAdditionalInfo; 180 uint8_t *pRecvBuf; 181 uint16_t *pRecvLength; 182} phFriNfc_OvrHalCmdRcv_t; 183 184/** \brief Parameter compound internally used by \ref phFriNfc_OvrHal_Send 185 * 186 */ 187typedef struct phFriNfc_OvrHalCmdSnd 188{ 189 phHal_sHwReference_t *psHwReference; 190 phHal_sDepAdditionalInfo_t *psDepAdditionalInfo; 191 uint8_t *pSendBuf; 192 uint16_t SendLength; 193} phFriNfc_OvrHalCmdSnd_t; 194 195/** \brief Parameter compound internally used by \ref phFriNfc_OvrHal_Ioctl 196 * 197 */ 198typedef struct phFriNfc_OvrHalCmdIoc 199{ 200 phHal_sHwReference_t *psHwReference; 201 uint16_t IoctlCode; 202 uint8_t *pInBuf; 203 uint16_t InLength; 204 uint8_t *pOutBuf; 205 uint16_t *pOutLength; 206} phFriNfc_OvrHalCmdIoc_t; 207 208/** \brief Parameter compound internally used by \ref phFriNfc_OvrHal_Test 209 * 210 */ 211typedef struct phFriNfc_OvrHalCmdTst 212{ 213 phHal_sHwReference_t *psHwReference; 214 void *pTestParam; 215} phFriNfc_OvrHalCmdTst_t; 216 217 218#ifdef PHFRINFC_OVRHAL_MOCKUP /* */ 219/** \brief Parameter compound internally used by \ref phFriNfc_OvrHalCmdMockup_t 220 * 221 */ 222typedef struct phFriNfc_OvrHalCmdMockup 223{ 224 phHal_sHwReference_t *psHwReference; 225 uint16_t IoctlCode; 226 uint8_t *pInBuf; 227 uint16_t InLength; 228 uint8_t *pOutBuf; 229 uint16_t *pOutLength; 230} phFriNfc_OvrHalCmdMockup_t; 231#endif /* PHFRINFC_OVRHAL_MOCKUP */ 232 233/** \brief Placeholder for all parameter structures 234 * 235 */ 236typedef union phFriNfc_OvrHalCmd 237{ 238 phFriNfc_OvrHalCmdVoid_t CmdVoid; 239 240 phFriNfc_OvrHalCmdEnu_t CmdEnu; 241 phFriNfc_OvrHalCmdOpe_t CmdOpe; 242 phFriNfc_OvrHalCmdClo_t CmdClo; 243 phFriNfc_OvrHalCmdGdc_t CmdGdc; 244 phFriNfc_OvrHalCmdPol_t CmdPol; 245 phFriNfc_OvrHalCmdCon_t CmdCon; 246 phFriNfc_OvrHalCmdDis_t CmdDis; 247 phFriNfc_OvrHalCmdTrx_t CmdTrx; 248 phFriNfc_OvrHalCmdIoc_t CmdIoc; 249 phFriNfc_OvrHalCmdStm_t CmdStm; 250 phFriNfc_OvrHalCmdSnd_t CmdSnd; 251 phFriNfc_OvrHalCmdRcv_t CmdRcv; 252 phFriNfc_OvrHalCmdTst_t CmdTst; 253} phFriNfc_OvrHalCmd_t; 254 255 256/*@}*/ 257#endif /* PHFRINFC_OVRHALCMD_H */ 258