Initialize Tizen 2.3
[adaptation/devices/nfc-plugin-nxp.git] / src / phHciNfc_IDMgmt.h
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