code update
[adaptation/devices/nfc-plugin-nxp.git] / src / phLlcNfc_Interface.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 * \file  phLlcNfc_Interface.h\r
19 * \brief Interface for both LLC and transport layer\r
20 *\r
21 * Project: NFC-FRI-1.1\r
22 *\r
23 * $Date: Thu Sep 11 12:19:29 2008 $\r
24 * $Author: ing02260 $\r
25 * $Revision: 1.9 $\r
26 * $Aliases: 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_WK849_PACK1_PREP1,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_WK926_R28_2,NFC_FRI1.1_WK926_R28_3,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,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
27 *\r
28 */\r
29 \r
30 #ifndef PHLLCNFC_INTERFACE_H\r
31 #define PHLLCNFC_INTERFACE_H\r
32 \r
33 /**\r
34 *  \name LLC TL NFC interface\r
35 *\r
36 * File: \ref phLlcTlNfc_Interface.h\r
37 *\r
38 */\r
39 /*@{*/\r
40 #define PH_LLCNFC_INTERFACE_FILEREVISION "$Revision: 1.9 $" /**< \ingroup grp_hal_nfc_llc */\r
41 #define PH_LLCNFC_INTERFACE_FILEALIASES "$Aliases: 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_WK849_PACK1_PREP1,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_WK926_R28_2,NFC_FRI1.1_WK926_R28_3,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,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_hal_nfc_llc */\r
42 /*@}*/\r
43 /*************************** Includes *******************************/\r
44 \r
45 /*********************** End of includes ****************************/\r
46 \r
47 /***************************** Macros *******************************/\r
48 #define PH_LLCNFC_READWAIT_OFF          0\r
49 #define PH_LLCNFC_READWAIT_ON           1\r
50 \r
51 /************************ End of macros *****************************/\r
52 \r
53 /********************** Callback functions **************************/\r
54 \r
55 /******************* End of Callback functions **********************/\r
56 \r
57 /********************* Structures and enums *************************/\r
58 \r
59 /****************** End of structures and enums *********************/\r
60 \r
61 /******************** Function declarations *************************/\r
62 \r
63 NFCSTATUS \r
64 phLlcNfc_Interface_Register(\r
65     phLlcNfc_Context_t          *psLlcCtxt, \r
66     phNfcLayer_sCfg_t           *psIFConfig\r
67 );\r
68 \r
69 NFCSTATUS \r
70 phLlcNfc_Interface_Init(\r
71     phLlcNfc_Context_t      *psLlcCtxt\r
72 );\r
73 \r
74 NFCSTATUS \r
75 phLlcNfc_Interface_Read(\r
76     phLlcNfc_Context_t      *psLlcCtxt, \r
77     uint8_t                 readWaitOn, \r
78     uint8_t                 *pLlcBuffer, \r
79     uint32_t                llcBufferLength\r
80 );\r
81 \r
82 NFCSTATUS \r
83 phLlcNfc_Interface_Write(\r
84     phLlcNfc_Context_t      *psLlcCtxt,\r
85     uint8_t             *pLlcBuffer, \r
86     uint32_t            llcBufferLength\r
87 );\r
88 \r
89 /**\r
90 * \ingroup grp_hal_nfc_llc\r
91 *\r
92 * \brief \b Release function\r
93 *\r
94 * \copydoc page_reg Release all the variables of the LLC component, that has been \r
95 *      initialised in \b phLlcNfc_Init function (Synchronous function).\r
96 *\r
97 * \param[in] pContext          LLC context is provided by the upper layer. The LLC \r
98 *                              context earlier was given to the upper layer through the\r
99 *                              \ref phLlcNfc_Register function\r
100 * \param[in] pLinkInfo         Link information of the hardware\r
101 *\r
102 * \retval NFCSTATUS_PENDING            If the command is yet to be processed.\r
103 * \retval NFCSTATUS_INVALID_PARAMETER  At least one parameter of the function is invalid.\r
104 * \retval Other errors                 Errors related to the lower layers\r
105 *\r
106 */\r
107 extern \r
108 NFCSTATUS \r
109 phLlcNfc_Release(\r
110                  void    *pContext, \r
111                  void    *pLinkInfo\r
112                  );\r
113 /****************** End of Function declarations ********************/\r
114 #endif /* PHLLCTLNFC_INTERFACE_H */\r