Home | History | Annotate | Download | only in src
      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_IDMgmt.h                                                    *
     22 * \brief HCI Header for the Identity Management Gate.                         *
     23 *                                                                             *
     24 *                                                                             *
     25 * Project: NFC-FRI-1.1                                                        *
     26 *                                                                             *
     27 * $Date: Fri Aug 14 17:01:26 2009 $                                           *
     28 * $Author: ing04880 $                                                        *
     29 * $Revision: 1.5 $                                                            *
     30 * $Aliases: 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,NFC_FRI1.1_WK949_PREP1,NFC_FRI1.1_WK943_R32_10,NFC_FRI1.1_WK943_R32_13,NFC_FRI1.1_WK943_R32_14,NFC_FRI1.1_WK1007_R33_1,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_IDMGMT_H
     37 #define PHHCINFC_IDMGMT_H
     38 
     39 /*@}*/
     40 
     41 
     42 /**
     43  *  \name HCI
     44  *
     45  * File: \ref phHciNfc_IDMgmt.h
     46  *
     47  */
     48 /*@{*/
     49 #define PHHCINFC_IDMGMT_FILEREVISION "$Revision: 1.5 $" /**< \ingroup grp_file_attributes */
     50 #define PHHCINFC_IDMGMT_FILEALIASES  "$Aliases: 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,NFC_FRI1.1_WK949_PREP1,NFC_FRI1.1_WK943_R32_10,NFC_FRI1.1_WK943_R32_13,NFC_FRI1.1_WK943_R32_14,NFC_FRI1.1_WK1007_R33_1,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 
     63 /*
     64 ******************** Enumeration and Structure Definition **********************
     65 */
     66 
     67 
     68 
     69 /*
     70 *********************** Function Prototype Declaration *************************
     71 */
     72 
     73 /**
     74  * \ingroup grp_hci_nfc
     75  *
     76  *  The phHciNfc_IDMgmt_Initialise function creates and the opens Identity
     77  *  Management Gate
     78  *
     79  *  \param[in]  psHciContext            psHciContext is the pointer to HCI Layer
     80  *                                      context Structure.
     81  *  \param[in]  pHwRef                  pHwRef is the Information of
     82  *                                      the Device Interface Link .
     83  *
     84  *  \retval NFCSTATUS_PENDING           Identity Mgmt Gate Initialisation is pending.
     85  *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
     86  *                                      could not be interpreted properly.
     87  *  \retval Other errors                Errors related to the other layers
     88  *
     89  */
     90 extern
     91 NFCSTATUS
     92 phHciNfc_IDMgmt_Initialise(
     93                                 phHciNfc_sContext_t     *psHciContext,
     94                                 void                    *pHwRef
     95                          );
     96 /**
     97  * \ingroup grp_hci_nfc
     98  *
     99  *  The phHciNfc_IDMgmt_Info_Sequence function obtains the information
    100  *  from the Identity Management Gate
    101  *
    102  *  \param[in]  psHciContext            psHciContext is the pointer to HCI Layer
    103  *                                      context Structure.
    104  *  \param[in]  pHwRef                  pHwRef is the Information of
    105  *                                      the Device Interface Link .
    106  *
    107  *  \retval NFCSTATUS_PENDING           Identity Mgmt Gate Information is pending.
    108  *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
    109  *                                      could not be interpreted properly.
    110  *  \retval Other errors                Errors related to the other layers
    111  *
    112  */
    113 extern
    114 NFCSTATUS
    115 phHciNfc_IDMgmt_Info_Sequence(
    116                                 phHciNfc_sContext_t     *psHciContext,
    117                                 void                    *pHwRef
    118                          );
    119 
    120 /**
    121  * \ingroup grp_hci_nfc
    122  *
    123  *  The phHciNfc_IDMgmt_Release function closes the opened pipes between
    124  *  the Host Controller Device and the NFC Device.
    125  *
    126  *  \param[in]  psHciContext            psHciContext is the pointer to HCI Layer
    127  *                                      context Structure.
    128  *  \param[in]  pHwRef                  pHwRef is the Information of
    129  *                                      the Device Interface Link .
    130  *
    131  *  \retval NFCSTATUS_PENDING           Release of the Identity Management gate
    132  *                                      resources are pending.
    133  *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
    134  *                                      could not be interpreted properly.
    135  *  \retval Other errors                Errors related to the other layers
    136  *
    137  */
    138 extern
    139 NFCSTATUS
    140 phHciNfc_IDMgmt_Release(
    141                                 phHciNfc_sContext_t     *psHciContext,
    142                                 void                    *pHwRef
    143                      );
    144 
    145 /**
    146  * \ingroup grp_hci_nfc
    147  *
    148  *  The phHciNfc_IDMgmt_Update_PipeInfo function updates the pipe_id of the Idetity
    149  *  Gate Managment Struction.
    150  *
    151  *  \param[in]  psHciContext            psHciContext is the pointer to HCI Layer
    152  *                                      context Structure.
    153  *  \param[in]  pipeID                  pipeID of the Identity management Gate
    154  *  \param[in]  pPipeInfo               Update the pipe Information of the Identity
    155  *                                      Management Gate.
    156  *
    157  *  \retval NFCSTATUS_SUCCESS           AdminGate Response received Successfully.
    158  *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
    159  *                                      could not be interpreted properly.
    160  *
    161  */
    162 
    163 extern
    164 NFCSTATUS
    165 phHciNfc_IDMgmt_Update_PipeInfo(
    166                                 phHciNfc_sContext_t     *psHciContext,
    167                                 uint8_t                 pipeID,
    168                                 phHciNfc_Pipe_Info_t    *pPipeInfo
    169                                 );
    170 
    171 
    172 /*!
    173  * \brief Updates the Sequence of Identity Managment Gate.
    174  *
    175  * This function Updates the Sequence of the Identity Management
    176  * gate Information Structure.
    177  *
    178  */
    179 extern
    180 NFCSTATUS
    181 phHciNfc_IDMgmt_Update_Sequence(
    182                                 phHciNfc_sContext_t     *psHciContext,
    183                                 phHciNfc_eSeqType_t     reader_seq
    184                              );
    185 
    186 /*!
    187  * \brief Allocates the resources of Identity Managment Gate.
    188  *
    189  * This function Allocates the resources of the Identity Management
    190  * gate Information Structure.
    191  *
    192  */
    193 extern
    194 NFCSTATUS
    195 phHciNfc_IDMgmt_Init_Resources(
    196                                 phHciNfc_sContext_t     *psHciContext
    197                              );
    198 
    199 
    200 /*!
    201  * \brief Get the pipe_id of Identity Managment Gate.
    202  *
    203  * This function Get the pipe_id of Identity Managment Gate.
    204  *
    205  */
    206 
    207 extern
    208 NFCSTATUS
    209 phHciNfc_IDMgmt_Get_PipeID(
    210                                 phHciNfc_sContext_t     *psHciContext,
    211                                 uint8_t                 *ppipe_id
    212                            );
    213 
    214 
    215 
    216 #endif
    217 
    218