1121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 2121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Copyright (C) 2010-2014 NXP Semiconductors 3121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * 4121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Licensed under the Apache License, Version 2.0 (the "License"); 5121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * you may not use this file except in compliance with the License. 6121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * You may obtain a copy of the License at 7121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * 8121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * http://www.apache.org/licenses/LICENSE-2.0 9121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * 10121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Unless required by applicable law or agreed to in writing, software 11121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * distributed under the License is distributed on an "AS IS" BASIS, 12121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * See the License for the specific language governing permissions and 14121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * limitations under the License. 15121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 16121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 17121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 18121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * NFC Status Values - Function Return Codes 19121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 20121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 21121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#ifndef PHNFCSTATUS_H 22121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define PHNFCSTATUS_H 23121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 24121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#include <phNfcTypes.h> 25121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 26121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* Internally required by PHNFCSTVAL. */ 27121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define PHNFCSTSHL8 (8U) 28121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* Required by PHNFCSTVAL. */ 29121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define PHNFCSTBLOWER ((NFCSTATUS)(0x00FFU)) 30121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 31121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 32121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * NFC Status Composition Macro 33121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * 34121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * This is the macro which must be used to compose status values. 35121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * 36121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * phNfcCompID Component ID, as defined in phNfcCompId.h . 37121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * phNfcStatus Status values, as defined in phNfcStatus.h . 38121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * 39121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * The macro is not required for the NFCSTATUS_SUCCESS value. 40121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * This is the only return value to be used directly. 41121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * For all other values it shall be used in assignment and conditional statements, e.g.: 42121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * NFCSTATUS status = PHNFCSTVAL(phNfcCompID, phNfcStatus); ... 43121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * if (status == PHNFCSTVAL(phNfcCompID, phNfcStatus)) ... 44121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 45121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define PHNFCSTVAL(phNfcCompID, phNfcStatus) \ 46121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao ( ((phNfcStatus) == (NFCSTATUS_SUCCESS)) ? (NFCSTATUS_SUCCESS) : \ 47121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao ( (((NFCSTATUS)(phNfcStatus)) & (PHNFCSTBLOWER)) | \ 48121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao (((uint16_t)(phNfcCompID)) << (PHNFCSTSHL8)) ) ) 49121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 50121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 51121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * PHNFCSTATUS 52121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Get grp_retval from Status Code 53121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 54121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define PHNFCSTATUS(phNfcStatus) ((phNfcStatus) & 0x00FFU) 55121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define PHNFCCID(phNfcStatus) (((phNfcStatus) & 0xFF00U)>>8) 56121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 57121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define PHNFC_I2C_FRAGMENT_SIZE 512 58121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 59121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Status Codes 60121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * 61121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Generic Status codes for the NFC components. Combined with the Component ID 62121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * they build the value (status) returned by each function. 63121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Example: 64121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * grp_comp_id "Component ID" - e.g. 0x10, plus 65121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * status code as listed in this file - e.g. 0x03 66121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * result in a status value of 0x0003. 67121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 68121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 69121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 70121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * The function indicates successful completion 71121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 72121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_SUCCESS (0x0000) 73121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 74121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 75121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * The function indicates successful completion 76121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 77121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_OK (NFCSTATUS_SUCCESS) 78121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 79121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 80121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * At least one parameter could not be properly interpreted 81121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 82121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_INVALID_PARAMETER (0x0001) 83121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 84121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 85121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * The buffer provided by the caller is too small 86121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 87121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_BUFFER_TOO_SMALL (0x0003) 88121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 89121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 90121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Device specifier/handle value is invalid for the operation 91121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 92121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_INVALID_DEVICE (0x0006) 93121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 94121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 95121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * The function executed successfully but could have returned 96121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * more information than space provided by the caller 97121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 98121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_MORE_INFORMATION (0x0008) 99121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 100121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 101121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * No response from the remote device received: Time-out 102121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 103121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_RF_TIMEOUT (0x0009) 104121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 105121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 106121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * RF Error during data transaction with the remote device 107121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 108121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_RF_ERROR (0x000A) 109121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 110121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 111121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Not enough resources Memory, Timer etc(e.g. allocation failed.) 112121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 113121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_INSUFFICIENT_RESOURCES (0x000C) 114121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 115121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 116121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * A non-blocking function returns this immediately to indicate 117121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * that an internal operation is in progress 118121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 119121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_PENDING (0x000D) 120121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 121121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 122121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * A board communication error occurred 123121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * (e.g. Configuration went wrong) 124121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 125121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_BOARD_COMMUNICATION_ERROR (0x000F) 126121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 127121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 128121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Invalid State of the particular state machine 129121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 130121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_INVALID_STATE (0x0011) 131121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 132121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 133121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 134121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * This Layer is Not initialized, hence initialization required. 135121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 136121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_NOT_INITIALISED (0x0031) 137121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 138121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 139121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 140121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * The Layer is already initialized, hence initialization repeated. 141121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 142121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_ALREADY_INITIALISED (0x0032) 143121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 144121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 145121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 146121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Feature not supported 147121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 148121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_FEATURE_NOT_SUPPORTED (0x0033) 149121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 150121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* The Unregistration command has failed because the user wants to unregister on 151121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * an element for which he was not registered 152121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 153121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_NOT_REGISTERED (0x0034) 154121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 155121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 156121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* The Registration command has failed because the user wants to register on 157121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * an element for which he is already registered 158121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 159121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_ALREADY_REGISTERED (0x0035) 160121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 161121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* Single Tag with Multiple 162121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao Protocol support detected */ 163121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_MULTIPLE_PROTOCOLS (0x0036) 164121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 165121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 166121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Feature not supported 167121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 168121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_MULTIPLE_TAGS (0x0037) 169121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 170121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 171121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * A DESELECT event has occurred 172121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 173121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_DESELECTED (0x0038) 174121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 175121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 176121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * A RELEASE event has occurred 177121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 178121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_RELEASED (0x0039) 179121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 180121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 181121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * The operation is currently not possible or not allowed 182121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 183121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_NOT_ALLOWED (0x003A) 184121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 185121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 186c22a07fdcd13c148c0d2db7317397da2a6345f0bJizhou Liao * FW version error while performing FW download, 187c22a07fdcd13c148c0d2db7317397da2a6345f0bJizhou Liao * FW major version mismatch (cannot downgrade FW major version) or FW version already upto date 188c22a07fdcd13c148c0d2db7317397da2a6345f0bJizhou Liao * User may be trying to flash Mobile FW on top of Infra FW, which is not allowed 189c22a07fdcd13c148c0d2db7317397da2a6345f0bJizhou Liao * Download appropriate version of FW 190c22a07fdcd13c148c0d2db7317397da2a6345f0bJizhou Liao */ 191c22a07fdcd13c148c0d2db7317397da2a6345f0bJizhou Liao#define NFCSTATUS_FW_VERSION_ERROR (0x003C) 192c22a07fdcd13c148c0d2db7317397da2a6345f0bJizhou Liao 193c22a07fdcd13c148c0d2db7317397da2a6345f0bJizhou Liao/* 194121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * The system is busy with the previous operation. 195121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 196121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_BUSY (0x006F) 197121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 198121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 199121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* NDEF Mapping error codes */ 200121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 201121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* The remote device (type) is not valid for this request. */ 202121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_INVALID_REMOTE_DEVICE (0x001D) 203121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 204121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* Read operation failed */ 205121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_READ_FAILED (0x0014) 206121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 207121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 208121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Write operation failed 209121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 210121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_WRITE_FAILED (0x0015) 211121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 212121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* Non Ndef Compliant */ 213121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_NO_NDEF_SUPPORT (0x0016) 214121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 215121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* Could not proceed further with the write operation: reached card EOF*/ 216121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_EOF_NDEF_CONTAINER_REACHED (0x001A) 217121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 218121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* Incorrect number of bytes received from the card*/ 219121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_INVALID_RECEIVE_LENGTH (0x001B) 220121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 221121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* The data format/composition is not understood/correct. */ 222121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_INVALID_FORMAT (0x001C) 223121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 224121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 225121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* There is not sufficient storage available. */ 226121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_INSUFFICIENT_STORAGE (0x001F) 227121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 228121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* The Ndef Format procedure has failed. */ 229121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_FORMAT_ERROR (0x0023) 230121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 231121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* The NCI Cedit error */ 232121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_CREDIT_TIMEOUT (0x0024) 233121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 234121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 235121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Response Time out for the control message(NFCC not responded) 236121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 237121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_RESPONSE_TIMEOUT (0x0025) 238121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 239121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 240121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Device is already connected 241121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 242121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_ALREADY_CONNECTED (0x0026) 243121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 244121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 245121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Device is already connected 246121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 247121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_ANOTHER_DEVICE_CONNECTED (0x0027) 248121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 249121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 250121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Single Target Detected and Activated 251121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 252121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_SINGLE_TAG_ACTIVATED (0x0028) 253121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 254121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 255121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Single Target Detected 256121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 257121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_SINGLE_TAG_DISCOVERED (0x0029) 258121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 259121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 260121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Secure element Detected and Activated 261121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 262121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_SECURE_ELEMENT_ACTIVATED (0x0028) 263121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 264121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 265121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Unknown error Status Codes 266121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 267121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_UNKNOWN_ERROR (0x00FE) 268121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 269121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 270121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Status code for failure 271121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 272121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_FAILED (0x00FF) 273121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 274121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 275121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * The function/command has been aborted 276121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 277121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_CMD_ABORTED (0x0002) 278121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 279121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 280121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * No target found after poll 281121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 282121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_NO_TARGET_FOUND (0x000A) 283121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 284121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* Attempt to disconnect a not connected remote device. */ 285121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_NO_DEVICE_CONNECTED (0x000B) 286121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 287121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* External RF field detected. */ 288121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_EXTERNAL_RF_DETECTED (0x000E) 289121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 290121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* Message is not allowed by the state machine 291121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * (e.g. configuration went wrong) 292121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 293121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_MSG_NOT_ALLOWED_BY_FSM (0x0010) 294121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 295121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 296121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * No access has been granted 297121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 298121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_ACCESS_DENIED (0x001E) 299121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 300121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* No registry node matches the specified input data. */ 301121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_NODE_NOT_FOUND (0x0017) 302121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 303121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* The current module is busy ; one might retry later */ 304121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_SMX_BAD_STATE (0x00F0) 305121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 306121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 307121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* The Abort mechanism has failed for unexpected reason: user can try again*/ 308121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_ABORT_FAILED (0x00F2) 309121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 310121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 311121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* The Registration command has failed because the user wants to register as target 312121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * on a operating mode not supported 313121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 314121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_REG_OPMODE_NOT_SUPPORTED (0x00F5) 315121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 316121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 317121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Shutdown in progress, cannot handle the request at this time. 318121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 319121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_SHUTDOWN (0x0091) 320121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 321121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 322121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Target is no more in RF field 323121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 324121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_TARGET_LOST (0x0092) 325121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 326121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 327121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Request is rejected 328121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 329121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_REJECTED (0x0093) 330121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 331121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 332121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Target is not connected 333121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 334121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_TARGET_NOT_CONNECTED (0x0094) 335121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 336121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 337121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Invalid handle for the operation 338121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 339121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_INVALID_HANDLE (0x0095) 340121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 341121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 342121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Process aborted 343121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 344121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_ABORTED (0x0096) 345121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 346121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 347121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Requested command is not supported 348121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 349121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_COMMAND_NOT_SUPPORTED (0x0097) 350121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 351121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 352121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Tag is not NDEF compilant 353121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 354121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_NON_NDEF_COMPLIANT (0x0098) 355121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 356121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 357121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Not enough memory available to complete the requested operation 358121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 359121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_NOT_ENOUGH_MEMORY (0x001F) 360121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 361121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 362121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Indicates incoming connection 363121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 364121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_INCOMING_CONNECTION (0x0045) 365121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 366121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 367121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Indicates Connection was successful 368121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 369121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_CONNECTION_SUCCESS (0x0046) 370121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 371121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao/* 372121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao * Indicates Connection failed 373121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao */ 374121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#define NFCSTATUS_CONNECTION_FAILED (0x0047) 375121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao 376121096a3511ea4ac559dea3ef7d39f0df00c97a6Jizhou Liao#endif /* PHNFCSTATUS_H */ 377