1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
3e9629bad30a9f478b336ab46b8e6e02f7f87af46Evan Chu *  Copyright (C) 2009-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 *  This file contains the Near Field Communication (NFC) Reader/Writer mode
23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  related API function external definitions.
24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/
26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef RW_API_H
28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_API_H
29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "tags_defs.h"
30e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
31e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_T1T_BLD_ADD(a, k, y)   a = ((k & 0xF) << 3) | (y&0x7);
32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_T1T_BLD_ADDS(a, s)     a = ((s & 0xF) << 4);
33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
34e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_T1T_FIRST_EVT    0x20
35e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_T2T_FIRST_EVT    0x40
36e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_T3T_FIRST_EVT    0x60
37e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_T4T_FIRST_EVT    0x80
38e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_I93_FIRST_EVT    0xA0
39e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
40e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectenum
41e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
42e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    /* Note: the order of these events can not be changed */
43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    /* Type 1 tag events for tRW_CBACK */
44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_RID_EVT = RW_T1T_FIRST_EVT,          /* Read ID command completd              */
45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_RALL_CPLT_EVT,                       /* Read All command completed            */
46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_READ_CPLT_EVT,                       /* Read byte completed                   */
47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_WRITE_E_CPLT_EVT,                    /* Write byte after erase completed      */
48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_WRITE_NE_CPLT_EVT,                   /* Write byte with no erase completed    */
49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_RSEG_CPLT_EVT,                       /* Read segment completed                */
50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_READ8_CPLT_EVT,                      /* Read block completed                  */
51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_WRITE_E8_CPLT_EVT,                   /* Write block after erase completed     */
52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_WRITE_NE8_CPLT_EVT,                  /* Write block with no erase completed   */
53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_TLV_DETECT_EVT,                      /* Lock/Mem/Prop tlv detection complete  */
54e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_NDEF_DETECT_EVT,                     /* NDEF detection complete               */
55e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_NDEF_READ_EVT,                       /* NDEF read completed                   */
56e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_NDEF_WRITE_EVT,                      /* NDEF write complete                   */
57e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_SET_TAG_RO_EVT,                      /* Tag is set as read only               */
58e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_RAW_FRAME_EVT,                       /* Response of raw frame sent            */
59e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_PRESENCE_CHECK_EVT,                  /* Response to RW_T1tPresenceCheck       */
60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_FORMAT_CPLT_EVT,                     /* Tag Formated                          */
61e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_INTF_ERROR_EVT,                      /* RF Interface error event              */
62e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T1T_MAX_EVT,
63e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
64e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    /* Type 2 tag events */
65e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T2T_READ_CPLT_EVT = RW_T2T_FIRST_EVT,    /* Read completed                        */
66e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T2T_WRITE_CPLT_EVT,                      /* Write completed                       */
67e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T2T_SELECT_CPLT_EVT,                     /* Sector select completed               */
68e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T2T_NDEF_DETECT_EVT,                     /* NDEF detection complete               */
69e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T2T_TLV_DETECT_EVT,                      /* Lock/Mem/Prop tlv detection complete  */
70e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T2T_NDEF_READ_EVT,                       /* NDEF read completed                   */
71e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T2T_NDEF_WRITE_EVT,                      /* NDEF write complete                   */
72e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T2T_SET_TAG_RO_EVT,                      /* Tag is set as read only               */
73e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T2T_RAW_FRAME_EVT,                       /* Response of raw frame sent            */
74e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T2T_PRESENCE_CHECK_EVT,                  /* Response to RW_T2tPresenceCheck       */
75e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T2T_FORMAT_CPLT_EVT,                     /* Tag Formated                          */
76e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T2T_INTF_ERROR_EVT,                      /* RF Interface error event              */
77e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T2T_MAX_EVT,
78e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
79e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    /* Type 3 tag events for tRW_CBACK */
80e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T3T_CHECK_CPLT_EVT = RW_T3T_FIRST_EVT,   /* Read completed                           */
81e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T3T_UPDATE_CPLT_EVT,                     /* Write completed                          */
82e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T3T_CHECK_EVT,                           /* Segment of data received from type 3 tag */
83e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T3T_RAW_FRAME_EVT,                       /* SendRawFrame response                    */
84e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T3T_NDEF_DETECT_EVT,                     /* NDEF detection complete                  */
85e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T3T_PRESENCE_CHECK_EVT,                  /* Response to RW_T3tPresenceCheck          */
86e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T3T_POLL_EVT,                            /* Response to RW_T3tPoll                   */
87e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T3T_GET_SYSTEM_CODES_EVT,                /* Response to RW_T3tGetSystemCodes         */
88e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T3T_FORMAT_CPLT_EVT,                     /* Tag Formated (Felica-Lite only)          */
895c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    RW_T3T_SET_READ_ONLY_CPLT_EVT,              /* Tag is set as Read only                  */
90e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T3T_INTF_ERROR_EVT,                      /* RF Interface error event                 */
91e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T3T_MAX_EVT,
92e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
93e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    /* Type 4 tag events for tRW_CBACK */
94e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T4T_NDEF_DETECT_EVT = RW_T4T_FIRST_EVT,  /* Result of NDEF detection procedure       */
95e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                /* Mandatory NDEF file is selected          */
96e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T4T_NDEF_READ_EVT,                       /* Segment of data received from type 4 tag */
97e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T4T_NDEF_READ_CPLT_EVT,                  /* Read operation completed                 */
98e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T4T_NDEF_READ_FAIL_EVT,                  /* Read operation failed                    */
99e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T4T_NDEF_UPDATE_CPLT_EVT,                /* Update operation completed               */
100e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T4T_NDEF_UPDATE_FAIL_EVT,                /* Update operation failed                  */
1015c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    RW_T4T_SET_TO_RO_EVT,                       /* Tag is set as read only                  */
102e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T4T_PRESENCE_CHECK_EVT,                  /* Response to RW_T4tPresenceCheck          */
103e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T4T_RAW_FRAME_EVT,                       /* Response of raw frame sent               */
104e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T4T_INTF_ERROR_EVT,                      /* RF Interface error event                 */
105e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_T4T_MAX_EVT,
106e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
107e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    /* ISO 15693 tag events for tRW_CBACK */
108e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_NDEF_DETECT_EVT = RW_I93_FIRST_EVT,  /* Result of NDEF detection procedure */
109e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_NDEF_READ_EVT,                       /* Segment of data received from tag  */
110e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_NDEF_READ_CPLT_EVT,                  /* Read operation completed           */
111e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_NDEF_READ_FAIL_EVT,                  /* Read operation failed              */
112e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_NDEF_UPDATE_CPLT_EVT,                /* Update operation completed         */
113e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_NDEF_UPDATE_FAIL_EVT,                /* Update operation failed            */
114e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_FORMAT_CPLT_EVT,                     /* Format procedure complete          */
115e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_SET_TAG_RO_EVT,                      /* Set read-only procedure complete   */
116e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_INVENTORY_EVT,                       /* Response of Inventory              */
117e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_DATA_EVT,                            /* Response of Read, Get Multi Security */
118e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_SYS_INFO_EVT,                        /* Response of System Information     */
119e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_CMD_CMPL_EVT,                        /* Command complete                   */
120e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_PRESENCE_CHECK_EVT,                  /* Response to RW_I93PresenceCheck    */
121e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_RAW_FRAME_EVT,                       /* Response of raw frame sent         */
122e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_INTF_ERROR_EVT,                      /* RF Interface error event           */
123e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    RW_I93_MAX_EVT
124e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project};
125e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
126e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_RAW_FRAME_EVT     0xFF
127e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
128e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tRW_EVENT;
129e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
130e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_NDEF_FL_READ_ONLY                    0x01    /* Tag is read only              */
131e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_NDEF_FL_FORMATED                     0x02    /* Tag formated for NDEF         */
132e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_NDEF_FL_SUPPORTED                    0x04    /* NDEF supported by the tag     */
133e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_NDEF_FL_UNKNOWN                      0x08    /* Unable to find if tag is ndef capable/formated/read only */
134e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_NDEF_FL_FORMATABLE                   0x10    /* Tag supports format operation */
135e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_NDEF_FL_SOFT_LOCKABLE                0x20    /* Tag can be soft locked */
136e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_NDEF_FL_HARD_LOCKABLE                0x40    /* Tag can be hard locked */
137e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_NDEF_FL_OTP                          0x80    /* Tag is one time programmable */
138e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1395c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenentypedef UINT8 tRW_NDEF_FLAG;
1405c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen
141a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu/* options for RW_T4tPresenceCheck  */
142a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define RW_T4T_CHK_READ_BINARY_CH0      0
143a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define RW_T4T_CHK_READ_BINARY_CH1      1
144a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define RW_T4T_CHK_READ_BINARY_CH2      2
145a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define RW_T4T_CHK_READ_BINARY_CH3      3
146a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define RW_T4T_CHK_EMPTY_I_BLOCK        4
147a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu
148e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
149e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
150e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_STATUS     status;
151e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           hr[T1T_HR_LEN];
152e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           uid[T1T_CMD_UID_LEN];
153e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tRW_T1T_RID_EVT;
154e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
155e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
156e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
157e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_STATUS     status;
158e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16          msg_len;            /* Length of the NDEF message */
159e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tRW_T2T_DETECT;
160e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
161e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
162e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
163e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_STATUS     status;             /* Status of the POLL request */
164e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           rc;                 /* RC (request code) used in the POLL request */
165e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           response_num;       /* Number of SENSF_RES responses */
166e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           response_bufsize;   /* Size of SENSF_RES responses */
167e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           *response_buf;      /* Buffer of responses (length + SENSF_RES) see $8.1.2.2 of NCI specs */
168e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tRW_T3T_POLL;
169e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
170e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
171e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
172e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_STATUS     status;             /* Status of the Get System Codes request */
173e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           num_system_codes;   /* Number of system codes */
174e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16          *p_system_codes;    /* Table of system codes */
175e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tRW_T3T_SYSTEM_CODES;
176e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
177e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
178e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
179e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_STATUS     status;             /* status of NDEF detection */
180e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_PROTOCOL   protocol;           /* protocol used to detect NDEF */
181e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT32          max_size;           /* max number of bytes available for NDEF data */
182e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT32          cur_size;           /* current size of stored NDEF data (in bytes) */
1835c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    tRW_NDEF_FLAG   flags;              /* Flags to indicate NDEF capability,formated,formatable and read only */
184e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tRW_DETECT_NDEF_DATA;
185e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
186e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
187e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
188e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_STATUS     status;             /* status of NDEF detection */
189e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_PROTOCOL   protocol;           /* protocol used to detect TLV */
190e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           num_bytes;          /* number of reserved/lock bytes based on the type of tlv */
191e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tRW_DETECT_TLV_DATA;
192e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
193e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
194e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
195e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_STATUS     status;
196e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    BT_HDR         *p_data;
197e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tRW_READ_DATA;
198e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
199e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
200e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
201e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_STATUS     status;
202e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           sw1;
203e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           sw2;
204e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tRW_T4T_SW;
205e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
206e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct                              /* RW_I93_INVENTORY_EVT        */
207e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
208e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_STATUS     status;                 /* status of Inventory command */
209e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           dsfid;                  /* DSFID                       */
210e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           uid[I93_UID_BYTE_LEN];  /* UID[0]:MSB, ... UID[7]:LSB  */
211e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tRW_I93_INVENTORY;
212e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
213e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct                              /* RW_I93_DATA_EVT               */
214e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
215e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_STATUS     status;                 /* status of Read/Get security status command */
216e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           command;                /* sent command                  */
217e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    BT_HDR         *p_data;                 /* block data of security status */
218e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tRW_I93_DATA;
219e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
220e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct                              /* RW_I93_SYS_INFO_EVT             */
221e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
222e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_STATUS     status;                 /* status of Get Sys Info command  */
223e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           info_flags;             /* information flags               */
224e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           uid[I93_UID_BYTE_LEN];  /* UID[0]:MSB, ... UID[7]:LSB      */
225e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           dsfid;                  /* DSFID if I93_INFO_FLAG_DSFID    */
226e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           afi;                    /* AFI if I93_INFO_FLAG_AFI        */
227e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT16          num_block;              /* number of blocks if I93_INFO_FLAG_MEM_SIZE   */
228e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           block_size;             /* block size in byte if I93_INFO_FLAG_MEM_SIZE */
229e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           IC_reference;           /* IC Reference if I93_INFO_FLAG_IC_REF         */
230e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tRW_I93_SYS_INFO;
231e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
232e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct                              /* RW_I93_CMD_CMPL_EVT             */
233e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
234e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_STATUS     status;                 /* status of sent command          */
235e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           command;                /* sent command                    */
236e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    UINT8           error_code;             /* error code; I93_ERROR_CODE_XXX  */
237e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tRW_I93_CMD_CMPL;
238e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
239e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct
240e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
241e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_STATUS     status;
242e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    BT_HDR         *p_data;
243e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tRW_RAW_FRAME;
244e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
245e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef union
246e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
247e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFC_STATUS             status;
248e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tRW_T3T_POLL            t3t_poll;   /* Response to t3t poll command          */
249e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tRW_T3T_SYSTEM_CODES    t3t_sc;     /* Received system codes from t3 tag     */
250e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tRW_DETECT_TLV_DATA     tlv;        /* The information of detected TLV data  */
251e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tRW_DETECT_NDEF_DATA    ndef;       /* The information of detected NDEF data */
252e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tRW_READ_DATA           data;       /* The received data from a tag          */
253e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tRW_RAW_FRAME           raw_frame;  /* Response of raw frame sent            */
254e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tRW_T4T_SW              t4t_sw;     /* Received status words from a tag      */
255e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tRW_I93_INVENTORY       i93_inventory;  /* ISO 15693 Inventory response      */
256e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tRW_I93_DATA            i93_data;       /* ISO 15693 Data response           */
257e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tRW_I93_SYS_INFO        i93_sys_info;   /* ISO 15693 System Information      */
258e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tRW_I93_CMD_CMPL        i93_cmd_cmpl;   /* ISO 15693 Command complete        */
259e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tRW_DATA;
260e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
261e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
262e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef void (tRW_CBACK) (tRW_EVENT event, tRW_DATA *p_data);
263e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
264e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
265e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
266e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tRid
267e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
268e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send a RID command for Reader/Writer mode.
269e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
270e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
271e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
272e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
273e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tRid (void);
274e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
275e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
276e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
277e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tReadAll
278e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
279e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send a RALL command for Reader/Writer mode.
280e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
281e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
282e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
283e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
284e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tReadAll (void);
285e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
286e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
287e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
288e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tRead
289e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
290e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send a READ command for Reader/Writer mode.
291e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
292e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
293e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
294e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
295e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tRead (UINT8 block, UINT8 byte);
296e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
297e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
298e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
299e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tWriteErase
300e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
301e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send a WRITE-E command for Reader/Writer mode.
302e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
303e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
304e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
305e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
306e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tWriteErase (UINT8 block, UINT8 byte, UINT8 new_byte);
307e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
308e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
309e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
310e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tWriteNoErase
311e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
312e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send a WRITE-NE command for Reader/Writer mode.
313e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
314e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
315e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
316e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
317e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tWriteNoErase (UINT8 block, UINT8 byte, UINT8 new_byte);
318e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
319e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
320e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
321e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tReadSeg
322e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
323e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send a RSEG command for Reader/Writer mode.
324e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
325e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
326e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
327e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
328e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tReadSeg (UINT8 segment);
329e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
330e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
331e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
332e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tRead8
333e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
334e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send a READ8 command for Reader/Writer mode.
335e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
336e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
337e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
338e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
339e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tRead8 (UINT8 block);
340e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
341e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
342e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
343e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tWriteErase8
344e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
345e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send a WRITE-E8 command for Reader/Writer mode.
346e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
347e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
348e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
349e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
350e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tWriteErase8 (UINT8 block, UINT8 *p_new_dat);
351e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
352e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
353e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
354e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tWriteNoErase8
355e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
356e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send a WRITE-NE8 command for Reader/Writer mode.
357e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
358e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
359e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
360e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
361e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tWriteNoErase8 (UINT8 block, UINT8 *p_new_dat);
362e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
363e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
364e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
365e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tLocateTlv
366e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
367e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function is called to find the start of the given TLV
368e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
369e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Parameters:      void
370e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
371e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NCI_STATUS_OK, if detection was started. Otherwise, error status.
372e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
373e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
374e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tLocateTlv (UINT8 tlv_type);
375e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
376e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
377e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
378c95c79ccb65d82a65b960919077d5c359cf28cedEvan Chu** Function         RW_T1tDetectNDef
379e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
380e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function can be called to detect if there is an NDEF
381e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  message on the tag.
382e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
383e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Parameters:      void
384e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
385e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NCI_STATUS_OK, if detection was started. Otherwise, error status.
386e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
387e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
388e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tDetectNDef (void);
389e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
390e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
391e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
392e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tReadNDef
393e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
394e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function can be called to read the NDEF message on the tag.
395e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
396e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Parameters:      p_buffer:   The buffer into which to read the NDEF message
397e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  buf_len:    The length of the buffer
398e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
399e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NCI_STATUS_OK, if read was started. Otherwise, error status.
400e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
401e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
402e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tReadNDef (UINT8 *p_buffer, UINT16 buf_len);
403e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
404e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
405e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
406e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tWriteNDef
407e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
408e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function can be called to write an NDEF message to the tag.
409e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
410e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Parameters:      msg_len:    The length of the buffer
411e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  p_msg:      The NDEF message to write
412e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
413e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NCI_STATUS_OK, if write was started. Otherwise, error status.
414e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
415e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
416e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tWriteNDef (UINT16 msg_len, UINT8 *p_msg);
417e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
418e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
419e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
420e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tSetTagReadOnly
421e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
422e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function can be called to set the tag in to read only
423e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  state
424e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
425e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Parameters:      b_hard_lock: To hard lock or just soft lock the tag
426e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
427e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NCI_STATUS_OK, if set readonly operation started.
428e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                                 Otherwise, error status.
429e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
430e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
431e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tSetTagReadOnly (BOOLEAN b_hard_lock);
432e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
433e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
434e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
435e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tPresenceCheck
436e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
437e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
438e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Check if the tag is still in the field.
439e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
440e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      The RW_T1T_PRESENCE_CHECK_EVT w/ status is used to indicate presence
441e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      or non-presence.
442e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
443e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
444e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK, if raw data frame sent
445e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
446e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: other error
447e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
448e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
449e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T1tPresenceCheck (void);
450e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
451e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
452e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
453e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T1tFormatNDef
454e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
455e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
456e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Format Tag content
457e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
458e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
459e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK, Command sent to format Tag
460e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_REJECTED: Invalid HR0 and cannot format the tag
461e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: other error
462e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
463e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
464e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjecttNFC_STATUS RW_T1tFormatNDef (void);
465e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
466e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
467e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
468e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T2tLocateTlv
469e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
470e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function is called to find the start of the given TLV
471e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
472e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          Pointer to the TLV, if successful. Otherwise, NULL.
473e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
474e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
475e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T2tLocateTlv(UINT8 tlv_type);
476e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
477e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
478e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
479e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T2tRead
480e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
481e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function issues the Type 2 Tag READ command. When the
482e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  operation is complete the callback function will be called
483e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  with a RW_T2T_READ_EVT.
484e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
485e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
486e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
487e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
488e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T2tRead (UINT16 block);
489e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
490e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
491e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
492e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T2tWrite
493e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
494e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function issues the Type 2 Tag WRITE command. When the
495e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  operation is complete the callback function will be called
496e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  with a RW_T2T_WRITE_EVT.
497e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
498e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  p_write_data points to the array of 4 bytes to be written
499e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
500e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
501e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
502e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
503e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T2tWrite (UINT16 block, UINT8 *p_write_data);
504e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
505e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
506e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
507e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T2tSectorSelect
508e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
509e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function issues the Type 2 Tag SECTOR-SELECT command
510e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  packet 1. If a NACK is received as the response, the callback
511e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  function will be called with a RW_T2T_SECTOR_SELECT_EVT. If
512e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  an ACK is received as the response, the command packet 2 with
513e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  the given sector number is sent to the peer device. When the
514e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  response for packet 2 is received, the callback function will
515e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  be called with a RW_T2T_SECTOR_SELECT_EVT.
516e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
517e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  A sector is 256 contiguous blocks (1024 bytes).
518e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
519e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
520e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
521e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
522e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T2tSectorSelect (UINT8 sector);
523e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
524e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
525e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
526e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T2tDetectNDef
527e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
528e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function will find NDEF message if any in the Tag
529e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
530e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
531e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
532e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
533c95c79ccb65d82a65b960919077d5c359cf28cedEvan ChuNFC_API extern tNFC_STATUS RW_T2tDetectNDef (BOOLEAN skip_dyn_locks);
534e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
535e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
536e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
537e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T2tReadNDef
538e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
539e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function can be called to read the NDEF message on the tag.
540e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
541e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Parameters:      p_buffer:   The buffer into which to read the NDEF message
542e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  buf_len:    The length of the buffer
543e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
544e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NCI_STATUS_OK, if read was started. Otherwise, error status.
545e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
546e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
547e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T2tReadNDef (UINT8 *p_buffer, UINT16 buf_len);
548e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
549e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
550e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
551e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T2tWriteNDef
552e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
553e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function can be called to write an NDEF message to the tag.
554e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
555e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Parameters:      msg_len:    The length of the buffer
556e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  p_msg:      The NDEF message to write
557e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
558e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NCI_STATUS_OK, if write was started. Otherwise, error status.
559e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
560e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
561e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T2tWriteNDef (UINT16 msg_len, UINT8 *p_msg );
562e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
563e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
564e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
565e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T2tSetTagReadOnly
566e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
567e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function can be called to set the tag in to read only
568e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  state
569e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
570e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Parameters:      b_hard_lock:   To indicate hard lock the tag or not
571e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
572e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NCI_STATUS_OK, if set readonly operation started.
573e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                                 Otherwise, error status.
574e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
575e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
576e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T2tSetTagReadOnly (BOOLEAN b_hard_lock);
577e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
578e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
579e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
580e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T2tPresenceCheck
581e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
582e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
583e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Check if the tag is still in the field.
584e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
585e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      The RW_T2T_PRESENCE_CHECK_EVT w/ status is used to indicate presence
586e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      or non-presence.
587e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
588e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
589e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK, if raw data frame sent
590e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
591e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: other error
592e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
593e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
594e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T2tPresenceCheck (void);
595e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
596e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
597e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
598e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T2tFormatNDef
599e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
600e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
601e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Format Tag content
602e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
603e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
604e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK, Command sent to format Tag
605e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: otherwise
606e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
607e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
608e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjecttNFC_STATUS RW_T2tFormatNDef (void);
609e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
610e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
611e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
612e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T3tDetectNDef
613e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
614e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
615e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      This function is used to perform NDEF detection on a Type 3 tag, and
616e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      retrieve the tag's NDEF attribute information (block 0).
617e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
618e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Before using this API, the application must call RW_SelectTagType to
619e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      indicate that a Type 3 tag has been activated, and to provide the
620e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      tag's Manufacture ID (IDm) .
621e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
622e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
623e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK: ndef detection procedure started
624e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
625e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: other error
626e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
627e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
628e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T3tDetectNDef (void);
629e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
630e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
631e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
632e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T3tFormatNDef
633e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
634e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
635e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Format a type-3 tag for NDEF.
636e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
637e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Only Felica-Lite tags are supported by this API. The
638e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      RW_T3T_FORMAT_CPLT_EVT is used to notify the status of the operation.
639e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
640e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
641e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK: ndef detection procedure started
642e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
643e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: other error
644e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
645e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
646e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T3tFormatNDef (void);
647e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
648e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
649e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
6505c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen** Function         RW_T3tSetReadOnly
6515c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**
6525c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen** Description
6535c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**      Set a type-3 tag to Read Only
6545c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**
6555c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**      Only Felica-Lite tags are supported by this API.
6565c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**      RW_T3tDetectNDef() must be called before using this
6575c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**      The RW_T3T_SET_READ_ONLY_CPLT_EVT event will be returned.
6585c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**
6595c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen** Returns
6605c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**      NFC_STATUS_OK if success
6615c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**      NFC_STATUS_FAILED if T3T is busy or other error
6625c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**
6635c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen*****************************************************************************/
6645c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenNFC_API extern tNFC_STATUS RW_T3tSetReadOnly (BOOLEAN b_hard_lock);
6655c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen
6665c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen/*****************************************************************************
6675c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**
668e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T3tCheckNDef
669e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
670e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
671e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Retrieve NDEF contents from a Type3 tag.
672e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
673e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      The RW_T3T_CHECK_EVT event is used to notify the application for each
674e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      segment of NDEF data received. The RW_T3T_CHECK_CPLT_EVT event is used to
675e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      notify the application all segments have been received.
676e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
677e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Before using this API, the RW_T3tDetectNDef function must be called to
678e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      verify that the tag contains NDEF data, and to retrieve the NDEF
679e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      attributes.
680e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
681e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Internally, this command will be separated into multiple Tag 3 Check
682e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      commands (if necessary) - depending on the tag's Nbr (max number of
683e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      blocks per read) attribute.
684e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
685e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
686e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK: check command started
687e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
688e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: other error
689e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
690e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
691e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T3tCheckNDef (void);
692e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
693e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
694e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
695e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T3tUpdateNDef
696e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
697e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
698e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Write NDEF contents to a Type3 tag.
699e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
700e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      The RW_T3T_UPDATE_CPLT_EVT callback event will be used to notify the
701e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      application of the response.
702e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
703e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Before using this API, the RW_T3tDetectNDef function must be called to
704e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      verify that the tag contains NDEF data, and to retrieve the NDEF
705e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      attributes.
706e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
707e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Internally, this command will be separated into multiple Tag 3 Update
708e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      commands (if necessary) - depending on the tag's Nbw (max number of
709e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      blocks per write) attribute.
710e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
711e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
712e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK: check command started
713e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
714e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_REFUSED: tag is read-only
715e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_BUFFER_FULL: len exceeds tag's maximum size
716e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: other error
717e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
718e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
719e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T3tUpdateNDef (UINT32 len, UINT8 *p_data);
720e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
721e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
722e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
723e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T3tCheck
724e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
725e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
726e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Read (non-NDEF) contents from a Type3 tag.
727e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
728e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      The RW_READ_EVT event is used to notify the application for each
729e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      segment of NDEF data received. The RW_READ_CPLT_EVT event is used to
730e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      notify the application all segments have been received.
731e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
732e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Before using this API, the application must call RW_SelectTagType to
733e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      indicate that a Type 3 tag has been activated, and to provide the
734e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      tag's Manufacture ID (IDm) .
735e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
736e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
737e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK: check command started
738e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
739e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: other error
740e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
741e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
742e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T3tCheck (UINT8 num_blocks, tT3T_BLOCK_DESC *t3t_blocks);
743e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
744e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
745e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
746e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T3tUpdate
747e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
748e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
749e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Write (non-NDEF) contents to a Type3 tag.
750e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
751e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      The RW_WRITE_CPLT_EVT event is used to notify the application all
752e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      segments have been received.
753e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
754e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Before using this API, the application must call RW_SelectTagType to
755e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      indicate that a Type 3 tag has been activated, and to provide the tag's
756e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Manufacture ID (IDm) .
757e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
758e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
759e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK: check command started
760e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
761e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: other error
762e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
763e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
764e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T3tUpdate (UINT8 num_blocks, tT3T_BLOCK_DESC *t3t_blocks, UINT8 *p_data);
765e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
766e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
767e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
768e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T3tSendRawFrame
769e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
770e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
771e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      This function is called to send a raw data frame to the peer device.
772e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      When type 3 tag receives response from peer, the callback function
773e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      will be called with a RW_T3T_RAW_FRAME_EVT [Table 6].
774e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
775e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Before using this API, the application must call RW_SelectTagType to
776e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      indicate that a Type 3 tag has been activated.
777e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
778e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      The raw frame should be a properly formatted Type 3 tag message.
779e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
780e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
781e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK, if raw data frame sent
782e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
783e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: other error
784e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
785e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
786e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T3tSendRawFrame (UINT16 len, UINT8 *p_data);
787e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
788e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
789e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
790e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T3tPoll
791e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
792e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
793e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Send POLL command
794e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
795e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
796e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK, if raw data frame sent
797e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
798e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: other error
799e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
800e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
801e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T3tPoll (UINT16 system_code, tT3T_POLL_RC rc, UINT8 tsn);
802e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
803e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
804e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
805e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T3tPresenceCheck
806e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
807e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
808e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Check if the tag is still in the field.
809e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
810e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      The RW_T3T_PRESENCE_CHECK_EVT w/ status is used to indicate presence
811e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      or non-presence.
812e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
813e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
814e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK, if raw data frame sent
815e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
816e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: other error
817e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
818e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
819e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T3tPresenceCheck (void);
820e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
821e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
822e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
823e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T3tGetSystemCodes
824e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
825e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
826e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Get systems codes supported by the activated tag:
827e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**              Poll for wildcard (FFFF):
828e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - If felica-lite code then poll for ndef (12fc)
829e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  - Otherwise send RequestSystmCode command to get
830e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                    system codes.
831e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
832e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Before using this API, the application must call RW_SelectTagType to
833e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      indicate that a Type 3 tag has been activated.
834e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
835e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
836e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK, if raw data frame sent
837e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
838e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: other error
839e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
840e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
841e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T3tGetSystemCodes (void);
842e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
843e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
844e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
845e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T4tDetectNDef
846e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
847e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function performs NDEF detection procedure
848e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
849e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_T4T_NDEF_DETECT_EVT will be returned
850e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
851e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
852e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if T4T is busy or other error
853e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
854e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
855e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T4tDetectNDef (void);
856e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
857e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
858e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
859e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T4tReadNDef
860e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
861e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function performs NDEF read procedure
862e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Note: RW_T4tDetectNDef() must be called before using this
863e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
864e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  The following event will be returned
865e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                      RW_T4T_NDEF_READ_EVT for each segmented NDEF message
866e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                      RW_T4T_NDEF_READ_CPLT_EVT for the last segment or complete NDEF
867e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                      RW_T4T_NDEF_READ_FAIL_EVT for failure
868e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
869e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
870e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if T4T is busy or other error
871e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
872e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
873e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T4tReadNDef (void);
874e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
875e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
876e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
877e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T4tUpdateNDef
878e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
879e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function performs NDEF update procedure
880e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Note: RW_T4tDetectNDef() must be called before using this
881e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                        Updating data must not be removed until returning event
882e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
883e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  The following event will be returned
884e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                      RW_T4T_NDEF_UPDATE_CPLT_EVT for complete
885e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                      RW_T4T_NDEF_UPDATE_FAIL_EVT for failure
886e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
887e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
888e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if T4T is busy or other error
889e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
890e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
891e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_T4tUpdateNDef (UINT16 length, UINT8 *p_data);
892e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
893e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
894e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
895e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_T4tPresenceCheck
896e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
897e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description
898e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      Check if the tag is still in the field.
899e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
900e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      The RW_T4T_PRESENCE_CHECK_EVT w/ status is used to indicate presence
901e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      or non-presence.
902a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu**      option is RW_T4T_CHK_EMPTY_I_BLOCK, use empty I block for presence check.
903e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
904e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns
905e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_OK, if raw data frame sent
906e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
907e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**      NFC_STATUS_FAILED: other error
908e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
909e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
910a24be4f06674b2707b57904deaa0dff5a95823bdEvan ChuNFC_API extern tNFC_STATUS RW_T4tPresenceCheck (UINT8 option);
911e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
9125c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen/*****************************************************************************
9135c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**
9145c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen** Function         RW_T4tSetNDefReadOnly
9155c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**
9165c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen** Description      This function performs NDEF read-only procedure
9175c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**                  Note: RW_T4tDetectNDef() must be called before using this
9185c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**
9195c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**                  The RW_T4T_SET_TO_RO_EVT event will be returned.
9205c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**
9215c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen** Returns          NFC_STATUS_OK if success
9225c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**                  NFC_STATUS_FAILED if T4T is busy or other error
9235c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen**
9245c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen*****************************************************************************/
9255c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenNFC_API extern tNFC_STATUS RW_T4tSetNDefReadOnly (void);
926e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
927e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
928e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
929e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93Inventory
930e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
9315c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen** Description      This function send Inventory command with/without AFI
932e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  If UID is provided then set UID[0]:MSB, ... UID[7]:LSB
933e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
934e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_RESPONSE_EVT will be returned
935e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
936e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
937e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
938e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if T4T is busy or other error
939e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
940e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
9415c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenNFC_API extern tNFC_STATUS RW_I93Inventory (BOOLEAN including_afi, UINT8 afi, UINT8 *p_uid);
942e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
943e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
944e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
945e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93StayQuiet
946e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
947e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send Inventory command
948e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
949e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_CMD_CMPL_EVT will be returned
950e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
951e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
952e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
953e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_BUSY if busy
954e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if other error
955e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
956e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
957e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93StayQuiet (void);
958e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
959e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
960e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
961e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93ReadSingleBlock
962e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
963e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send Read Single Block command
964e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
965e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_RESPONSE_EVT will be returned
966e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
967e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
968e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
969e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_BUSY if busy
970e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if other error
971e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
972e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
97385b7e84f6cc61506c94e98844cac9ce50bbbe9dcEvan ChuNFC_API extern tNFC_STATUS RW_I93ReadSingleBlock (UINT16 block_number);
974e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
975e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
976e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
977e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93WriteSingleBlock
978e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
979e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send Write Single Block command
980e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Application must get block size first by calling RW_I93GetSysInfo().
981e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
982e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_CMD_CMPL_EVT will be returned
983e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
984e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
985e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
986e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_BUSY if busy
987e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if other error
988e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
989e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
99085b7e84f6cc61506c94e98844cac9ce50bbbe9dcEvan ChuNFC_API extern tNFC_STATUS RW_I93WriteSingleBlock (UINT16 block_number,
99185b7e84f6cc61506c94e98844cac9ce50bbbe9dcEvan Chu                                                   UINT8  *p_data);
992e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
993e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
994e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
995e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93LockBlock
996e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
997e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send Lock Block command
998e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
999e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_CMD_CMPL_EVT will be returned
1000e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1001e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1002e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
1003e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_BUSY if busy
1004e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if other error
1005e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1006e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1007e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93LockBlock (UINT8 block_number);
1008e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1009e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1010e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1011e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93ReadMultipleBlocks
1012e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1013e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send Read Multiple Blocks command
1014e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1015e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_RESPONSE_EVT will be returned
1016e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1017e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1018e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
1019e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_BUSY if busy
1020e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if other error
1021e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1022e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
102385b7e84f6cc61506c94e98844cac9ce50bbbe9dcEvan ChuNFC_API extern tNFC_STATUS RW_I93ReadMultipleBlocks (UINT16 first_block_number,
1024e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                     UINT16 number_blocks);
1025e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1026e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1027e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1028e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93WriteMultipleBlocks
1029e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1030e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send Write Multiple Blocks command
1031e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1032e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_CMD_CMPL_EVT will be returned
1033e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1034e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1035e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
1036e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_BUSY if busy
1037e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if other error
1038e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1039e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1040e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93WriteMultipleBlocks (UINT8  first_block_number,
1041e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                      UINT16 number_blocks,
1042e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                      UINT8 *p_data);
1043e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1044e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1045e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1046e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93Select
1047e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1048e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send Select command
1049e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1050e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  UID[0]: 0xE0, MSB
1051e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  UID[1]: IC Mfg Code
1052e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  ...
1053e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  UID[7]: LSB
1054e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1055e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_CMD_CMPL_EVT will be returned
1056e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1057e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1058e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
1059e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_BUSY if busy
1060e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if other error
1061e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1062e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1063e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93Select (UINT8 *p_uid);
1064e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1065e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1066e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1067e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93ResetToReady
1068e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1069e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send Reset To Ready command
1070e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1071e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_CMD_CMPL_EVT will be returned
1072e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1073e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1074e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
1075e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_BUSY if busy
1076e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if other error
1077e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1078e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1079e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93ResetToReady (void);
1080e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1081e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1082e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1083e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93WriteAFI
1084e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1085e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send Write AFI command
1086e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1087e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_CMD_CMPL_EVT will be returned
1088e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1089e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1090e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
1091e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_BUSY if busy
1092e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if other error
1093e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1094e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1095e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93WriteAFI (UINT8 afi);
1096e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1097e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1098e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1099e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93LockAFI
1100e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1101e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send Lock AFI command
1102e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1103e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_CMD_CMPL_EVT will be returned
1104e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1105e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1106e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
1107e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_BUSY if busy
1108e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if other error
1109e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1110e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1111e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93LockAFI (void);
1112e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1113e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1114e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1115e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93WriteDSFID
1116e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1117e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send Write DSFID command
1118e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1119e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_CMD_CMPL_EVT will be returned
1120e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1121e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1122e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
1123e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_BUSY if busy
1124e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if other error
1125e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1126e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1127e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93WriteDSFID (UINT8 dsfid);
1128e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1129e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1130e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1131e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93LockDSFID
1132e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1133e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send Lock DSFID command
1134e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1135e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_CMD_CMPL_EVT will be returned
1136e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1137e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1138e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
1139e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_BUSY if busy
1140e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if other error
1141e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1142e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1143e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93LockDSFID (void);
1144e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1145e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1146e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1147e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93GetSysInfo
1148e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1149e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send Get System Information command
1150e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  If UID is provided then set UID[0]:MSB, ... UID[7]:LSB
1151e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1152e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_RESPONSE_EVT will be returned
1153e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1154e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1155e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
1156e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_BUSY if busy
1157e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if other error
1158e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1159e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1160e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93GetSysInfo (UINT8 *p_uid);
1161e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1162e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1163e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1164e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93GetMultiBlockSecurityStatus
1165e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1166e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function send Get Multiple Block Security Status command
1167e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1168e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_RESPONSE_EVT will be returned
1169e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1170e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1171e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS if out of buffer
1172e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_BUSY if busy
1173e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if other error
1174e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1175e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
117685b7e84f6cc61506c94e98844cac9ce50bbbe9dcEvan ChuNFC_API extern tNFC_STATUS RW_I93GetMultiBlockSecurityStatus (UINT16 first_block_number,
1177e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                                                              UINT16 number_blocks);
1178e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1179e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1180e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1181e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93DetectNDef
1182e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1183e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function performs NDEF detection procedure
1184e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1185e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_NDEF_DETECT_EVT will be returned
1186e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1187e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1188e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if busy or other error
1189e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1190e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1191e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93DetectNDef (void);
1192e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1193e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1194e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1195e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93ReadNDef
1196e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1197e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function performs NDEF read procedure
1198e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Note: RW_I93DetectNDef() must be called before using this
1199e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1200e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  The following event will be returned
1201e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                      RW_I93_NDEF_READ_EVT for each segmented NDEF message
1202e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                      RW_I93_NDEF_READ_CPLT_EVT for the last segment or complete NDEF
1203e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                      RW_I93_NDEF_READ_FAIL_EVT for failure
1204e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1205e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1206e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if I93 is busy or other error
1207e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1208e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1209e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93ReadNDef (void);
1210e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1211e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1212e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1213e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93UpdateNDef
1214e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1215e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function performs NDEF update procedure
1216e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Note: RW_I93DetectNDef() must be called before using this
1217e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                        Updating data must not be removed until returning event
1218e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1219e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  The following event will be returned
1220e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                      RW_I93_NDEF_UPDATE_CPLT_EVT for complete
1221e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                      RW_I93_NDEF_UPDATE_FAIL_EVT for failure
1222e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1223e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1224e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if I93 is busy or other error
1225e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1226e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1227e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93UpdateNDef (UINT16 length, UINT8 *p_data);
1228e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1229e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1230e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1231e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93FormatNDef
1232e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1233e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function performs formatting procedure
1234e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1235e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  RW_I93_FORMAT_CPLT_EVT will be returned
1236e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1237e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1238e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if busy or other error
1239e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1240e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1241e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93FormatNDef (void);
1242e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1243e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1244e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1245e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93SetTagReadOnly
1246e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1247e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function performs NDEF read-only procedure
1248e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  Note: RW_I93DetectNDef() must be called before using this
1249e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                        Updating data must not be removed until returning event
1250e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1251e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  The RW_I93_SET_TAG_RO_EVT event will be returned.
1252e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1253e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK if success
1254e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED if I93 is busy or other error
1255e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1256e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1257e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93SetTagReadOnly (void);
1258e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1259e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*****************************************************************************
1260e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1261e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_I93PresenceCheck
1262e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1263e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      Check if the tag is still in the field.
1264e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1265e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  The RW_I93_PRESENCE_CHECK_EVT w/ status is used to indicate
1266e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  presence or non-presence.
1267e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1268e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          NFC_STATUS_OK, if raw data frame sent
1269e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
1270e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  NFC_STATUS_FAILED: other error
1271e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1272e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/
1273e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_I93PresenceCheck (void);
1274e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1275e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1276e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1277e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_SendRawFrame
1278e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1279e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function sends a raw frame to the peer device.
1280e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1281e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
1282e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1283e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1284e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_SendRawFrame (UINT8 *p_raw_data, UINT16 data_len);
1285e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1286e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1287e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1288e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_SetActivatedTagType
1289e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1290e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function sets tag type for Reader/Writer mode.
1291e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1292e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          tNFC_STATUS
1293e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1294e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1295e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern tNFC_STATUS RW_SetActivatedTagType (tNFC_ACTIVATE_DEVT *p_activate_params, tRW_CBACK *p_cback);
1296e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1297e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
1298e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1299e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         RW_SetTraceLevel
1300e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1301e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      This function sets the trace level for Reader/Writer mode.
1302e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  If called with a value of 0xFF,
1303e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**                  it simply returns the current trace level.
1304e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1305e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          The new or current trace level
1306e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
1307e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
1308e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectNFC_API extern UINT8 RW_SetTraceLevel (UINT8 new_level);
1309e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
1310e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif /* RW_API_H */
1311