merge with master
[adaptation/devices/nfc-plugin-nxp.git] / src / phHciNfc_Emulation.h
1 /*\r
2  * Copyright (C) 2010 NXP Semiconductors\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *      http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 /*!\r
18 * =========================================================================== *\r
19 *                                                                             *\r
20 *                                                                             *\r
21 * \file  phHciNfc_Emulation.h                                                 *\r
22 * \brief HCI emulation management routines.                                   *\r
23 *                                                                             *\r
24 *                                                                             *\r
25 * Project: NFC-FRI-1.1                                                        *\r
26 *                                                                             *\r
27 * $Date: Fri Aug 14 17:01:26 2009 $                                           *\r
28 * $Author: ing04880 $                                                         *\r
29 * $Revision: 1.10 $                                                            *\r
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 $                                                                *\r
31 *                                                                             *\r
32 * =========================================================================== *\r
33 */\r
34 \r
35 \r
36 #ifndef PHHCINFC_EMULATION_H\r
37 #define PHHCINFC_EMULATION_H\r
38 \r
39 /*@}*/\r
40 \r
41 \r
42 /**\r
43 *  \name HCI\r
44 *\r
45 * File: \ref phHciNfc_Emulation.h\r
46 *\r
47 */\r
48 /*@{*/\r
49 #define PHHCINFC_EMULATION_FILEREVISION "$Revision: 1.10 $" /**< \ingroup grp_file_attributes */\r
50 #define PHHCINFC_EMULATION_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 */\r
51 /*@}*/\r
52 \r
53 /*\r
54 ***************************** Header File Inclusion ****************************\r
55 */\r
56 \r
57 #include <phHciNfc_Generic.h>\r
58 \r
59 /*\r
60 ****************************** Macro Definitions *******************************\r
61 */\r
62 /* Connectivity Gate Command Support */\r
63 #define PRO_HOST_REQUEST            (0x10U)\r
64 \r
65 /* Connectivity Gate Event Support */\r
66 #define EVT_CONNECTIVITY            (0x10U)\r
67 #define EVT_END_OF_TRANSACTION      (0x11U)\r
68 #define EVT_TRANSACTION             (0x12U)\r
69 #define EVT_OPERATION_ENDED         (0x13U)\r
70 \r
71 #define TRANSACTION_MIN_LEN         (0x03U)\r
72 #define TRANSACTION_AID             (0x81U)\r
73 #define TRANSACTION_PARAM           (0x82U)\r
74 \r
75 #define HOST_CE_MODE_ENABLE         (0x02U)\r
76 #define HOST_CE_MODE_DISABLE        (0xFFU)\r
77 \r
78 #define NXP_PIPE_CONNECTIVITY       (0x60U)\r
79 \r
80 \r
81 /* Card Emulation Gate Events */\r
82 #define CE_EVT_NFC_SEND_DATA        (0x10U)\r
83 #define CE_EVT_NFC_FIELD_ON         (0x11U)\r
84 #define CE_EVT_NFC_DEACTIVATED      (0x12U)\r
85 #define CE_EVT_NFC_ACTIVATED        (0x13U)\r
86 #define CE_EVT_NFC_FIELD_OFF        (0x14U)\r
87 \r
88 /*\r
89 ******************** Enumeration and Structure Definition **********************\r
90 */\r
91 \r
92 \r
93 \r
94 /*\r
95 *********************** Function Prototype Declaration *************************\r
96 */\r
97 \r
98 extern\r
99 NFCSTATUS\r
100 phHciNfc_Uicc_Update_PipeInfo(\r
101                                 phHciNfc_sContext_t     *psHciContext,\r
102                                 uint8_t                 pipe_id,\r
103                                 phHciNfc_Pipe_Info_t    *pPipeInfo\r
104                         );\r
105 \r
106 extern\r
107 NFCSTATUS\r
108 phHciNfc_EmuMgmt_Update_Seq(\r
109                                 phHciNfc_sContext_t     *psHciContext,\r
110                                 phHciNfc_eSeqType_t     seq_type\r
111                         );\r
112 \r
113 extern\r
114 NFCSTATUS\r
115 phHciNfc_EmuMgmt_Initialise(\r
116                             phHciNfc_sContext_t     *psHciContext,\r
117                             void                    *pHwRef\r
118                         );\r
119 \r
120 extern\r
121 NFCSTATUS\r
122 phHciNfc_EmuMgmt_Release(\r
123                             phHciNfc_sContext_t     *psHciContext,\r
124                             void                    *pHwRef\r
125                         );\r
126 \r
127 \r
128 extern\r
129 NFCSTATUS\r
130 phHciNfc_Emulation_Cfg (\r
131                         phHciNfc_sContext_t     *psHciContext,\r
132                         void                    *pHwRef, \r
133                         phHciNfc_eConfigType_t  cfg_type\r
134                     );\r
135 \r
136 extern\r
137 NFCSTATUS\r
138 phHciNfc_Uicc_Get_PipeID(\r
139                             phHciNfc_sContext_t     *psHciContext,\r
140                             uint8_t                 *ppipe_id\r
141                         );\r
142 \r
143 extern\r
144 NFCSTATUS\r
145 phHciNfc_Uicc_Connect_Status(\r
146                                phHciNfc_sContext_t      *psHciContext,\r
147                                void                 *pHwRef\r
148                       );\r
149 \r
150 extern\r
151 void\r
152 phHciNfc_Uicc_Connectivity(\r
153                             phHciNfc_sContext_t     *psHciContext,\r
154                             void                    *pHwRef\r
155                         );\r
156 \r
157 \r
158 #endif /* PHHCINFC_EMULATION_H */\r