Nick Pelly | 5d9927b | 2010-09-23 12:47:58 -0700 | [diff] [blame] | 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 | */ |
| 73 | typedef 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 | */ |
| 83 | typedef 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 | */ |
| 92 | typedef 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 | */ |
| 100 | typedef 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 | */ |
| 108 | typedef 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 | */ |
| 117 | typedef 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 | */ |
| 129 | typedef 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 | */ |
| 140 | typedef 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 | */ |
| 149 | typedef 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 | */ |
| 164 | typedef 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 | */ |
| 176 | typedef 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 | */ |
| 187 | typedef 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 | */ |
| 198 | typedef 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 | */ |
| 211 | typedef 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 | */ |
| 222 | typedef 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 | */ |
| 236 | typedef 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 */ |