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