1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
3e9629bad30a9f478b336ab46b8e6e02f7f87af46Evan Chu *  Copyright (C) 2010-2014 Broadcom Corporation
4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the "License");
6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  you may not use this file except in compliance with the License.
7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  You may obtain a copy of the License at:
8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  http://www.apache.org/licenses/LICENSE-2.0
10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
11e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
12e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
13e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  See the License for the specific language governing permissions and
15e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  limitations under the License.
16e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/
18e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
195c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen
20e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  NFA reader/writer API functions
23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/
25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_RW_API_H
26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_RW_API_H
27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "nfc_target.h"
29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "nfa_api.h"
30e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
31e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**  Constants and data types
33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
34a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chuenum
35a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu{
36a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu    NFA_RW_PRES_CHK_DEFAULT,    /* The default behavior             */
37a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu    NFA_RW_PRES_CHK_I_BLOCK,    /* Empty I Block                    */
38a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu    NFA_RW_PRES_CHK_RESET,      /* Deactivate to Sleep; Re-activate */
39a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu    NFA_RW_PRES_CHK_RB_CH0,     /* ReadBinary on Channel 0          */
40a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu    NFA_RW_PRES_CHK_RB_CH3      /* ReadBinary on Channel 3          */
41a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu};
42a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chutypedef UINT8 tNFA_RW_PRES_CHK_OPTION;
43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**  NFA T3T Constants and definitions
46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Block descriptor. (For non-NDEF read/write */
49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16  service_code;       /* Service code for the block   */
52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16  block_number;       /* Block number.                */
53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tNFA_T3T_BLOCK_DESC;
54e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
55e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
56e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
57e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
58e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**  External Function Declarations
59e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus
61e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectextern "C"
62e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
63e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif
64e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
65e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
66e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
67e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwDetectNDef
68e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
69e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Perform the NDEF detection procedure  using the appropriate
70e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  method for the currently activated tag.
71e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
72e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Upon successful completion of NDEF detection, a
73e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_NDEF_DETECT_EVT will be sent, to notify the application
74e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  of the NDEF attributes (NDEF total memory size, current
75e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  size, etc.).
76e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
77e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  It is not mandatory to call this function -  NFA_RwReadNDef
78e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  and NFA_RwWriteNDef will perform NDEF detection internally if
79e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  not performed already. This API may be called to get a
80e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  tag's NDEF size before issuing a write-request.
81e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
82e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
83e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_STATUS_OK if successfully initiated
84e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_REFUSED if tag does not support NDEF
85e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_STATUS_FAILED otherwise
86e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
87e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
88e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwDetectNDef (void);
89e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
90e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
91e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
92e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwReadNDef
93e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
94e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Read NDEF message from tag. This function will internally
95e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  perform the NDEF detection procedure (if not performed
96e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  previously), and read the NDEF tag data using the
97e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  appropriate method for the currently activated tag.
98e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
99e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Upon successful completion of NDEF detection (if performed),
100e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  a NFA_NDEF_DETECT_EVT will be sent, to notify the application
101e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  of the NDEF attributes (NDEF total memory size, current size,
102e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  etc.).
103e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
104e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Upon receiving the NDEF message, the message will be sent to
105e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  the handler registered with NFA_RegisterNDefTypeHandler or
106e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_RequestExclusiveRfControl (if exclusive RF mode is active)
107e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
108e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
109e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
110e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_STATUS_OK if successfully initiated
111e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_REFUSED if tag does not support NDEF
112e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NOT_INITIALIZED if NULL NDEF was detected on the tag
113e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_STATUS_FAILED otherwise
114e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
115e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
116e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwReadNDef (void);
117e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
118e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
119e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
120e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwWriteNDef
121e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
122e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Write NDEF data to the activated tag. This function will
123e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  internally perform NDEF detection if necessary, and write
124e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  the NDEF tag data using the appropriate method for the
125e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  currently activated tag.
126e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
127e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  When the entire message has been written, or if an error
128e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  occurs, the app will be notified with NFA_RW_WRITE_CPLT_EVT.
129e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
130e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  p_data needs to be persistent until NFA_RW_WRITE_CPLT_EVT
131e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
132e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
133e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
134e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_STATUS_OK if successfully initiated
135e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_REFUSED if tag does not support NDEF/locked
136e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_STATUS_FAILED otherwise
137e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
138e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
139e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwWriteNDef (UINT8 *p_data, UINT32 len);
140e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
141e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
142e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
143e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
144e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwPresenceCheck
145e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
146e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Check if the tag is still in the field.
147e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
148e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  The NFA_RW_PRESENCE_CHECK_EVT w/ status is used to
149e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  indicate presence or non-presence.
150e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
151a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu**                  option is used only with ISO-DEP protocol
152a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu**
153e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
154e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_STATUS_OK if successfully initiated
155e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_STATUS_FAILED otherwise
156e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
157e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
158a24be4f06674b2707b57904deaa0dff5a95823bdEvan ChuNFC_API extern tNFA_STATUS NFA_RwPresenceCheck (tNFA_RW_PRES_CHK_OPTION option);
159e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
160e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
161e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
162e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwFormatTag
163e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
164e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Check if the tag is NDEF Formatable. If yes Format the
165e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  tag
166e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
167e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  The NFA_RW_FORMAT_CPLT_EVT w/ status is used to
168e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  indicate if tag is formated or not.
169e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
170e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
171e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_STATUS_OK if successfully initiated
172e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_STATUS_FAILED otherwise
173e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
174e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
175e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwFormatTag (void);
176e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
177e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
178e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** LEGACY / PROPRIETARY TAG READ AND WRITE APIs
179e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
180e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
181e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
182e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
183e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
184e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwLocateTlv
185e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
186e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
187e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Search for the Lock/Memory contril TLV on the activated Type1/Type2 tag
188e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
189e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Data is returned to the application using the NFA_TLV_DETECT_EVT. When
190e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      search operation has completed, or if an error occurs, the app will be
191e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      notified with NFA_TLV_DETECT_EVT.
192e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
193e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Perform the TLV detection procedure  using the appropriate
194e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  method for the currently activated tag.
195e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
196e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Upon successful completion of TLV detection in T1/T2 tag, a
197e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_TLV_DETECT_EVT will be sent, to notify the application
198e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  of the TLV attributes (total lock/reserved bytes etc.).
199e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  However if the TLV type specified is NDEF then it is same as
200e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  calling NFA_RwDetectNDef and should expect to receive
201e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_NDEF_DETECT_EVT instead of NFA_TLV_DETECT_EVT
202e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
203e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  It is not mandatory to call this function -  NFA_RwDetectNDef,
204e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_RwReadNDef and NFA_RwWriteNDef will perform TLV detection
205e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  internally if not performed already. An application may call
206e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  this API to check the a tag/card-emulator's total Reserved/
207e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Lock bytes before issuing a write-request.
208e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
209e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
210e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_STATUS_OK if successfully initiated
211e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_REFUSED if tlv_type is NDEF & tag won't support NDEF
212e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFA_STATUS_FAILED otherwise
213e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
214e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
215e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwLocateTlv (UINT8 tlv_type);
216e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
217e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
218e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
219e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwSetTagReadOnly
220e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
221e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
222e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Sets tag as read only.
223e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
224e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When tag is set as read only, or if an error occurs, the app will be
225e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      notified with NFA_SET_TAG_RO_EVT.
226e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
227e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
228e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
229e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_REJECTED if protocol is not T1/T2/ISO15693
230e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                 (or) if hard lock is not requested for protocol ISO15693
231e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
232e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
233e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
234e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwSetTagReadOnly (BOOLEAN b_hard_lock);
235e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
236e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
237e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
238e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwT1tRid
239e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
240e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
241e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send a RID command to the activated Type 1 tag.
242e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
243e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Data is returned to the application using the NFA_DATA_EVT. When the read
244e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      operation has completed, or if an error occurs, the app will be notified with
245e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_READ_CPLT_EVT.
246e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
247e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
248e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
249e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_NOT_INITIALIZED: type 1 tag not activated
250e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
251e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
252e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
253e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwT1tRid (void);
254e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
255e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
256e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
257e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwT1tReadAll
258e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
259e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
260e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send a RALL command to the activated Type 1 tag.
261e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
262e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Data is returned to the application using the NFA_DATA_EVT. When the read
263e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      operation has completed, or if an error occurs, the app will be notified with
264e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_READ_CPLT_EVT.
265e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
266e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
267e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
268e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_NOT_INITIALIZED: type 1 tag not activated
269e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
270e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
271e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
272e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwT1tReadAll (void);
273e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
274e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
275e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
276e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwT1tRead
277e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
278e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
279e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send a READ command to the activated Type 1 tag.
280e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
281e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Data is returned to the application using the NFA_DATA_EVT. When the read
282e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      operation has completed, or if an error occurs, the app will be notified with
283e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_READ_CPLT_EVT.
284e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
285e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
286e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
287e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_NOT_INITIALIZED: type 1 tag not activated
288e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
289e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
290e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
291e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwT1tRead (UINT8 block_number, UINT8 index);
292e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
293e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
294e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
295e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwT1tWrite
296e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
297e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
298e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send a WRITE command to the activated Type 1 tag.
299e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
300e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Data is returned to the application using the NFA_DATA_EVT. When the write
301e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      operation has completed, or if an error occurs, the app will be notified with
302e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_WRITE_CPLT_EVT.
303e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
304e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
305e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
306e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_NOT_INITIALIZED: type 1 tag not activated
307e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
308e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
309e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
310e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwT1tWrite (UINT8    block_number,
311e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                           UINT8    index,
312e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                           UINT8    data,
313e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                           BOOLEAN  b_erase);
314e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
315e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
316e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
317e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwT1tReadSeg
318e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
319e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
320e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send a RSEG command to the activated Type 1 tag.
321e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
322e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Data is returned to the application using the NFA_DATA_EVT. When the read
323e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      operation has completed, or if an error occurs, the app will be notified with
324e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_READ_CPLT_EVT.
325e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
326e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
327e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
328e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_NOT_INITIALIZED: type 1 tag not activated
329e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
330e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
331e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
332e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwT1tReadSeg (UINT8 segment_number);
333e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
334e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
335e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
336e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwT1tRead8
337e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
338e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
339e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send a READ8 command to the activated Type 1 tag.
340e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
341e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Data is returned to the application using the NFA_DATA_EVT. When the read
342e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      operation has completed, or if an error occurs, the app will be notified with
343e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_READ_CPLT_EVT.
344e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
345e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
346e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
347e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_NOT_INITIALIZED: type 1 tag not activated
348e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
349e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
350e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
351e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwT1tRead8 (UINT8 block_number);
352e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
353e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
354e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
355e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwT1tWrite8
356e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
357e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
358e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send a WRITE8_E / WRITE8_NE command to the activated Type 1 tag.
359e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
360e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Data is returned to the application using the NFA_DATA_EVT. When the read
361e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      operation has completed, or if an error occurs, the app will be notified with
362e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_READ_CPLT_EVT.
363e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
364e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
365e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
366e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_NOT_INITIALIZED: type 1 tag not activated
367e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
368e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
369e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
370e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwT1tWrite8 (UINT8   block_number,
371e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                            UINT8  *p_data,
372e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                            BOOLEAN b_erase);
373e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
374e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
375e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
376e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwT2tRead
377e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
378e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
379e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send a READ command to the activated Type 2 tag.
380e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
381e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Data is returned to the application using the NFA_DATA_EVT. When the read
382e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      operation has completed, or if an error occurs, the app will be notified with
383e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_READ_CPLT_EVT.
384e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
385e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
386e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
387e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_NOT_INITIALIZED: type 2 tag not activated
388e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
389e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
390e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
391e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwT2tRead (UINT8 block_number);
392e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
393e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
394e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
395e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwT2tWrite
396e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
397e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
398e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send an WRITE command to the activated Type 2 tag.
399e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
400e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the write operation has completed (or if an error occurs), the
401e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_WRITE_CPLT_EVT.
402e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
403e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
404e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
405e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_NOT_INITIALIZED: type 2 tag not activated
406e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
407e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
408e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
409e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwT2tWrite (UINT8 block_number,  UINT8 *p_data);
410e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
411e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
412e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
413e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwT2tSectorSelect
414e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
415e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
416e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send SECTOR SELECT command to the activated Type 2 tag.
417e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
418e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the sector select operation has completed (or if an error occurs), the
419e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_SECTOR_SELECT_CPLT_EVT.
420e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
421e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
422e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
423e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_NOT_INITIALIZED: type 2 tag not activated
424e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
425e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
426e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
427e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwT2tSectorSelect (UINT8 sector_number);
428e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
429e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
430e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
431e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwT3tRead
432e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
433e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
434e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send a CHECK (read) command to the activated Type 3 tag.
435e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
436e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Data is returned to the application using the NFA_RW_DATA_EVT. When the read
437e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      operation has completed, or if an error occurs, the app will be notified with
438e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_READ_CPLT_EVT.
439e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
440e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
441e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
442e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_NOT_INITIALIZED: type 3 tag not activated
443e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
444e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
445e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
446e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwT3tRead (UINT8                num_blocks,
447e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                          tNFA_T3T_BLOCK_DESC *t3t_blocks);
448e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
449e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
450e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
451e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwT3tWrite
452e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
453e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
454e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send an UPDATE (write) command to the activated Type 3 tag.
455e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
456e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the write operation has completed (or if an error occurs), the
457e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_WRITE_CPLT_EVT.
458e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
459e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
460e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
461e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_NOT_INITIALIZED: type 3 tag not activated
462e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
463e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
464e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
465e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwT3tWrite (UINT8                num_blocks,
466e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                           tNFA_T3T_BLOCK_DESC *t3t_blocks,
467e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                           UINT8               *p_data);
468e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
469e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
470e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
471e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93Inventory
472e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
473e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
4745c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**      Send Inventory command to the activated ISO 15693 tag with/without AFI..
475e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      If UID is provided then set UID[0]:MSB, ... UID[7]:LSB
476e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
477e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the write operation has completed (or if an error occurs), the
478e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_I93_CMD_CPLT_EVT.
479e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
480e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
481e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
482e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_NOT_INITIALIZED: ISO 15693 tag not activated
483e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
484e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
485e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
4865c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenNFC_API extern tNFA_STATUS NFA_RwI93Inventory (BOOLEAN afi_present, UINT8 afi, UINT8 *p_uid);
487e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
488e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
489e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
490e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93StayQuiet
491e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
492e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
493e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send Stay Quiet command to the activated ISO 15693 tag.
494e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
495e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the operation has completed (or if an error occurs), the
496e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_I93_CMD_CPLT_EVT.
497e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
498e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
499e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
500e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated
501e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
502e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
503e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
504e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwI93StayQuiet (void);
505e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
506e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
507e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
508e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93ReadSingleBlock
509e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
510e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
511e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send Read Single Block command to the activated ISO 15693 tag.
512e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
513e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Data is returned to the application using the NFA_DATA_EVT. When the read
514e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      operation has completed, or if an error occurs, the app will be notified with
515e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_I93_CMD_CPLT_EVT.
516e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
517e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
518e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
519e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated
520e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
521e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
522e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
523e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwI93ReadSingleBlock (UINT8 block_number);
524e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
525e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
526e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
527e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93WriteSingleBlock
528e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
529e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
530e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send Write Single Block command to the activated ISO 15693 tag.
531e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
532e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the write operation has completed (or if an error occurs), the
533e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_I93_CMD_CPLT_EVT.
534e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
535e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
536e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
537e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated
538e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
539e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
540e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
541e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwI93WriteSingleBlock (UINT8 block_number,
542e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                      UINT8 *p_data);
543e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
544e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
545e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
546e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93LockBlock
547e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
548e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
549e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send Lock block command to the activated ISO 15693 tag.
550e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
551e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the operation has completed (or if an error occurs), the
552e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_I93_CMD_CPLT_EVT.
553e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
554e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
555e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
556e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated
557e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
558e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
559e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
560e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwI93LockBlock (UINT8 block_number);
561e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
562e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
563e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
564e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93ReadMultipleBlocks
565e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
566e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
567e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send Read Multiple Block command to the activated ISO 15693 tag.
568e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
569e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Data is returned to the application using the NFA_DATA_EVT. When the read
570e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      operation has completed, or if an error occurs, the app will be notified with
571e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_I93_CMD_CPLT_EVT.
572e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
573e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
574e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
575e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated
576e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
577e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
578e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
579e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwI93ReadMultipleBlocks (UINT8  first_block_number,
580e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                        UINT16 number_blocks);
581e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
582e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
583e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
584e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93WriteMultipleBlocks
585e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
586e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
587e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send Write Multiple Block command to the activated ISO 15693 tag.
588e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
589e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the write operation has completed (or if an error occurs), the
590e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_I93_CMD_CPLT_EVT.
591e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
592e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
593e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
594e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated
595e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
596e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
597e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
598e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwI93WriteMultipleBlocks (UINT8  first_block_number,
599e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                         UINT16 number_blocks,
600e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                         UINT8  *p_data);
601e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
602e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
603e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
604e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93Select
605e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
606e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
607e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send Select command to the activated ISO 15693 tag.
608e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
609e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      UID[0]: 0xE0, MSB
610e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      UID[1]: IC Mfg Code
611e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      ...
612e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      UID[7]: LSB
613e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
614e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the operation has completed (or if an error occurs), the
615e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_I93_CMD_CPLT_EVT.
616e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
617e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
618e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
619e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated
620e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
621e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
622e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
623e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwI93Select (UINT8 *p_uid);
624e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
625e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
626e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
627e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93ResetToReady
628e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
629e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
630e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send Reset to ready command to the activated ISO 15693 tag.
631e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
632e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the operation has completed (or if an error occurs), the
633e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_I93_CMD_CPLT_EVT.
634e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
635e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
636e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
637e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated
638e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
639e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
640e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
641e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwI93ResetToReady (void);
642e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
643e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
644e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
645e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93WriteAFI
646e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
647e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
648e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send Write AFI command to the activated ISO 15693 tag.
649e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
650e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the operation has completed (or if an error occurs), the
651e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_I93_CMD_CPLT_EVT.
652e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
653e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
654e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
655e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated
656e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
657e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
658e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
659e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwI93WriteAFI (UINT8 afi);
660e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
661e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
662e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
663e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93LockAFI
664e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
665e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
666e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send Lock AFI command to the activated ISO 15693 tag.
667e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
668e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the operation has completed (or if an error occurs), the
669e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_I93_CMD_CPLT_EVT.
670e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
671e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
672e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
673e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated
674e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
675e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
676e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
677e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwI93LockAFI (void);
678e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
679e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
680e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
681e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93WriteDSFID
682e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
683e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
684e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send Write DSFID command to the activated ISO 15693 tag.
685e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
686e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the operation has completed (or if an error occurs), the
687e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_I93_CMD_CPLT_EVT.
688e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
689e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
690e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
691e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated
692e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
693e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
694e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
695e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwI93WriteDSFID (UINT8 dsfid);
696e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
697e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
698e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
699e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93LockDSFID
700e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
701e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
702e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send Lock DSFID command to the activated ISO 15693 tag.
703e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
704e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the operation has completed (or if an error occurs), the
705e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_I93_CMD_CPLT_EVT.
706e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
707e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
708e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
709e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated
710e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
711e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
712e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
713e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwI93LockDSFID (void);
714e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
715e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
716e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
717e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93GetSysInfo
718e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
719e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
720e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send Get system information command to the activated ISO 15693 tag.
721e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      If UID is provided then set UID[0]:MSB, ... UID[7]:LSB
722e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
723e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When the operation has completed (or if an error occurs), the
724e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      app will be notified with NFA_I93_CMD_CPLT_EVT.
725e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
726e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
727e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
728e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated
729e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
730e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
731e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
732e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwI93GetSysInfo (UINT8 *p_uid);
733e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
734e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
735e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
736e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         NFA_RwI93GetMultiBlockSecurityStatus
737e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
738e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description:
739e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send Get Multiple block security status command to the activated ISO 15693 tag.
740e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
741e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Data is returned to the application using the NFA_DATA_EVT. When the read
742e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      operation has completed, or if an error occurs, the app will be notified with
743e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_I93_CMD_CPLT_EVT.
744e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
745e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns:
746e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_OK if successfully initiated
747e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated
748e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFA_STATUS_FAILED otherwise
749e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
750e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
751e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFA_STATUS NFA_RwI93GetMultiBlockSecurityStatus (UINT8  first_block_number,
752e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                                 UINT16 number_blocks);
753e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
754e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus
755e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project}
756e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif
757e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
758e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif /* NFA_RW_API_H */
759