rw_api.h revision c95c79ccb65d82a65b960919077d5c359cf28ced
1ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org/******************************************************************************
248dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang *
3ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org *  Copyright (C) 2009-2013 Broadcom Corporation
4ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org *
5ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org *  Licensed under the Apache License, Version 2.0 (the "License");
6ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org *  you may not use this file except in compliance with the License.
7ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org *  You may obtain a copy of the License at:
8ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org *
9ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org *  http://www.apache.org/licenses/LICENSE-2.0
106f1796f3ea2d67d5c91a17eeb5865442b5ccd188apatrick@chromium.org *
11ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org *  Unless required by applicable law or agreed to in writing, software
1204fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang *  distributed under the License is distributed on an "AS IS" BASIS,
13aef95dec1cb82857fbe0dd88ad92eb3451e482f2Jamie Madill *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1404fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang *  See the License for the specific language governing permissions and
15d2811d688721a729f514bd78f7fd12a43beeb0a6shannon.woods@transgaming.com *  limitations under the License.
16ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org *
17ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org ******************************************************************************/
1890080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org
19a2ecfcccf1d1a85e6054a7314ce1f9de0648ac7fshannonwoods@chromium.org
200b7eef7c469bf717f7e1b57c6273f00d88e8b1d9Geoff Lang/******************************************************************************
21ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org *
22ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org *  This file contains the Near Field Communication (NFC) Reader/Writer mode
23ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org *  related API function external definitions.
24d2811d688721a729f514bd78f7fd12a43beeb0a6shannon.woods@transgaming.com *
25c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones ******************************************************************************/
26486d9e9b6b4ed31f66d2624b8e822020fe40a1f7shannon.woods@transgaming.com
27d8d72434e51896c79b117229624ffed341da89a6Brandon Jones#ifndef RW_API_H
28f05cdee4ce4adc73e79adb1d01ba76e742b3f892Brandon Jones#define RW_API_H
29c7a4104957aa1f6fa36e4e9cf65d36b699eb05bdBrandon Jones#include "tags_defs.h"
30e60508840c2cf59c0fd6f8986d8c80c9f7425615Nicolas Capens
311bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org#define RW_T1T_BLD_ADD(a, k, y)   a = ((k & 0xF) << 3) | (y&0x7);
32c600c8c337e6c83ee476399729136a09b272078fJamie Madill#define RW_T1T_BLD_ADDS(a, s)     a = ((s & 0xF) << 4);
33c2141fb314ecb6aa36861de57b7744649e51ea1bJamie Madill
34ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org#define RW_T1T_FIRST_EVT    0x20
35ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org#define RW_T2T_FIRST_EVT    0x40
36b4e07b899053bc100f01162dff09b2a577ff8afbshannonwoods@chromium.org#define RW_T3T_FIRST_EVT    0x60
371b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill#define RW_T4T_FIRST_EVT    0x80
386d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org#define RW_I93_FIRST_EVT    0xA0
396d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org
4076b10c9a9735c27627065d9fe68f78374ef48934Geoff Langenum
4166d43d24c7560d5812e1adc3491578a783379c9fJamie Madill{
4266d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    /* Note: the order of these events can not be changed */
4366d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    /* Type 1 tag events for tRW_CBACK */
4466d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_RID_EVT = RW_T1T_FIRST_EVT,          /* Read ID command completd              */
4566d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_RALL_CPLT_EVT,                       /* Read All command completed            */
4666d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_READ_CPLT_EVT,                       /* Read byte completed                   */
4766d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_WRITE_E_CPLT_EVT,                    /* Write byte after erase completed      */
4876b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang    RW_T1T_WRITE_NE_CPLT_EVT,                   /* Write byte with no erase completed    */
4966d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_RSEG_CPLT_EVT,                       /* Read segment completed                */
5066d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_READ8_CPLT_EVT,                      /* Read block completed                  */
5166d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_WRITE_E8_CPLT_EVT,                   /* Write block after erase completed     */
5276b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang    RW_T1T_WRITE_NE8_CPLT_EVT,                  /* Write block with no erase completed   */
5366d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_TLV_DETECT_EVT,                      /* Lock/Mem/Prop tlv detection complete  */
5466d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_NDEF_DETECT_EVT,                     /* NDEF detection complete               */
5576b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang    RW_T1T_NDEF_READ_EVT,                       /* NDEF read completed                   */
5666d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_NDEF_WRITE_EVT,                      /* NDEF write complete                   */
5766d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_SET_TAG_RO_EVT,                      /* Tag is set as read only               */
5876b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang    RW_T1T_RAW_FRAME_EVT,                       /* Response of raw frame sent            */
5966d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_PRESENCE_CHECK_EVT,                  /* Response to RW_T1tPresenceCheck       */
6066d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_FORMAT_CPLT_EVT,                     /* Tag Formated                          */
6166d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_INTF_ERROR_EVT,                      /* RF Interface error event              */
6266d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T1T_MAX_EVT,
6376b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang
6466d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    /* Type 2 tag events */
6566d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T2T_READ_CPLT_EVT = RW_T2T_FIRST_EVT,    /* Read completed                        */
6666d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T2T_WRITE_CPLT_EVT,                      /* Write completed                       */
6776b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang    RW_T2T_SELECT_CPLT_EVT,                     /* Sector select completed               */
6866d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T2T_NDEF_DETECT_EVT,                     /* NDEF detection complete               */
6966d43d24c7560d5812e1adc3491578a783379c9fJamie Madill    RW_T2T_TLV_DETECT_EVT,                      /* Lock/Mem/Prop tlv detection complete  */
708ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill    RW_T2T_NDEF_READ_EVT,                       /* NDEF read completed                   */
716d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org    RW_T2T_NDEF_WRITE_EVT,                      /* NDEF write complete                   */
726d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org    RW_T2T_SET_TAG_RO_EVT,                      /* Tag is set as read only               */
736d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org    RW_T2T_RAW_FRAME_EVT,                       /* Response of raw frame sent            */
746d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org    RW_T2T_PRESENCE_CHECK_EVT,                  /* Response to RW_T2tPresenceCheck       */
756d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org    RW_T2T_FORMAT_CPLT_EVT,                     /* Tag Formated                          */
766d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org    RW_T2T_INTF_ERROR_EVT,                      /* RF Interface error event              */
776d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org    RW_T2T_MAX_EVT,
786d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org
796d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org    /* Type 3 tag events for tRW_CBACK */
806d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org    RW_T3T_CHECK_CPLT_EVT = RW_T3T_FIRST_EVT,   /* Read completed                           */
816d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org    RW_T3T_UPDATE_CPLT_EVT,                     /* Write completed                          */
826d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org    RW_T3T_CHECK_EVT,                           /* Segment of data received from type 3 tag */
836d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org    RW_T3T_RAW_FRAME_EVT,                       /* SendRawFrame response                    */
846d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org    RW_T3T_NDEF_DETECT_EVT,                     /* NDEF detection complete                  */
856d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org    RW_T3T_PRESENCE_CHECK_EVT,                  /* Response to RW_T3tPresenceCheck          */
863f2e61dea6c447ed7b98483fa0ce9ccc3cb5cc3cJamie Madill    RW_T3T_POLL_EVT,                            /* Response to RW_T3tPoll                   */
87c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    RW_T3T_GET_SYSTEM_CODES_EVT,                /* Response to RW_T3tGetSystemCodes         */
883b7e205c444055b296ef12c94cf0f0114ba56497Jamie Madill    RW_T3T_FORMAT_CPLT_EVT,                     /* Tag Formated (Felica-Lite only)          */
89c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    RW_T3T_SET_READ_ONLY_CPLT_EVT,              /* Tag is set as Read only                  */
90c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    RW_T3T_INTF_ERROR_EVT,                      /* RF Interface error event                 */
913b7e205c444055b296ef12c94cf0f0114ba56497Jamie Madill    RW_T3T_MAX_EVT,
923b7e205c444055b296ef12c94cf0f0114ba56497Jamie Madill
93f257598999faf907a50d8a9f9eff28dad0ff2628Jamie Madill    /* Type 4 tag events for tRW_CBACK */
94c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    RW_T4T_NDEF_DETECT_EVT = RW_T4T_FIRST_EVT,  /* Result of NDEF detection procedure       */
95c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill                                                /* Mandatory NDEF file is selected          */
96c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    RW_T4T_NDEF_READ_EVT,                       /* Segment of data received from type 4 tag */
97ac0a267bd3b2205f310e502fe4ecf9d710af298aJamie Madill    RW_T4T_NDEF_READ_CPLT_EVT,                  /* Read operation completed                 */
98ac0a267bd3b2205f310e502fe4ecf9d710af298aJamie Madill    RW_T4T_NDEF_READ_FAIL_EVT,                  /* Read operation failed                    */
99ac0a267bd3b2205f310e502fe4ecf9d710af298aJamie Madill    RW_T4T_NDEF_UPDATE_CPLT_EVT,                /* Update operation completed               */
1003b7e205c444055b296ef12c94cf0f0114ba56497Jamie Madill    RW_T4T_NDEF_UPDATE_FAIL_EVT,                /* Update operation failed                  */
1013b7e205c444055b296ef12c94cf0f0114ba56497Jamie Madill    RW_T4T_SET_TO_RO_EVT,                       /* Tag is set as read only                  */
1023b7e205c444055b296ef12c94cf0f0114ba56497Jamie Madill    RW_T4T_PRESENCE_CHECK_EVT,                  /* Response to RW_T4tPresenceCheck          */
103f257598999faf907a50d8a9f9eff28dad0ff2628Jamie Madill    RW_T4T_RAW_FRAME_EVT,                       /* Response of raw frame sent               */
1043b7e205c444055b296ef12c94cf0f0114ba56497Jamie Madill    RW_T4T_INTF_ERROR_EVT,                      /* RF Interface error event                 */
1053b7e205c444055b296ef12c94cf0f0114ba56497Jamie Madill    RW_T4T_MAX_EVT,
106ac0a267bd3b2205f310e502fe4ecf9d710af298aJamie Madill
1073b7e205c444055b296ef12c94cf0f0114ba56497Jamie Madill    /* ISO 15693 tag events for tRW_CBACK */
108c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    RW_I93_NDEF_DETECT_EVT = RW_I93_FIRST_EVT,  /* Result of NDEF detection procedure */
109c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    RW_I93_NDEF_READ_EVT,                       /* Segment of data received from tag  */
110c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    RW_I93_NDEF_READ_CPLT_EVT,                  /* Read operation completed           */
111c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    RW_I93_NDEF_READ_FAIL_EVT,                  /* Read operation failed              */
112f6be8d7cbd3abf50ca848cb3a975b86e74c37c2dJamie Madill    RW_I93_NDEF_UPDATE_CPLT_EVT,                /* Update operation completed         */
1133f2e61dea6c447ed7b98483fa0ce9ccc3cb5cc3cJamie Madill    RW_I93_NDEF_UPDATE_FAIL_EVT,                /* Update operation failed            */
1143f2e61dea6c447ed7b98483fa0ce9ccc3cb5cc3cJamie Madill    RW_I93_FORMAT_CPLT_EVT,                     /* Format procedure complete          */
1153f2e61dea6c447ed7b98483fa0ce9ccc3cb5cc3cJamie Madill    RW_I93_SET_TAG_RO_EVT,                      /* Set read-only procedure complete   */
1163f2e61dea6c447ed7b98483fa0ce9ccc3cb5cc3cJamie Madill    RW_I93_INVENTORY_EVT,                       /* Response of Inventory              */
1173f2e61dea6c447ed7b98483fa0ce9ccc3cb5cc3cJamie Madill    RW_I93_DATA_EVT,                            /* Response of Read, Get Multi Security */
1183f2e61dea6c447ed7b98483fa0ce9ccc3cb5cc3cJamie Madill    RW_I93_SYS_INFO_EVT,                        /* Response of System Information     */
1193f2e61dea6c447ed7b98483fa0ce9ccc3cb5cc3cJamie Madill    RW_I93_CMD_CMPL_EVT,                        /* Command complete                   */
1203f2e61dea6c447ed7b98483fa0ce9ccc3cb5cc3cJamie Madill    RW_I93_PRESENCE_CHECK_EVT,                  /* Response to RW_I93PresenceCheck    */
1213f2e61dea6c447ed7b98483fa0ce9ccc3cb5cc3cJamie Madill    RW_I93_RAW_FRAME_EVT,                       /* Response of raw frame sent         */
122a6f267f99e5c49e136511d787e69dd9dcc492be7Jamie Madill    RW_I93_INTF_ERROR_EVT,                      /* RF Interface error event           */
123a6f267f99e5c49e136511d787e69dd9dcc492be7Jamie Madill    RW_I93_MAX_EVT
124a6f267f99e5c49e136511d787e69dd9dcc492be7Jamie Madill};
125a6f267f99e5c49e136511d787e69dd9dcc492be7Jamie Madill
126a6f267f99e5c49e136511d787e69dd9dcc492be7Jamie Madill#define RW_RAW_FRAME_EVT     0xFF
127a6f267f99e5c49e136511d787e69dd9dcc492be7Jamie Madill
128a6f267f99e5c49e136511d787e69dd9dcc492be7Jamie Madilltypedef UINT8 tRW_EVENT;
129a6f267f99e5c49e136511d787e69dd9dcc492be7Jamie Madill
130a6f267f99e5c49e136511d787e69dd9dcc492be7Jamie Madill#define RW_NDEF_FL_READ_ONLY                    0x01    /* Tag is read only              */
131a6f267f99e5c49e136511d787e69dd9dcc492be7Jamie Madill#define RW_NDEF_FL_FORMATED                     0x02    /* Tag formated for NDEF         */
1326d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org#define RW_NDEF_FL_SUPPORTED                    0x04    /* NDEF supported by the tag     */
1336d7b61c2e986dd4fc394097e792bb910324c5ed4shannonwoods@chromium.org#define RW_NDEF_FL_UNKNOWN                      0x08    /* Unable to find if tag is ndef capable/formated/read only */
1341b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill#define RW_NDEF_FL_FORMATABLE                   0x10    /* Tag supports format operation */
135db019952466bf83aafd333554dc550fdb6a1c2dfdaniel@transgaming.com#define RW_NDEF_FL_SOFT_LOCKABLE                0x20    /* Tag can be soft locked */
136ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org#define RW_NDEF_FL_HARD_LOCKABLE                0x40    /* Tag can be hard locked */
137ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org#define RW_NDEF_FL_OTP                          0x80    /* Tag is one time programmable */
138ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
13904fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Langtypedef UINT8 tRW_NDEF_FLAG;
1407a29e4ae3d067afce9779eefc9a67a180da82129Jamie Madill
141c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madilltypedef struct
142c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill{
143c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    tNFC_STATUS     status;
144c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    UINT8           hr[T1T_HR_LEN];
145c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    UINT8           uid[T1T_CMD_UID_LEN];
146c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill} tRW_T1T_RID_EVT;
1477a29e4ae3d067afce9779eefc9a67a180da82129Jamie Madill
148c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madilltypedef struct
149c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill{
150c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    tNFC_STATUS     status;
1518b4f8f8450e0ff89efaca4758406acd06dbd30feJamie Madill    UINT16          msg_len;            /* Length of the NDEF message */
1528b4f8f8450e0ff89efaca4758406acd06dbd30feJamie Madill} tRW_T2T_DETECT;
15304fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang
1548b4f8f8450e0ff89efaca4758406acd06dbd30feJamie Madilltypedef struct
1558b4f8f8450e0ff89efaca4758406acd06dbd30feJamie Madill{
1567a29e4ae3d067afce9779eefc9a67a180da82129Jamie Madill    tNFC_STATUS     status;             /* Status of the POLL request */
157c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    UINT8           rc;                 /* RC (request code) used in the POLL request */
1587a29e4ae3d067afce9779eefc9a67a180da82129Jamie Madill    UINT8           response_num;       /* Number of SENSF_RES responses */
159c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    UINT8           response_bufsize;   /* Size of SENSF_RES responses */
1607a29e4ae3d067afce9779eefc9a67a180da82129Jamie Madill    UINT8           *response_buf;      /* Buffer of responses (length + SENSF_RES) see $8.1.2.2 of NCI specs */
161c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill} tRW_T3T_POLL;
162c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill
163c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madilltypedef struct
164c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill{
165c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    tNFC_STATUS     status;             /* Status of the Get System Codes request */
166c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    UINT8           num_system_codes;   /* Number of system codes */
167c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill    UINT16          *p_system_codes;    /* Table of system codes */
168c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill} tRW_T3T_SYSTEM_CODES;
16904fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang
17004fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Langtypedef struct
17104fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang{
17204fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang    tNFC_STATUS     status;             /* status of NDEF detection */
17304fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang    tNFC_PROTOCOL   protocol;           /* protocol used to detect NDEF */
17404fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang    UINT32          max_size;           /* max number of bytes available for NDEF data */
17504fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang    UINT32          cur_size;           /* current size of stored NDEF data (in bytes) */
17604fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang    tRW_NDEF_FLAG   flags;              /* Flags to indicate NDEF capability,formated,formatable and read only */
17704fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang} tRW_DETECT_NDEF_DATA;
17804fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang
17904fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Langtypedef struct
18048dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang{
18148dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang    tNFC_STATUS     status;             /* status of NDEF detection */
18248dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang    tNFC_PROTOCOL   protocol;           /* protocol used to detect TLV */
18348dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang    UINT8           num_bytes;          /* number of reserved/lock bytes based on the type of tlv */
18448dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang} tRW_DETECT_TLV_DATA;
18548dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang
18648dcae7b217420a7387c84a76651989e6f5f3576Geoff Langtypedef struct
18748dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang{
18848dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang    tNFC_STATUS     status;
18948dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang    BT_HDR         *p_data;
190e87ca0000e1ef1068db2a972f81f55579705f162daniel@transgaming.com} tRW_READ_DATA;
191e87ca0000e1ef1068db2a972f81f55579705f162daniel@transgaming.com
192c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jonestypedef struct
1938ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill{
194c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones    tNFC_STATUS     status;
1958ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill    UINT8           sw1;
1968ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill    UINT8           sw2;
1978ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill} tRW_T4T_SW;
1988ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill
1998ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madilltypedef struct                              /* RW_I93_INVENTORY_EVT        */
200d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill{
2018ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill    tNFC_STATUS     status;                 /* status of Inventory command */
2028ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill    UINT8           dsfid;                  /* DSFID                       */
203ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org    UINT8           uid[I93_UID_BYTE_LEN];  /* UID[0]:MSB, ... UID[7]:LSB  */
204c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones} tRW_I93_INVENTORY;
205c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones
206ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.orgtypedef struct                              /* RW_I93_DATA_EVT               */
207ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org{
208ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org    tNFC_STATUS     status;                 /* status of Read/Get security status command */
209ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org    UINT8           command;                /* sent command                  */
210ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org    BT_HDR         *p_data;                 /* block data of security status */
211ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org} tRW_I93_DATA;
212ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
213ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.orgtypedef struct                              /* RW_I93_SYS_INFO_EVT             */
21404fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang{
215c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones    tNFC_STATUS     status;                 /* status of Get Sys Info command  */
216ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org    UINT8           info_flags;             /* information flags               */
217ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org    UINT8           uid[I93_UID_BYTE_LEN];  /* UID[0]:MSB, ... UID[7]:LSB      */
218e87ca0000e1ef1068db2a972f81f55579705f162daniel@transgaming.com    UINT8           dsfid;                  /* DSFID if I93_INFO_FLAG_DSFID    */
219e87ca0000e1ef1068db2a972f81f55579705f162daniel@transgaming.com    UINT8           afi;                    /* AFI if I93_INFO_FLAG_AFI        */
220e87ca0000e1ef1068db2a972f81f55579705f162daniel@transgaming.com    UINT16          num_block;              /* number of blocks if I93_INFO_FLAG_MEM_SIZE   */
221e87ca0000e1ef1068db2a972f81f55579705f162daniel@transgaming.com    UINT8           block_size;             /* block size in byte if I93_INFO_FLAG_MEM_SIZE */
222e87ca0000e1ef1068db2a972f81f55579705f162daniel@transgaming.com    UINT8           IC_reference;           /* IC Reference if I93_INFO_FLAG_IC_REF         */
22383ac5e827a3c0ff305dea7ecd37d065ed420c93cshannonwoods@chromium.org} tRW_I93_SYS_INFO;
22483ac5e827a3c0ff305dea7ecd37d065ed420c93cshannonwoods@chromium.org
22583ac5e827a3c0ff305dea7ecd37d065ed420c93cshannonwoods@chromium.orgtypedef struct                              /* RW_I93_CMD_CMPL_EVT             */
22683ac5e827a3c0ff305dea7ecd37d065ed420c93cshannonwoods@chromium.org{
22783ac5e827a3c0ff305dea7ecd37d065ed420c93cshannonwoods@chromium.org    tNFC_STATUS     status;                 /* status of sent command          */
228e87ca0000e1ef1068db2a972f81f55579705f162daniel@transgaming.com    UINT8           command;                /* sent command                    */
229e87ca0000e1ef1068db2a972f81f55579705f162daniel@transgaming.com    UINT8           error_code;             /* error code; I93_ERROR_CODE_XXX  */
230e87ca0000e1ef1068db2a972f81f55579705f162daniel@transgaming.com} tRW_I93_CMD_CMPL;
231e87ca0000e1ef1068db2a972f81f55579705f162daniel@transgaming.com
232e87ca0000e1ef1068db2a972f81f55579705f162daniel@transgaming.comtypedef struct
23304fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang{
234ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org    tNFC_STATUS     status;
235aef95dec1cb82857fbe0dd88ad92eb3451e482f2Jamie Madill    BT_HDR         *p_data;
236aef95dec1cb82857fbe0dd88ad92eb3451e482f2Jamie Madill} tRW_RAW_FRAME;
237aef95dec1cb82857fbe0dd88ad92eb3451e482f2Jamie Madill
238aef95dec1cb82857fbe0dd88ad92eb3451e482f2Jamie Madilltypedef union
239aef95dec1cb82857fbe0dd88ad92eb3451e482f2Jamie Madill{
24004fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang    tNFC_STATUS             status;
241aef95dec1cb82857fbe0dd88ad92eb3451e482f2Jamie Madill    tRW_T3T_POLL            t3t_poll;   /* Response to t3t poll command          */
242aef95dec1cb82857fbe0dd88ad92eb3451e482f2Jamie Madill    tRW_T3T_SYSTEM_CODES    t3t_sc;     /* Received system codes from t3 tag     */
243aef95dec1cb82857fbe0dd88ad92eb3451e482f2Jamie Madill    tRW_DETECT_TLV_DATA     tlv;        /* The information of detected TLV data  */
24404fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang    tRW_DETECT_NDEF_DATA    ndef;       /* The information of detected NDEF data */
245aef95dec1cb82857fbe0dd88ad92eb3451e482f2Jamie Madill    tRW_READ_DATA           data;       /* The received data from a tag          */
24604fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang    tRW_RAW_FRAME           raw_frame;  /* Response of raw frame sent            */
24704fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang    tRW_T4T_SW              t4t_sw;     /* Received status words from a tag      */
24804fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang    tRW_I93_INVENTORY       i93_inventory;  /* ISO 15693 Inventory response      */
249aef95dec1cb82857fbe0dd88ad92eb3451e482f2Jamie Madill    tRW_I93_DATA            i93_data;       /* ISO 15693 Data response           */
25004fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang    tRW_I93_SYS_INFO        i93_sys_info;   /* ISO 15693 System Information      */
25104fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang    tRW_I93_CMD_CMPL        i93_cmd_cmpl;   /* ISO 15693 Command complete        */
25204fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang} tRW_DATA;
25304fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang
25404fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang
25504fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Langtypedef void (tRW_CBACK) (tRW_EVENT event, tRW_DATA *p_data);
25604fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang
25704fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang/*******************************************************************************
25804fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**
25904fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang** Function         RW_T1tRid
26004fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**
26104fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang** Description      This function send a RID command for Reader/Writer mode.
26204fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**
26304fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang** Returns          tNFC_STATUS
26404fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**
26504fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang*******************************************************************************/
26604fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff LangNFC_API extern tNFC_STATUS RW_T1tRid (void);
26722502d52956364879e2bd2feb8516a983714eb45Brandon Jones
26822502d52956364879e2bd2feb8516a983714eb45Brandon Jones/*******************************************************************************
26904fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**
27004fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang** Function         RW_T1tReadAll
27104fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**
27204fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang** Description      This function send a RALL command for Reader/Writer mode.
27304fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**
27404fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang** Returns          tNFC_STATUS
27504fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**
27604fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang*******************************************************************************/
27704fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff LangNFC_API extern tNFC_STATUS RW_T1tReadAll (void);
27804fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang
27904fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang/*******************************************************************************
28004fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**
28104fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang** Function         RW_T1tRead
282ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
283ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Description      This function send a READ command for Reader/Writer mode.
2847a29e4ae3d067afce9779eefc9a67a180da82129Jamie Madill**
285ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Returns          tNFC_STATUS
2867a29e4ae3d067afce9779eefc9a67a180da82129Jamie Madill**
287c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones*******************************************************************************/
2887a29e4ae3d067afce9779eefc9a67a180da82129Jamie MadillNFC_API extern tNFC_STATUS RW_T1tRead (UINT8 block, UINT8 byte);
289c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill
290c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill/*******************************************************************************
2917a29e4ae3d067afce9779eefc9a67a180da82129Jamie Madill**
292c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill** Function         RW_T1tWriteErase
293c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill**
294c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill** Description      This function send a WRITE-E command for Reader/Writer mode.
295c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill**
296c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill** Returns          tNFC_STATUS
297c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill**
29822502d52956364879e2bd2feb8516a983714eb45Brandon Jones*******************************************************************************/
29922502d52956364879e2bd2feb8516a983714eb45Brandon JonesNFC_API extern tNFC_STATUS RW_T1tWriteErase (UINT8 block, UINT8 byte, UINT8 new_byte);
300c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill
301c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill/*******************************************************************************
302c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill**
303c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill** Function         RW_T1tWriteNoErase
304c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill**
305c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill** Description      This function send a WRITE-NE command for Reader/Writer mode.
306c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill**
307c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill** Returns          tNFC_STATUS
308c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill**
30904fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang*******************************************************************************/
310c5a8300026be5bd38ca022211ce7e078e92b9377Jamie MadillNFC_API extern tNFC_STATUS RW_T1tWriteNoErase (UINT8 block, UINT8 byte, UINT8 new_byte);
311c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill
312c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill/*******************************************************************************
313ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
314ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T1tReadSeg
3158ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill**
3163e773bb4f1a2202d02a546d18ca6e8d9d2440006shannon.woods@transgaming.com** Description      This function send a RSEG command for Reader/Writer mode.
3173e773bb4f1a2202d02a546d18ca6e8d9d2440006shannon.woods@transgaming.com**
3183e773bb4f1a2202d02a546d18ca6e8d9d2440006shannon.woods@transgaming.com** Returns          tNFC_STATUS
3193e773bb4f1a2202d02a546d18ca6e8d9d2440006shannon.woods@transgaming.com**
320ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*******************************************************************************/
321ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.orgNFC_API extern tNFC_STATUS RW_T1tReadSeg (UINT8 segment);
322ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
323ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org/*******************************************************************************
324ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
325ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T1tRead8
326ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
327ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Description      This function send a READ8 command for Reader/Writer mode.
328ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
329ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Returns          tNFC_STATUS
330ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
331ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*******************************************************************************/
332ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.orgNFC_API extern tNFC_STATUS RW_T1tRead8 (UINT8 block);
333ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
334ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org/*******************************************************************************
335ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
336ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T1tWriteErase8
337ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
338ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Description      This function send a WRITE-E8 command for Reader/Writer mode.
3391b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
340ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Returns          tNFC_STATUS
341ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
342ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*******************************************************************************/
343ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.orgNFC_API extern tNFC_STATUS RW_T1tWriteErase8 (UINT8 block, UINT8 *p_new_dat);
344ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
345ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org/*******************************************************************************
346ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
347ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T1tWriteNoErase8
348ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
349ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Description      This function send a WRITE-NE8 command for Reader/Writer mode.
350ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
351ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Returns          tNFC_STATUS
352ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
353ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*******************************************************************************/
354ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.orgNFC_API extern tNFC_STATUS RW_T1tWriteNoErase8 (UINT8 block, UINT8 *p_new_dat);
355ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
356ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org/*******************************************************************************
357ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
358087e57890abbf89bc36e8769abdb1354ba6aeb06daniel@transgaming.com** Function         RW_T1tLocateTlv
359087e57890abbf89bc36e8769abdb1354ba6aeb06daniel@transgaming.com**
360087e57890abbf89bc36e8769abdb1354ba6aeb06daniel@transgaming.com** Description      This function is called to find the start of the given TLV
361087e57890abbf89bc36e8769abdb1354ba6aeb06daniel@transgaming.com**
362087e57890abbf89bc36e8769abdb1354ba6aeb06daniel@transgaming.com** Parameters:      void
3633e773bb4f1a2202d02a546d18ca6e8d9d2440006shannon.woods@transgaming.com**
3643e773bb4f1a2202d02a546d18ca6e8d9d2440006shannon.woods@transgaming.com** Returns          NCI_STATUS_OK, if detection was started. Otherwise, error status.
365c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones**
3663e773bb4f1a2202d02a546d18ca6e8d9d2440006shannon.woods@transgaming.com*******************************************************************************/
3673e773bb4f1a2202d02a546d18ca6e8d9d2440006shannon.woods@transgaming.comNFC_API extern tNFC_STATUS RW_T1tLocateTlv (UINT8 tlv_type);
3683e773bb4f1a2202d02a546d18ca6e8d9d2440006shannon.woods@transgaming.com
3693e773bb4f1a2202d02a546d18ca6e8d9d2440006shannon.woods@transgaming.com/*******************************************************************************
3703e773bb4f1a2202d02a546d18ca6e8d9d2440006shannon.woods@transgaming.com**
3713e773bb4f1a2202d02a546d18ca6e8d9d2440006shannon.woods@transgaming.com** Function         RW_T1tDetectNDef
3723e773bb4f1a2202d02a546d18ca6e8d9d2440006shannon.woods@transgaming.com**
37343a53e2434f4fe042bee061fc369a93314b710deBrandon Jones** Description      This function can be called to detect if there is an NDEF
374ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  message on the tag.
375ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
376ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Parameters:      void
377ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
378ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Returns          NCI_STATUS_OK, if detection was started. Otherwise, error status.
379ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
38076b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang*******************************************************************************/
38176b10c9a9735c27627065d9fe68f78374ef48934Geoff LangNFC_API extern tNFC_STATUS RW_T1tDetectNDef (void);
382ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
383ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org/*******************************************************************************
384ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
385ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T1tReadNDef
386ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
38776b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang** Description      This function can be called to read the NDEF message on the tag.
38876b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang**
389ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Parameters:      p_buffer:   The buffer into which to read the NDEF message
390ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  buf_len:    The length of the buffer
391ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
392ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Returns          NCI_STATUS_OK, if read was started. Otherwise, error status.
393ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
394ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*******************************************************************************/
395ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.orgNFC_API extern tNFC_STATUS RW_T1tReadNDef (UINT8 *p_buffer, UINT16 buf_len);
39643a53e2434f4fe042bee061fc369a93314b710deBrandon Jones
397ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org/*******************************************************************************
398ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
399ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T1tWriteNDef
400ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
401ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Description      This function can be called to write an NDEF message to the tag.
402ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
403ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Parameters:      msg_len:    The length of the buffer
404ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  p_msg:      The NDEF message to write
405ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
40676b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang** Returns          NCI_STATUS_OK, if write was started. Otherwise, error status.
407ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
408ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*******************************************************************************/
409ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.orgNFC_API extern tNFC_STATUS RW_T1tWriteNDef (UINT16 msg_len, UINT8 *p_msg);
410ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
41176b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang/*******************************************************************************
412ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
413ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T1tSetTagReadOnly
414ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
41576b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang** Description      This function can be called to set the tag in to read only
416ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  state
417ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
418ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Parameters:      b_hard_lock: To hard lock or just soft lock the tag
419ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
420ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Returns          NCI_STATUS_OK, if set readonly operation started.
42176b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang**                                 Otherwise, error status.
422ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
423ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*******************************************************************************/
424ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.orgNFC_API extern tNFC_STATUS RW_T1tSetTagReadOnly (BOOLEAN b_hard_lock);
425ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
4268ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill/*****************************************************************************
427ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
428ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T1tPresenceCheck
429ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
430ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Description
4310ee85f8899cec0aa73463562aedca464883b4018shannonwoods@chromium.org**      Check if the tag is still in the field.
432ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
4330ee85f8899cec0aa73463562aedca464883b4018shannonwoods@chromium.org**      The RW_T1T_PRESENCE_CHECK_EVT w/ status is used to indicate presence
4340ee85f8899cec0aa73463562aedca464883b4018shannonwoods@chromium.org**      or non-presence.
4350ee85f8899cec0aa73463562aedca464883b4018shannonwoods@chromium.org**
4361b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill** Returns
4370ee85f8899cec0aa73463562aedca464883b4018shannonwoods@chromium.org**      NFC_STATUS_OK, if raw data frame sent
4380ee85f8899cec0aa73463562aedca464883b4018shannonwoods@chromium.org**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
4390ee85f8899cec0aa73463562aedca464883b4018shannonwoods@chromium.org**      NFC_STATUS_FAILED: other error
4400ee85f8899cec0aa73463562aedca464883b4018shannonwoods@chromium.org**
441ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*****************************************************************************/
442ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.orgNFC_API extern tNFC_STATUS RW_T1tPresenceCheck (void);
443ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
444ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org/*****************************************************************************
445ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
446ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T1tFormatNDef
447c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org**
448c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org** Description
4498ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill**      Format Tag content
450c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org**
451c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org** Returns
452c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org**      NFC_STATUS_OK, Command sent to format Tag
453c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org**      NFC_STATUS_REJECTED: Invalid HR0 and cannot format the tag
454c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org**      NFC_STATUS_FAILED: other error
455c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org**
456c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org*****************************************************************************/
457c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.orgtNFC_STATUS RW_T1tFormatNDef (void);
458c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org
459c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org/*******************************************************************************
460c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org**
461c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org** Function         RW_T2tLocateTlv
462c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org**
463c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org** Description      This function is called to find the start of the given TLV
464c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org**
465c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org** Returns          Pointer to the TLV, if successful. Otherwise, NULL.
466c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org**
467c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org*******************************************************************************/
468c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.orgNFC_API extern tNFC_STATUS RW_T2tLocateTlv(UINT8 tlv_type);
469c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org
470c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org/*******************************************************************************
471c2ed991c7d844ff347ab4ce5945843a39f3bea47shannonwoods@chromium.org**
4724276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org** Function         RW_T2tRead
4734276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org**
4748ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill** Description      This function issues the Type 2 Tag READ command. When the
4754276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org**                  operation is complete the callback function will be called
4764276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org**                  with a RW_T2T_READ_EVT.
4774276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org**
4784276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org** Returns          tNFC_STATUS
4794276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org**
4804276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org*******************************************************************************/
4814276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.orgNFC_API extern tNFC_STATUS RW_T2tRead (UINT16 block);
4824276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org
4834276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org/*******************************************************************************
4844276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org**
4854276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org** Function         RW_T2tWrite
4864276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org**
4874276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org** Description      This function issues the Type 2 Tag WRITE command. When the
4884276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org**                  operation is complete the callback function will be called
4894276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org**                  with a RW_T2T_WRITE_EVT.
4904276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org**
4914276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org**                  p_write_data points to the array of 4 bytes to be written
4924276625286ffa9f4f481e721e8df51844036ea76shannonwoods@chromium.org**
4931bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org** Returns          tNFC_STATUS
4941bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**
4951bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org*******************************************************************************/
4961bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.orgNFC_API extern tNFC_STATUS RW_T2tWrite (UINT16 block, UINT8 *p_write_data);
4971bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org
4981bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org/*******************************************************************************
499d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill**
500d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill** Function         RW_T2tSectorSelect
501d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill**
502d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill** Description      This function issues the Type 2 Tag SECTOR-SELECT command
5038ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill**                  packet 1. If a NACK is received as the response, the callback
504d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill**                  function will be called with a RW_T2T_SECTOR_SELECT_EVT. If
505d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill**                  an ACK is received as the response, the command packet 2 with
506d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill**                  the given sector number is sent to the peer device. When the
507d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill**                  response for packet 2 is received, the callback function will
508d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill**                  be called with a RW_T2T_SECTOR_SELECT_EVT.
509d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill**
510d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill**                  A sector is 256 contiguous blocks (1024 bytes).
511d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill**
512d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill** Returns          tNFC_STATUS
513d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill**
514d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill*******************************************************************************/
515d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie MadillNFC_API extern tNFC_STATUS RW_T2tSectorSelect (UINT8 sector);
516d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill
517d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4bJamie Madill/*******************************************************************************
51848dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang**
51948dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang** Function         RW_T2tDetectNDef
52048dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang**
52148dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang** Description      This function will find NDEF message if any in the Tag
52248dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang**
52348dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang** Returns          tNFC_STATUS
52448dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang**
52548dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang*******************************************************************************/
52648dcae7b217420a7387c84a76651989e6f5f3576Geoff LangNFC_API extern tNFC_STATUS RW_T2tDetectNDef (BOOLEAN skip_dyn_locks);
52748dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang
52848dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang/*******************************************************************************
52948dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang**
53048dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang** Function         RW_T2tReadNDef
53148dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang**
53248dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang** Description      This function can be called to read the NDEF message on the tag.
5338a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com**
534ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang** Parameters:      p_buffer:   The buffer into which to read the NDEF message
535ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**                  buf_len:    The length of the buffer
536ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**
537ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang** Returns          NCI_STATUS_OK, if read was started. Otherwise, error status.
538ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**
539ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang*******************************************************************************/
540ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff LangNFC_API extern tNFC_STATUS RW_T2tReadNDef (UINT8 *p_buffer, UINT16 buf_len);
541ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang
542ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang/*******************************************************************************
543ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**
5443639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill** Function         RW_T2tWriteNDef
545ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
546f257598999faf907a50d8a9f9eff28dad0ff2628Jamie Madill** Description      This function can be called to write an NDEF message to the tag.
547f257598999faf907a50d8a9f9eff28dad0ff2628Jamie Madill**
5488a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com** Parameters:      msg_len:    The length of the buffer
5493639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**                  p_msg:      The NDEF message to write
550ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
55115de0f9be8120f2a09c1eb36e0b059b65561c9e2shannon.woods@transgaming.com** Returns          NCI_STATUS_OK, if write was started. Otherwise, error status.
552ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
55315de0f9be8120f2a09c1eb36e0b059b65561c9e2shannon.woods@transgaming.com*******************************************************************************/
55415de0f9be8120f2a09c1eb36e0b059b65561c9e2shannon.woods@transgaming.comNFC_API extern tNFC_STATUS RW_T2tWriteNDef (UINT16 msg_len, UINT8 *p_msg );
5558a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com
55615de0f9be8120f2a09c1eb36e0b059b65561c9e2shannon.woods@transgaming.com/*******************************************************************************
557be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**
558ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T2tSetTagReadOnly
559ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
560ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Description      This function can be called to set the tag in to read only
56161f541802f0aecd106f8feaf4ef6dd003cc4aee9Geoff Lang**                  state
56261f541802f0aecd106f8feaf4ef6dd003cc4aee9Geoff Lang**
56361f541802f0aecd106f8feaf4ef6dd003cc4aee9Geoff Lang** Parameters:      b_hard_lock:   To indicate hard lock the tag or not
5648a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com**
5658a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com** Returns          NCI_STATUS_OK, if set readonly operation started.
56661f541802f0aecd106f8feaf4ef6dd003cc4aee9Geoff Lang**                                 Otherwise, error status.
5678a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com**
5688a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com*******************************************************************************/
5698a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.comNFC_API extern tNFC_STATUS RW_T2tSetTagReadOnly (BOOLEAN b_hard_lock);
57061f541802f0aecd106f8feaf4ef6dd003cc4aee9Geoff Lang
5718a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com/*****************************************************************************
572ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
573ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T2tPresenceCheck
5748a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com**
575ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Description
576be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**      Check if the tag is still in the field.
577ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
5782494c97a0e266f7c7795bd71e1686904a75087e3shannon.woods@transgaming.com**      The RW_T2T_PRESENCE_CHECK_EVT w/ status is used to indicate presence
579ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      or non-presence.
58061f541802f0aecd106f8feaf4ef6dd003cc4aee9Geoff Lang**
58161f541802f0aecd106f8feaf4ef6dd003cc4aee9Geoff Lang** Returns
58261f541802f0aecd106f8feaf4ef6dd003cc4aee9Geoff Lang**      NFC_STATUS_OK, if raw data frame sent
5838a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
5848a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_FAILED: other error
58561f541802f0aecd106f8feaf4ef6dd003cc4aee9Geoff Lang**
5868a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com*****************************************************************************/
5878a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.comNFC_API extern tNFC_STATUS RW_T2tPresenceCheck (void);
5888a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com
58961f541802f0aecd106f8feaf4ef6dd003cc4aee9Geoff Lang/*****************************************************************************
5908a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com**
591ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T2tFormatNDef
592ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
593be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang** Description
594be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**      Format Tag content
595be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**
596be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang** Returns
597be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**      NFC_STATUS_OK, Command sent to format Tag
598be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**      NFC_STATUS_FAILED: otherwise
599be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**
600be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang*****************************************************************************/
601be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff LangtNFC_STATUS RW_T2tFormatNDef (void);
602be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang
603be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang/*****************************************************************************
604be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**
605be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang** Function         RW_T3tDetectNDef
606be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**
607be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang** Description
608be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**      This function is used to perform NDEF detection on a Type 3 tag, and
609be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**      retrieve the tag's NDEF attribute information (block 0).
610be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**
611be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**      Before using this API, the application must call RW_SelectTagType to
612be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**      indicate that a Type 3 tag has been activated, and to provide the
613be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**      tag's Manufacture ID (IDm) .
614be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**
615be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang** Returns
616be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**      NFC_STATUS_OK: ndef detection procedure started
6173639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
618ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      NFC_STATUS_FAILED: other error
619ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
6203639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill*****************************************************************************/
621ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.orgNFC_API extern tNFC_STATUS RW_T3tDetectNDef (void);
6223639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill
6238a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com/*****************************************************************************
624ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
6253639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill** Function         RW_T3tFormatNDef
6268a19eed917b5f0354937567ca15fa755e0116ffashannon.woods%transgaming.com@gtempaccount.com**
6273639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill** Description
628ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      Format a type-3 tag for NDEF.
629ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
6303639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**      Only Felica-Lite tags are supported by this API. The
631ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      RW_T3T_FORMAT_CPLT_EVT is used to notify the status of the operation.
6323639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
633ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Returns
634ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      NFC_STATUS_OK: ndef detection procedure started
6353639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
636ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      NFC_STATUS_FAILED: other error
6373639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
638ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*****************************************************************************/
639ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.orgNFC_API extern tNFC_STATUS RW_T3tFormatNDef (void);
640cc62facbe9c5188cd7d71059d58b4d9f9f2a3c99shannon.woods%transgaming.com@gtempaccount.com
641ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang/*****************************************************************************
642ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
643ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang** Function         RW_T3tSetReadOnly
6442c2b82bd10bd0136613cf30a0977966abf5aa257shannonwoods@chromium.org**
6452c2b82bd10bd0136613cf30a0977966abf5aa257shannonwoods@chromium.org** Description
646ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      Set a type-3 tag to Read Only
647ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
648ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      Only Felica-Lite tags are supported by this API.
649ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      RW_T3tDetectNDef() must be called before using this
650ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      The RW_T3T_SET_READ_ONLY_CPLT_EVT event will be returned.
651ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**
652ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Returns
653ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      NFC_STATUS_OK if success
654ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      NFC_STATUS_FAILED if T3T is busy or other error
655cc62facbe9c5188cd7d71059d58b4d9f9f2a3c99shannon.woods%transgaming.com@gtempaccount.com**
656ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*****************************************************************************/
657cc62facbe9c5188cd7d71059d58b4d9f9f2a3c99shannon.woods%transgaming.com@gtempaccount.comNFC_API extern tNFC_STATUS RW_T3tSetReadOnly (BOOLEAN b_hard_lock);
658ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
659ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang/*****************************************************************************
660ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
661ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T3tCheckNDef
662ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
663cc62facbe9c5188cd7d71059d58b4d9f9f2a3c99shannon.woods%transgaming.com@gtempaccount.com** Description
664ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      Retrieve NDEF contents from a Type3 tag.
665ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
666ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      The RW_T3T_CHECK_EVT event is used to notify the application for each
667ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**      segment of NDEF data received. The RW_T3T_CHECK_CPLT_EVT event is used to
668ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      notify the application all segments have been received.
669ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
670ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**      Before using this API, the RW_T3tDetectNDef function must be called to
671ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**      verify that the tag contains NDEF data, and to retrieve the NDEF
672ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      attributes.
673ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
674a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      Internally, this command will be separated into multiple Tag 3 Check
675ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**      commands (if necessary) - depending on the tag's Nbr (max number of
676a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      blocks per read) attribute.
677ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**
678a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com** Returns
679a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_OK: check command started
680a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
681a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_FAILED: other error
682a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**
683a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com*****************************************************************************/
684a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.comNFC_API extern tNFC_STATUS RW_T3tCheckNDef (void);
685ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang
686a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com/*****************************************************************************
687a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**
688a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com** Function         RW_T3tUpdateNDef
689a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**
690a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com** Description
691a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      Write NDEF contents to a Type3 tag.
692a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**
693ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**      The RW_T3T_UPDATE_CPLT_EVT callback event will be used to notify the
694a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      application of the response.
695a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**
696a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      Before using this API, the RW_T3tDetectNDef function must be called to
697a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      verify that the tag contains NDEF data, and to retrieve the NDEF
698a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      attributes.
699a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**
700a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      Internally, this command will be separated into multiple Tag 3 Update
701ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**      commands (if necessary) - depending on the tag's Nbw (max number of
702a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      blocks per write) attribute.
703a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**
704ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang** Returns
705ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**      NFC_STATUS_OK: check command started
706a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
707a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_REFUSED: tag is read-only
70836c76a9156161c560cb923a4041416a230baafd6shannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_BUFFER_FULL: len exceeds tag's maximum size
7093639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**      NFC_STATUS_FAILED: other error
710ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
7113639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill*****************************************************************************/
712ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.orgNFC_API extern tNFC_STATUS RW_T3tUpdateNDef (UINT32 len, UINT8 *p_data);
713e6d12e9d68141460f9adfe135a5741673a41eae5daniel@transgaming.com
714ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org/*****************************************************************************
715e6d12e9d68141460f9adfe135a5741673a41eae5daniel@transgaming.com**
7162c2b82bd10bd0136613cf30a0977966abf5aa257shannonwoods@chromium.org** Function         RW_T3tCheck
7172c2b82bd10bd0136613cf30a0977966abf5aa257shannonwoods@chromium.org**
7182494c97a0e266f7c7795bd71e1686904a75087e3shannon.woods@transgaming.com** Description
719ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      Read (non-NDEF) contents from a Type3 tag.
720ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
721a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      The RW_READ_EVT event is used to notify the application for each
722a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      segment of NDEF data received. The RW_READ_CPLT_EVT event is used to
723a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      notify the application all segments have been received.
724ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**
725a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      Before using this API, the application must call RW_SelectTagType to
726a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      indicate that a Type 3 tag has been activated, and to provide the
727a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com**      tag's Manufacture ID (IDm) .
728ae1990c8a5faddcc0fb3d137b389fa6f22ba826bGeoff Lang**
729a741b641ed8120c7f3b42ef5f22f4b268db9722eshannon.woods%transgaming.com@gtempaccount.com** Returns
7302c2b82bd10bd0136613cf30a0977966abf5aa257shannonwoods@chromium.org**      NFC_STATUS_OK: check command started
73136c76a9156161c560cb923a4041416a230baafd6shannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
732ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      NFC_STATUS_FAILED: other error
733ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
734ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*****************************************************************************/
7353639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie MadillNFC_API extern tNFC_STATUS RW_T3tCheck (UINT8 num_blocks, tT3T_BLOCK_DESC *t3t_blocks);
736ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
7373639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill/*****************************************************************************
738ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
739ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T3tUpdate
7403639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
74136c76a9156161c560cb923a4041416a230baafd6shannon.woods%transgaming.com@gtempaccount.com** Description
7423639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**      Write (non-NDEF) contents to a Type3 tag.
74336c76a9156161c560cb923a4041416a230baafd6shannon.woods%transgaming.com@gtempaccount.com**
744ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      The RW_WRITE_CPLT_EVT event is used to notify the application all
7453639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**      segments have been received.
746ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
7473639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**      Before using this API, the application must call RW_SelectTagType to
748ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      indicate that a Type 3 tag has been activated, and to provide the tag's
749ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      Manufacture ID (IDm) .
7503639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
751f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com** Returns
7523639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**      NFC_STATUS_OK: check command started
753f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
754f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_FAILED: other error
7553639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
756f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com*****************************************************************************/
7573639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie MadillNFC_API extern tNFC_STATUS RW_T3tUpdate (UINT8 num_blocks, tT3T_BLOCK_DESC *t3t_blocks, UINT8 *p_data);
758f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com
759f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com/*****************************************************************************
7603639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
761f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com** Function         RW_T3tSendRawFrame
7623639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
763f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com** Description
764f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com**      This function is called to send a raw data frame to the peer device.
7653639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**      When type 3 tag receives response from peer, the callback function
766f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com**      will be called with a RW_T3T_RAW_FRAME_EVT [Table 6].
7673639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
768f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com**      Before using this API, the application must call RW_SelectTagType to
769f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com**      indicate that a Type 3 tag has been activated.
7703639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
771f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com**      The raw frame should be a properly formatted Type 3 tag message.
7723639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
773f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com** Returns
774f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_OK, if raw data frame sent
7753639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
776f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_FAILED: other error
7773639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
778f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.com*****************************************************************************/
779f130616e19a84f5b991aec4327ab041094d47b02shannon.woods%transgaming.com@gtempaccount.comNFC_API extern tNFC_STATUS RW_T3tSendRawFrame (UINT16 len, UINT8 *p_data);
7803639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill
781ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org/*****************************************************************************
782be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672Geoff Lang**
783ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T3tPoll
784ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
7853639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill** Description
786ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      Send POLL command
7873639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
788ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Returns
789ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      NFC_STATUS_OK, if raw data frame sent
7903639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
791ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      NFC_STATUS_FAILED: other error
7923639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
793ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*****************************************************************************/
794ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.orgNFC_API extern tNFC_STATUS RW_T3tPoll (UINT16 system_code, tT3T_POLL_RC rc, UINT8 tsn);
7953639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill
796ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org/*****************************************************************************
7973639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
798ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T3tPresenceCheck
799ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
8003639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill** Description
80150ea4ab5e484f7d95e4d47a0bef50ca851acd63eshannon.woods%transgaming.com@gtempaccount.com**      Check if the tag is still in the field.
8023639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
80350ea4ab5e484f7d95e4d47a0bef50ca851acd63eshannon.woods%transgaming.com@gtempaccount.com**      The RW_T3T_PRESENCE_CHECK_EVT w/ status is used to indicate presence
80450ea4ab5e484f7d95e4d47a0bef50ca851acd63eshannon.woods%transgaming.com@gtempaccount.com**      or non-presence.
8053639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
80650ea4ab5e484f7d95e4d47a0bef50ca851acd63eshannon.woods%transgaming.com@gtempaccount.com** Returns
8073639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**      NFC_STATUS_OK, if raw data frame sent
80850ea4ab5e484f7d95e4d47a0bef50ca851acd63eshannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
80950ea4ab5e484f7d95e4d47a0bef50ca851acd63eshannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_FAILED: other error
8103639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
81150ea4ab5e484f7d95e4d47a0bef50ca851acd63eshannon.woods%transgaming.com@gtempaccount.com*****************************************************************************/
8123639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie MadillNFC_API extern tNFC_STATUS RW_T3tPresenceCheck (void);
81350ea4ab5e484f7d95e4d47a0bef50ca851acd63eshannon.woods%transgaming.com@gtempaccount.com
81450ea4ab5e484f7d95e4d47a0bef50ca851acd63eshannon.woods%transgaming.com@gtempaccount.com/*****************************************************************************
8153639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
81650ea4ab5e484f7d95e4d47a0bef50ca851acd63eshannon.woods%transgaming.com@gtempaccount.com** Function         RW_T3tGetSystemCodes
8173639892dee8ec8cecf4bae4b0585a7cefde98d80Jamie Madill**
81850ea4ab5e484f7d95e4d47a0bef50ca851acd63eshannon.woods%transgaming.com@gtempaccount.com** Description
81950ea4ab5e484f7d95e4d47a0bef50ca851acd63eshannon.woods%transgaming.com@gtempaccount.com**      Get systems codes supported by the activated tag:
8204590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com**              Poll for wildcard (FFFF):
82199a1e985196cab0ab309209fe8319f6bdbe1dd20Jamie Madill**                  - If felica-lite code then poll for ndef (12fc)
822ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  - Otherwise send RequestSystmCode command to get
823834e8b7715c25e299c07c9d63f5be0a0ee6c5856Jamie Madill**                    system codes.
824ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
825f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com**      Before using this API, the application must call RW_SelectTagType to
826ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**      indicate that a Type 3 tag has been activated.
827f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com**
828f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com** Returns
829f07558ac8c3b30950cbd899d72da56692d2725f1Jamie Madill**      NFC_STATUS_OK, if raw data frame sent
830f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
831f257598999faf907a50d8a9f9eff28dad0ff2628Jamie Madill**      NFC_STATUS_FAILED: other error
8324590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com**
833f257598999faf907a50d8a9f9eff28dad0ff2628Jamie Madill*****************************************************************************/
8344590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.comNFC_API extern tNFC_STATUS RW_T3tGetSystemCodes (void);
8354590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com
8364590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com/*******************************************************************************
837f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com**
838f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com** Function         RW_T4tDetectNDef
839f257598999faf907a50d8a9f9eff28dad0ff2628Jamie Madill**
840f257598999faf907a50d8a9f9eff28dad0ff2628Jamie Madill** Description      This function performs NDEF detection procedure
841f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com**
842f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com**                  RW_T4T_NDEF_DETECT_EVT will be returned
843ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
844f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com** Returns          NFC_STATUS_OK if success
845ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  NFC_STATUS_FAILED if T4T is busy or other error
846f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com**
847ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*******************************************************************************/
8484590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.comNFC_API extern tNFC_STATUS RW_T4tDetectNDef (void);
849f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com
850f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com/*******************************************************************************
851f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com**
8524590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com** Function         RW_T4tReadNDef
853f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com**
854f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com** Description      This function performs NDEF read procedure
8554590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com**                  Note: RW_T4tDetectNDef() must be called before using this
856ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
857f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com**                  The following event will be returned
858f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com**                      RW_T4T_NDEF_READ_EVT for each segmented NDEF message
8594590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com**                      RW_T4T_NDEF_READ_CPLT_EVT for the last segment or complete NDEF
860ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                      RW_T4T_NDEF_READ_FAIL_EVT for failure
861ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
862f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com** Returns          NFC_STATUS_OK if success
863ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  NFC_STATUS_FAILED if T4T is busy or other error
8644590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com**
865ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*******************************************************************************/
8664590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.comNFC_API extern tNFC_STATUS RW_T4tReadNDef (void);
867ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
868f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com/*******************************************************************************
869ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
8704590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com** Function         RW_T4tUpdateNDef
871f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com**
872f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com** Description      This function performs NDEF update procedure
873f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com**                  Note: RW_T4tDetectNDef() must be called before using this
8741b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                        Updating data must not be removed until returning event
875e229012c1479ef9e93fa6f3078619142104455dbshannon.woods%transgaming.com@gtempaccount.com**
876e229012c1479ef9e93fa6f3078619142104455dbshannon.woods%transgaming.com@gtempaccount.com**                  The following event will be returned
877e229012c1479ef9e93fa6f3078619142104455dbshannon.woods%transgaming.com@gtempaccount.com**                      RW_T4T_NDEF_UPDATE_CPLT_EVT for complete
878ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                      RW_T4T_NDEF_UPDATE_FAIL_EVT for failure
879e229012c1479ef9e93fa6f3078619142104455dbshannon.woods%transgaming.com@gtempaccount.com**
880e229012c1479ef9e93fa6f3078619142104455dbshannon.woods%transgaming.com@gtempaccount.com** Returns          NFC_STATUS_OK if success
881e229012c1479ef9e93fa6f3078619142104455dbshannon.woods%transgaming.com@gtempaccount.com**                  NFC_STATUS_FAILED if T4T is busy or other error
882e229012c1479ef9e93fa6f3078619142104455dbshannon.woods%transgaming.com@gtempaccount.com**
883e229012c1479ef9e93fa6f3078619142104455dbshannon.woods%transgaming.com@gtempaccount.com*******************************************************************************/
884e229012c1479ef9e93fa6f3078619142104455dbshannon.woods%transgaming.com@gtempaccount.comNFC_API extern tNFC_STATUS RW_T4tUpdateNDef (UINT16 length, UINT8 *p_data);
8851b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill
886f48956196a4ee245ae682d0c99dd2403de6db425shannon.woods%transgaming.com@gtempaccount.com/*****************************************************************************
887ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
888ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T4tPresenceCheck
889ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
890ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Description
89199a1e985196cab0ab309209fe8319f6bdbe1dd20Jamie Madill**      Check if the tag is still in the field.
8924590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com**
89399a1e985196cab0ab309209fe8319f6bdbe1dd20Jamie Madill**      The RW_T4T_PRESENCE_CHECK_EVT w/ status is used to indicate presence
8944590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com**      or non-presence.
8954590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com**
89699a1e985196cab0ab309209fe8319f6bdbe1dd20Jamie Madill** Returns
8974590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_OK, if raw data frame sent
89899a1e985196cab0ab309209fe8319f6bdbe1dd20Jamie Madill**      NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
8994590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com**      NFC_STATUS_FAILED: other error
9004590d89dd7903aa9e809bdca8bcbe5af422c8710shannon.woods%transgaming.com@gtempaccount.com**
90199a1e985196cab0ab309209fe8319f6bdbe1dd20Jamie Madill*****************************************************************************/
902e229012c1479ef9e93fa6f3078619142104455dbshannon.woods%transgaming.com@gtempaccount.comNFC_API extern tNFC_STATUS RW_T4tPresenceCheck (void);
90399a1e985196cab0ab309209fe8319f6bdbe1dd20Jamie Madill
904e229012c1479ef9e93fa6f3078619142104455dbshannon.woods%transgaming.com@gtempaccount.com/*****************************************************************************
905e229012c1479ef9e93fa6f3078619142104455dbshannon.woods%transgaming.com@gtempaccount.com**
906ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_T4tSetNDefReadOnly
907ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
908ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Description      This function performs NDEF read-only procedure
909ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  Note: RW_T4tDetectNDef() must be called before using this
910ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
911ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  The RW_T4T_SET_TO_RO_EVT event will be returned.
912ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
913ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Returns          NFC_STATUS_OK if success
914ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  NFC_STATUS_FAILED if T4T is busy or other error
915d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill**
916ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*****************************************************************************/
917d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie MadillNFC_API extern tNFC_STATUS RW_T4tSetNDefReadOnly (void);
918d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill
919d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill/*******************************************************************************
920d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill**
921d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill** Function         RW_I93Inventory
922d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill**
923d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill** Description      This function send Inventory command with/without AFI
924b6e55102440fb32157ee2cbc2d35aa21d46454f7daniel@transgaming.com**                  If UID is provided then set UID[0]:MSB, ... UID[7]:LSB
9258ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill**
92677fbf973b3da9d411e6e1bba47d7f2ebd5aa6c11daniel@transgaming.com**                  RW_I93_RESPONSE_EVT will be returned
927834e8b7715c25e299c07c9d63f5be0a0ee6c5856Jamie Madill**
928ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Returns          NFC_STATUS_OK if success
929ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  NFC_STATUS_NO_BUFFERS if out of buffer
930ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  NFC_STATUS_FAILED if T4T is busy or other error
931e60508840c2cf59c0fd6f8986d8c80c9f7425615Nicolas Capens**
932ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*******************************************************************************/
933e6d12e9d68141460f9adfe135a5741673a41eae5daniel@transgaming.comNFC_API extern tNFC_STATUS RW_I93Inventory (BOOLEAN including_afi, UINT8 afi, UINT8 *p_uid);
934d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill
935f956186f22421fb77a27e59b91c48d155a1351d7daniel@transgaming.com/*******************************************************************************
93638676dc14bd6136e9607e05825890ecf5cb402f1shannonwoods@chromium.org**
937b6e55102440fb32157ee2cbc2d35aa21d46454f7daniel@transgaming.com** Function         RW_I93StayQuiet
938e76b64b216e9f286210c6b1badd791909cca47bddaniel@transgaming.com**
939b6e55102440fb32157ee2cbc2d35aa21d46454f7daniel@transgaming.com** Description      This function send Inventory command
940f956186f22421fb77a27e59b91c48d155a1351d7daniel@transgaming.com**
941f956186f22421fb77a27e59b91c48d155a1351d7daniel@transgaming.com**                  RW_I93_CMD_CMPL_EVT will be returned
942f956186f22421fb77a27e59b91c48d155a1351d7daniel@transgaming.com**
943b6e55102440fb32157ee2cbc2d35aa21d46454f7daniel@transgaming.com** Returns          NFC_STATUS_OK if success
94476b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang**                  NFC_STATUS_NO_BUFFERS if out of buffer
945f956186f22421fb77a27e59b91c48d155a1351d7daniel@transgaming.com**                  NFC_STATUS_BUSY if busy
946f956186f22421fb77a27e59b91c48d155a1351d7daniel@transgaming.com**                  NFC_STATUS_FAILED if other error
9472494c97a0e266f7c7795bd71e1686904a75087e3shannon.woods@transgaming.com**
948b6e55102440fb32157ee2cbc2d35aa21d46454f7daniel@transgaming.com*******************************************************************************/
949b6e55102440fb32157ee2cbc2d35aa21d46454f7daniel@transgaming.comNFC_API extern tNFC_STATUS RW_I93StayQuiet (void);
950f956186f22421fb77a27e59b91c48d155a1351d7daniel@transgaming.com
951b6e55102440fb32157ee2cbc2d35aa21d46454f7daniel@transgaming.com/*******************************************************************************
95238676dc14bd6136e9607e05825890ecf5cb402f1shannonwoods@chromium.org**
953f956186f22421fb77a27e59b91c48d155a1351d7daniel@transgaming.com** Function         RW_I93ReadSingleBlock
954e76b64b216e9f286210c6b1badd791909cca47bddaniel@transgaming.com**
955b6e55102440fb32157ee2cbc2d35aa21d46454f7daniel@transgaming.com** Description      This function send Read Single Block command
956f956186f22421fb77a27e59b91c48d155a1351d7daniel@transgaming.com**
957f956186f22421fb77a27e59b91c48d155a1351d7daniel@transgaming.com**                  RW_I93_RESPONSE_EVT will be returned
958f956186f22421fb77a27e59b91c48d155a1351d7daniel@transgaming.com**
959ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Returns          NFC_STATUS_OK if success
96076b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang**                  NFC_STATUS_NO_BUFFERS if out of buffer
961f956186f22421fb77a27e59b91c48d155a1351d7daniel@transgaming.com**                  NFC_STATUS_BUSY if busy
962f956186f22421fb77a27e59b91c48d155a1351d7daniel@transgaming.com**                  NFC_STATUS_FAILED if other error
9632494c97a0e266f7c7795bd71e1686904a75087e3shannon.woods@transgaming.com**
964b6e55102440fb32157ee2cbc2d35aa21d46454f7daniel@transgaming.com*******************************************************************************/
965b6e55102440fb32157ee2cbc2d35aa21d46454f7daniel@transgaming.comNFC_API extern tNFC_STATUS RW_I93ReadSingleBlock (UINT16 block_number);
966b6e55102440fb32157ee2cbc2d35aa21d46454f7daniel@transgaming.com
967b6e55102440fb32157ee2cbc2d35aa21d46454f7daniel@transgaming.com/*******************************************************************************
968ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
969ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_I93WriteSingleBlock
970d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill**
971d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill** Description      This function send Write Single Block command
972d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill**                  Application must get block size first by calling RW_I93GetSysInfo().
973d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill**
974d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill**                  RW_I93_CMD_CMPL_EVT will be returned
975d4cfa57df4df85546a969f66ec50d364f6e6d4feJamie Madill**
976b6e55102440fb32157ee2cbc2d35aa21d46454f7daniel@transgaming.com** Returns          NFC_STATUS_OK if success
977c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones**                  NFC_STATUS_NO_BUFFERS if out of buffer
9788ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill**                  NFC_STATUS_BUSY if busy
9798ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill**                  NFC_STATUS_FAILED if other error
9808ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill**
9818ff21aeaabebd0877c1cc48fdac718509f23617aJamie Madill*******************************************************************************/
9828ff21aeaabebd0877c1cc48fdac718509f23617aJamie MadillNFC_API extern tNFC_STATUS RW_I93WriteSingleBlock (UINT16 block_number,
983ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org                                                   UINT8  *p_data);
984ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
98543a53e2434f4fe042bee061fc369a93314b710deBrandon Jones/*******************************************************************************
9861bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**
9871bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org** Function         RW_I93LockBlock
9881bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**
9891bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org** Description      This function send Lock Block command
990c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones**
991c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones**                  RW_I93_CMD_CMPL_EVT will be returned
9921bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**
9931bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org** Returns          NFC_STATUS_OK if success
9941bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**                  NFC_STATUS_NO_BUFFERS if out of buffer
9951bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**                  NFC_STATUS_BUSY if busy
9961bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**                  NFC_STATUS_FAILED if other error
997f257598999faf907a50d8a9f9eff28dad0ff2628Jamie Madill**
9981bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org*******************************************************************************/
9991bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.orgNFC_API extern tNFC_STATUS RW_I93LockBlock (UINT8 block_number);
10001bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org
10011bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org/*******************************************************************************
1002d38f926ad0a14e8927db2468df840a3ecf330924Brandon Jones**
10031bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org** Function         RW_I93ReadMultipleBlocks
10041bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**
10051bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org** Description      This function send Read Multiple Blocks command
10061bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**
10071bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**                  RW_I93_RESPONSE_EVT will be returned
100804668675302d0ca0249dd6d84e34eb449758909aJamie Madill**
100904668675302d0ca0249dd6d84e34eb449758909aJamie Madill** Returns          NFC_STATUS_OK if success
101004668675302d0ca0249dd6d84e34eb449758909aJamie Madill**                  NFC_STATUS_NO_BUFFERS if out of buffer
101104668675302d0ca0249dd6d84e34eb449758909aJamie Madill**                  NFC_STATUS_BUSY if busy
101204668675302d0ca0249dd6d84e34eb449758909aJamie Madill**                  NFC_STATUS_FAILED if other error
10131bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**
10141bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org*******************************************************************************/
10151bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.orgNFC_API extern tNFC_STATUS RW_I93ReadMultipleBlocks (UINT16 first_block_number,
10161bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org                                                     UINT16 number_blocks);
10171bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org
101843a53e2434f4fe042bee061fc369a93314b710deBrandon Jones/*******************************************************************************
10191bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**
10201bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org** Function         RW_I93WriteMultipleBlocks
10211bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**
10221bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org** Description      This function send Write Multiple Blocks command
10231bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**
10241bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**                  RW_I93_CMD_CMPL_EVT will be returned
10251bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**
102643a53e2434f4fe042bee061fc369a93314b710deBrandon Jones** Returns          NFC_STATUS_OK if success
10271bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**                  NFC_STATUS_NO_BUFFERS if out of buffer
10281bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**                  NFC_STATUS_BUSY if busy
10291bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**                  NFC_STATUS_FAILED if other error
10301bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org**
1031c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones*******************************************************************************/
10321bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.orgNFC_API extern tNFC_STATUS RW_I93WriteMultipleBlocks (UINT8  first_block_number,
10331bddfb984b4ce6f8422a877097e60aca956f5661shannonwoods@chromium.org                                                      UINT16 number_blocks,
10347162096ee6cfcb0fa797eb3503154f39ec53ef09Brandon Jones                                                      UINT8 *p_data);
1035ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
1036d15250e62703537195df41ea6c2412d92aee120aJamie Madill/*******************************************************************************
1037d15250e62703537195df41ea6c2412d92aee120aJamie Madill**
10385f562735860c4415b09db11c27070d3503d687aaJamie Madill** Function         RW_I93Select
10395f562735860c4415b09db11c27070d3503d687aaJamie Madill**
1040ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Description      This function send Select command
1041ff0d2ba6c7fb23c9dca60801d3f12a79d360fef3Jamie Madill**
1042ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  UID[0]: 0xE0, MSB
1043ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  UID[1]: IC Mfg Code
104454ad4f8174593fe4854a9ef5952d4b02f1a82e35Jamie Madill**                  ...
104554ad4f8174593fe4854a9ef5952d4b02f1a82e35Jamie Madill**                  UID[7]: LSB
104654ad4f8174593fe4854a9ef5952d4b02f1a82e35Jamie Madill**
104754ad4f8174593fe4854a9ef5952d4b02f1a82e35Jamie Madill**                  RW_I93_CMD_CMPL_EVT will be returned
104854ad4f8174593fe4854a9ef5952d4b02f1a82e35Jamie Madill**
104954ad4f8174593fe4854a9ef5952d4b02f1a82e35Jamie Madill** Returns          NFC_STATUS_OK if success
10505f562735860c4415b09db11c27070d3503d687aaJamie Madill**                  NFC_STATUS_NO_BUFFERS if out of buffer
1051ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  NFC_STATUS_BUSY if busy
1052ff0d2ba6c7fb23c9dca60801d3f12a79d360fef3Jamie Madill**                  NFC_STATUS_FAILED if other error
1053ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
1054ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*******************************************************************************/
105542bcf32e9d61f877b8e6bd089ab86382a3b7c9fdJamie MadillNFC_API extern tNFC_STATUS RW_I93Select (UINT8 *p_uid);
1056ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
1057ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org/*******************************************************************************
1058ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
1059ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_I93ResetToReady
1060139b90912c38ecf3f0c6d4e76d3595bd7463cefaJamie Madill**
1061af875527dd30df822016ff90307de938195176c3Austin Kinross** Description      This function send Reset To Ready command
1062ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
1063ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  RW_I93_CMD_CMPL_EVT will be returned
1064ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
1065ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Returns          NFC_STATUS_OK if success
1066ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  NFC_STATUS_NO_BUFFERS if out of buffer
1067ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**                  NFC_STATUS_BUSY if busy
106854ad4f8174593fe4854a9ef5952d4b02f1a82e35Jamie Madill**                  NFC_STATUS_FAILED if other error
106954ad4f8174593fe4854a9ef5952d4b02f1a82e35Jamie Madill**
1070ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org*******************************************************************************/
1071253b8d209be72a28891636af156f39874a0dd75aapatrick@chromium.orgNFC_API extern tNFC_STATUS RW_I93ResetToReady (void);
1072ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org
1073ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org/*******************************************************************************
1074ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
1075ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Function         RW_I93WriteAFI
1076ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
1077ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org** Description      This function send Write AFI command
1078ea09f9b400d2ef6d2761e0a81471ee5221995a13apatrick@chromium.org**
1079900013cd6b1d0ed2cdc5ee5ca0f4210624b0d8efGeoff Lang**                  RW_I93_CMD_CMPL_EVT will be returned
108090080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
10819c4b24a52e0ff478aa170d33e26c44acd8c68be3Jamie Madill** Returns          NFC_STATUS_OK if success
10829c4b24a52e0ff478aa170d33e26c44acd8c68be3Jamie Madill**                  NFC_STATUS_NO_BUFFERS if out of buffer
10839c4b24a52e0ff478aa170d33e26c44acd8c68be3Jamie Madill**                  NFC_STATUS_BUSY if busy
108422502d52956364879e2bd2feb8516a983714eb45Brandon Jones**                  NFC_STATUS_FAILED if other error
1085900013cd6b1d0ed2cdc5ee5ca0f4210624b0d8efGeoff Lang**
108604fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang*******************************************************************************/
108704fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff LangNFC_API extern tNFC_STATUS RW_I93WriteAFI (UINT8 afi);
10886f1796f3ea2d67d5c91a17eeb5865442b5ccd188apatrick@chromium.org
108990080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org/*******************************************************************************
109022502d52956364879e2bd2feb8516a983714eb45Brandon Jones**
109122502d52956364879e2bd2feb8516a983714eb45Brandon Jones** Function         RW_I93LockAFI
109290080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
109390080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org** Description      This function send Lock AFI command
109490080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
109590080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**                  RW_I93_CMD_CMPL_EVT will be returned
109690080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
10971b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill** Returns          NFC_STATUS_OK if success
10981b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                  NFC_STATUS_NO_BUFFERS if out of buffer
10990aa84f6338a42ec8f3ea23c3da27c3c86e21d846Jamie Madill**                  NFC_STATUS_BUSY if busy
1100049108df24a19eb51a17a9e157c24fc099660af8Jamie Madill**                  NFC_STATUS_FAILED if other error
1101049108df24a19eb51a17a9e157c24fc099660af8Jamie Madill**
1102049108df24a19eb51a17a9e157c24fc099660af8Jamie Madill*******************************************************************************/
1103049108df24a19eb51a17a9e157c24fc099660af8Jamie MadillNFC_API extern tNFC_STATUS RW_I93LockAFI (void);
1104049108df24a19eb51a17a9e157c24fc099660af8Jamie Madill
11050aa84f6338a42ec8f3ea23c3da27c3c86e21d846Jamie Madill/*******************************************************************************
11061b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
11070aa84f6338a42ec8f3ea23c3da27c3c86e21d846Jamie Madill** Function         RW_I93WriteDSFID
110890080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
110990080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org** Description      This function send Write DSFID command
111090080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
111190080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**                  RW_I93_CMD_CMPL_EVT will be returned
111290080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
11131b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill** Returns          NFC_STATUS_OK if success
1114f97a084f94833c5028b3b1db1b149511d56c49edshannonwoods@chromium.org**                  NFC_STATUS_NO_BUFFERS if out of buffer
1115f97a084f94833c5028b3b1db1b149511d56c49edshannonwoods@chromium.org**                  NFC_STATUS_BUSY if busy
1116f97a084f94833c5028b3b1db1b149511d56c49edshannonwoods@chromium.org**                  NFC_STATUS_FAILED if other error
1117f97a084f94833c5028b3b1db1b149511d56c49edshannonwoods@chromium.org**
1118f97a084f94833c5028b3b1db1b149511d56c49edshannonwoods@chromium.org*******************************************************************************/
1119f97a084f94833c5028b3b1db1b149511d56c49edshannonwoods@chromium.orgNFC_API extern tNFC_STATUS RW_I93WriteDSFID (UINT8 dsfid);
112090080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org
112190080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org/*******************************************************************************
11221b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
11231b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill** Function         RW_I93LockDSFID
11241b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
11251b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill** Description      This function send Lock DSFID command
11261b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
112790080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**                  RW_I93_CMD_CMPL_EVT will be returned
112890080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
11293f2daa89f20362549ebd2d85ceb513e20503bcd9Al Patrick** Returns          NFC_STATUS_OK if success
11303f2daa89f20362549ebd2d85ceb513e20503bcd9Al Patrick**                  NFC_STATUS_NO_BUFFERS if out of buffer
113176b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang**                  NFC_STATUS_BUSY if busy
113276b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang**                  NFC_STATUS_FAILED if other error
113390080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
113476b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang*******************************************************************************/
113576b10c9a9735c27627065d9fe68f78374ef48934Geoff LangNFC_API extern tNFC_STATUS RW_I93LockDSFID (void);
113676b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang
113776b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang/*******************************************************************************
113876b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang**
113990080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org** Function         RW_I93GetSysInfo
114076b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang**
114176b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang** Description      This function send Get System Information command
114290080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**                  If UID is provided then set UID[0]:MSB, ... UID[7]:LSB
114376b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang**
114476b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang**                  RW_I93_RESPONSE_EVT will be returned
114576b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang**
114676b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang** Returns          NFC_STATUS_OK if success
114776b10c9a9735c27627065d9fe68f78374ef48934Geoff Lang**                  NFC_STATUS_NO_BUFFERS if out of buffer
114890080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**                  NFC_STATUS_BUSY if busy
114990080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**                  NFC_STATUS_FAILED if other error
11501b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
11511b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill*******************************************************************************/
11521b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie MadillNFC_API extern tNFC_STATUS RW_I93GetSysInfo (UINT8 *p_uid);
11531b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill
115490080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org/*******************************************************************************
11551b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
11566f1796f3ea2d67d5c91a17eeb5865442b5ccd188apatrick@chromium.org** Function         RW_I93GetMultiBlockSecurityStatus
115790080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
115890080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org** Description      This function send Get Multiple Block Security Status command
115990080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
116090080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**                  RW_I93_RESPONSE_EVT will be returned
116190080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
11621b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill** Returns          NFC_STATUS_OK if success
11631b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                  NFC_STATUS_NO_BUFFERS if out of buffer
116490080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**                  NFC_STATUS_BUSY if busy
11651b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                  NFC_STATUS_FAILED if other error
11661b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
11671b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill*******************************************************************************/
11681b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie MadillNFC_API extern tNFC_STATUS RW_I93GetMultiBlockSecurityStatus (UINT16 first_block_number,
11691b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill                                                              UINT16 number_blocks);
117011c3b30ffb6de1146e3432ada2f0773229943bfcGeoff Lang
11711b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill/*******************************************************************************
11721b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
11731b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill** Function         RW_I93DetectNDef
11741b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
1175d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.org** Description      This function performs NDEF detection procedure
1176f257598999faf907a50d8a9f9eff28dad0ff2628Jamie Madill**
117711c3b30ffb6de1146e3432ada2f0773229943bfcGeoff Lang**                  RW_I93_NDEF_DETECT_EVT will be returned
11781b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
117990080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org** Returns          NFC_STATUS_OK if success
11801b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                  NFC_STATUS_FAILED if busy or other error
11811b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
11821b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill*******************************************************************************/
11831b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie MadillNFC_API extern tNFC_STATUS RW_I93DetectNDef (void);
1184d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.org
11851b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill/*******************************************************************************
118690080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
118790080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org** Function         RW_I93ReadNDef
11881b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
11896f1796f3ea2d67d5c91a17eeb5865442b5ccd188apatrick@chromium.org** Description      This function performs NDEF read procedure
119090080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**                  Note: RW_I93DetectNDef() must be called before using this
119190080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
119290080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**                  The following event will be returned
119390080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**                      RW_I93_NDEF_READ_EVT for each segmented NDEF message
119490080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**                      RW_I93_NDEF_READ_CPLT_EVT for the last segment or complete NDEF
11951b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                      RW_I93_NDEF_READ_FAIL_EVT for failure
11961b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
1197d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.org** Returns          NFC_STATUS_OK if success
11981b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                  NFC_STATUS_FAILED if I93 is busy or other error
11991b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
12001b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill*******************************************************************************/
1201d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.orgNFC_API extern tNFC_STATUS RW_I93ReadNDef (void);
12021b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill
1203d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.org/*******************************************************************************
12041b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
12051b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill** Function         RW_I93UpdateNDef
120611c3b30ffb6de1146e3432ada2f0773229943bfcGeoff Lang**
12071b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill** Description      This function performs NDEF update procedure
12081b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                  Note: RW_I93DetectNDef() must be called before using this
1209d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.org**                        Updating data must not be removed until returning event
1210d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.org**
12111b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                  The following event will be returned
1212d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.org**                      RW_I93_NDEF_UPDATE_CPLT_EVT for complete
12131b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                      RW_I93_NDEF_UPDATE_FAIL_EVT for failure
12141b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
1215d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.org** Returns          NFC_STATUS_OK if success
1216d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.org**                  NFC_STATUS_FAILED if I93 is busy or other error
12171b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
1218d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.org*******************************************************************************/
1219d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.orgNFC_API extern tNFC_STATUS RW_I93UpdateNDef (UINT16 length, UINT8 *p_data);
1220d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.org
1221d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.org/*******************************************************************************
1222d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.org**
1223d77841743376350e4e483a955cd94cf77d8bca63shannonwoods@chromium.org** Function         RW_I93FormatNDef
12241b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
12251b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill** Description      This function performs formatting procedure
122690080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
12271b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                  RW_I93_FORMAT_CPLT_EVT will be returned
12281b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
12291b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill** Returns          NFC_STATUS_OK if success
123090080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**                  NFC_STATUS_FAILED if busy or other error
123190080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
12321b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill*******************************************************************************/
12331b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie MadillNFC_API extern tNFC_STATUS RW_I93FormatNDef (void);
12341b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill
12351b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill/*******************************************************************************
123648dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang**
12371b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill** Function         RW_I93SetTagReadOnly
123848dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang**
12391b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill** Description      This function performs NDEF read-only procedure
12401b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                  Note: RW_I93DetectNDef() must be called before using this
12411b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                        Updating data must not be removed until returning event
12421b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
12431b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                  The RW_I93_SET_TAG_RO_EVT event will be returned.
12441b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
124548dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang** Returns          NFC_STATUS_OK if success
124648dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang**                  NFC_STATUS_FAILED if I93 is busy or other error
12471b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
1248c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill*******************************************************************************/
1249c5a8300026be5bd38ca022211ce7e078e92b9377Jamie MadillNFC_API extern tNFC_STATUS RW_I93SetTagReadOnly (void);
12507a29e4ae3d067afce9779eefc9a67a180da82129Jamie Madill
12513e773bb4f1a2202d02a546d18ca6e8d9d2440006shannon.woods@transgaming.com/*****************************************************************************
12527a29e4ae3d067afce9779eefc9a67a180da82129Jamie Madill**
1253c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill** Function         RW_I93PresenceCheck
12547a29e4ae3d067afce9779eefc9a67a180da82129Jamie Madill**
12551b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill** Description      Check if the tag is still in the field.
12561b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**
12571b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                  The RW_I93_PRESENCE_CHECK_EVT w/ status is used to indicate
12581b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                  presence or non-presence.
1259c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill**
126090080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org** Returns          NFC_STATUS_OK, if raw data frame sent
12611b2a8f964c70e7f404ded12e29cc999e3b9986f9Jamie Madill**                  NFC_STATUS_NO_BUFFERS: unable to allocate a buffer for this operation
126204fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**                  NFC_STATUS_FAILED: other error
1263c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones**
126448dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang*****************************************************************************/
126548dcae7b217420a7387c84a76651989e6f5f3576Geoff LangNFC_API extern tNFC_STATUS RW_I93PresenceCheck (void);
126648dcae7b217420a7387c84a76651989e6f5f3576Geoff Lang
1267c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill/*******************************************************************************
1268c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill**
1269c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill** Function         RW_SendRawFrame
1270c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill**
1271c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill** Description      This function sends a raw frame to the peer device.
1272c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill**
12737a29e4ae3d067afce9779eefc9a67a180da82129Jamie Madill** Returns          tNFC_STATUS
12747a29e4ae3d067afce9779eefc9a67a180da82129Jamie Madill**
1275c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones*******************************************************************************/
12767a29e4ae3d067afce9779eefc9a67a180da82129Jamie MadillNFC_API extern tNFC_STATUS RW_SendRawFrame (UINT8 *p_raw_data, UINT16 data_len);
12777a29e4ae3d067afce9779eefc9a67a180da82129Jamie Madill
127804fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang/*******************************************************************************
127990080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org**
1280c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill** Function         RW_SetActivatedTagType
1281c5a8300026be5bd38ca022211ce7e078e92b9377Jamie Madill**
128290080e3b703883b871f862d5ceafa44d2d815b6aapatrick@chromium.org** Description      This function sets tag type for Reader/Writer mode.
128304fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**
128404fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang** Returns          tNFC_STATUS
128504fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**
128604fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang*******************************************************************************/
128704fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff LangNFC_API extern tNFC_STATUS RW_SetActivatedTagType (tNFC_ACTIVATE_DEVT *p_activate_params, tRW_CBACK *p_cback);
128804fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang
128904fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang/*******************************************************************************
129004fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**
129104fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang** Function         RW_SetTraceLevel
129204fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**
129304fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang** Description      This function sets the trace level for Reader/Writer mode.
129404fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang**                  If called with a value of 0xFF,
1295c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones**                  it simply returns the current trace level.
1296c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones**
1297c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones** Returns          The new or current trace level
1298c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones**
1299c9610c51e9c02ba67c735ff449a70164cda12a60Brandon Jones*******************************************************************************/
130004fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff LangNFC_API extern UINT8 RW_SetTraceLevel (UINT8 new_level);
130104fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang
130204fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang#endif /* RW_API_H */
130304fb89ad059cba1fbd14507fe58c9a700fe0de08Geoff Lang