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 * =========================================================================== * 19 * * 20 * * 21 * \file phHciNfc_PollingLoop.h * 22 * \brief HCI Header for the Polling loop Management. * 23 * * 24 * * 25 * Project: NFC-FRI-1.1 * 26 * * 27 * $Date: Mon Mar 29 17:34:49 2010 $ * 28 * $Author: ing04880 $ * 29 * $Revision: 1.6 $ * 30 * $Aliases: NFC_FRI1.1_WK1007_R33_4,NFC_FRI1.1_WK1017_PREP1,NFC_FRI1.1_WK1017_R34_1,NFC_FRI1.1_WK1017_R34_2,NFC_FRI1.1_WK1023_R35_1 $ * 31 * * 32 * =========================================================================== * 33 */ 34 35 36 #ifndef PHHCINFC_POLLINGLOOP_H 37 #define PHHCINFC_POLLINGLOOP_H 38 39 /*@}*/ 40 41 42 /** 43 * \name HCI 44 * 45 * File: \ref phHciNfc_PollingLoop.h 46 * 47 */ 48 /*@{*/ 49 #define PHHCINFC_POLLINGLOOP_FILEREVISION "$Revision: 1.6 $" /**< \ingroup grp_file_attributes */ 50 #define PHHCINFC_POLLINGLOOP_FILEALIASES "$Aliases: NFC_FRI1.1_WK1007_R33_4,NFC_FRI1.1_WK1017_PREP1,NFC_FRI1.1_WK1017_R34_1,NFC_FRI1.1_WK1017_R34_2,NFC_FRI1.1_WK1023_R35_1 $" /**< \ingroup grp_file_attributes */ 51 /*@}*/ 52 53 /* 54 ***************************** Header File Inclusion **************************** 55 */ 56 57 #include <phHciNfc_Generic.h> 58 59 /* 60 ****************************** Macro Definitions ******************************* 61 */ 62 #define PL_DURATION 0x00U 63 #define PL_RD_PHASES 0x01U 64 #define PL_DISABLE_TARGET 0x02U 65 66 67 68 #define PL_RD_PHASES_DISABLE 0x80U 69 70 /* 71 ******************** Enumeration and Structure Definition ********************** 72 */ 73 74 /** \defgroup grp_hci_nfc HCI Component 75 * 76 * 77 */ 78 79 80 /* 81 *********************** Function Prototype Declaration ************************* 82 */ 83 84 /** 85 * \ingroup grp_hci_nfc 86 * 87 * The phHciNfc_PollLoop_Initialise function Initialises the polling loop and opens the 88 * polling loop pipe 89 * 90 * \param[in] psHciContext psHciContext is the pointer to HCI Layer 91 * context Structure. 92 * \param[in] pHwRef pHwRef is the Information of 93 * the Device Interface Link . 94 * 95 * \retval NFCSTATUS_PENDING Polling loop gate Initialisation is pending. 96 * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters 97 * could not be interpreted properly. 98 * \retval Other errors Errors related to the other layers 99 * 100 */ 101 102 extern 103 NFCSTATUS 104 phHciNfc_PollLoop_Initialise( 105 phHciNfc_sContext_t *psHciContext, 106 void *pHwRef 107 ); 108 109 /** 110 * \ingroup grp_hci_nfc 111 * 112 * The phHciNfc_PollLoop_Release function closes the polling loop gate pipe 113 * between the Host Controller Device and the NFC Device. 114 * 115 * \param[in] psHciContext psHciContext is the pointer to HCI Layer 116 * context Structure. 117 * \param[in] pHwRef pHwRef is the Information of 118 * the Device Interface Link . 119 * 120 * \retval NFCSTATUS_PENDING Release of the Polling loop gate resources are 121 * pending. 122 * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters 123 * could not be interpreted properly. 124 * \retval Other errors Errors related to the other layers 125 * 126 */ 127 128 extern 129 NFCSTATUS 130 phHciNfc_PollLoop_Release( 131 phHciNfc_sContext_t *psHciContext, 132 void *pHwRef 133 ); 134 135 136 /** 137 * \ingroup grp_hci_nfc 138 * 139 * The phHciNfc_PollLoop_Update_PipeInfo function updates the pipe_id of the polling 140 * loop gate Managment Struction. 141 * 142 * \param[in] psHciContext psHciContext is the pointer to HCI Layer 143 * context Structure. 144 * \param[in] pHwRef pHwRef is the Information of 145 * the Device Interface Link 146 * \param[in] cfg_type Poll configuration type 147 * 148 * \param[in] pcfg_info Poll configuration info. 149 * 150 * \retval NFCSTATUS_SUCCESS Polling loop gate Response received Successfully. 151 * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters 152 * could not be interpreted properly. 153 * 154 */ 155 extern 156 NFCSTATUS 157 phHciNfc_PollLoop_Cfg ( 158 void *psHciHandle, 159 void *pHwRef, 160 uint8_t cfg_type, 161 void *pcfg_info 162 ); 163 164 /** 165 * \ingroup grp_hci_nfc 166 * 167 * The phHciNfc_PollLoop_Update_PipeInfo function updates the pipe_id of the polling 168 * loop gate management structure. This function is used by the pipe management to 169 * update the pipe id 170 * 171 * \param[in] psHciContext psHciContext is the pointer to HCI Layer 172 * context Structure. 173 * \param[in] pipeID pipeID of the polling loop gate 174 * \param[in] pPipeInfo Update the pipe Information of the polling loop 175 * gate. 176 * 177 * \retval NFCSTATUS_SUCCESS Polling loop gate Response received Successfully. 178 * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters 179 * could not be interpreted properly. 180 * 181 */ 182 183 extern 184 NFCSTATUS 185 phHciNfc_PollLoop_Update_PipeInfo( 186 phHciNfc_sContext_t *psHciContext, 187 uint8_t pipeID, 188 phHciNfc_Pipe_Info_t *pPipeInfo 189 ); 190 191 192 /*! 193 * \brief Allocates the resources of Polling loop Managment Gate. 194 * 195 * This function Allocates the resources of the Polling loop management 196 * gate Information Structure. 197 * 198 */ 199 extern 200 NFCSTATUS 201 phHciNfc_PollLoop_Init_Resources( 202 phHciNfc_sContext_t *psHciContext 203 ); 204 205 206 /*! 207 * \brief Get the pipe_id of Polling loop managment Gate. 208 * 209 * This function Get the pipe_id of Polling loop managment Gate. 210 * 211 */ 212 213 extern 214 NFCSTATUS 215 phHciNfc_PollLoop_Get_PipeID( 216 phHciNfc_sContext_t *psHciContext, 217 uint8_t *ppipe_id 218 ); 219 220 #endif /* PHHCINFC_POLLINGLOOP_H */ 221 222 223