You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
374 lines
8.8 KiB
374 lines
8.8 KiB
/* |
|
* Copyright (C) 2010-2014 NXP Semiconductors |
|
* |
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
* you may not use this file except in compliance with the License. |
|
* You may obtain a copy of the License at |
|
* |
|
* http://www.apache.org/licenses/LICENSE-2.0 |
|
* |
|
* Unless required by applicable law or agreed to in writing, software |
|
* distributed under the License is distributed on an "AS IS" BASIS, |
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
* See the License for the specific language governing permissions and |
|
* limitations under the License. |
|
*/ |
|
|
|
/* |
|
* NFC Status Values - Function Return Codes |
|
*/ |
|
|
|
#ifndef PHNFCSTATUS_H |
|
#define PHNFCSTATUS_H |
|
|
|
#include <phNfcTypes.h> |
|
|
|
/* Internally required by PHNFCSTVAL. */ |
|
#define PHNFCSTSHL8 (8U) |
|
/* Required by PHNFCSTVAL. */ |
|
#define PHNFCSTBLOWER ((NFCSTATUS)(0x00FFU)) |
|
|
|
/* |
|
* NFC Status Composition Macro |
|
* |
|
* This is the macro which must be used to compose status values. |
|
* |
|
* phNfcCompID Component ID, as defined in phNfcCompId.h . |
|
* phNfcStatus Status values, as defined in phNfcStatus.h . |
|
* |
|
* The macro is not required for the NFCSTATUS_SUCCESS value. |
|
* This is the only return value to be used directly. |
|
* For all other values it shall be used in assignment and conditional |
|
* statements, e.g.: |
|
* NFCSTATUS status = PHNFCSTVAL(phNfcCompID, phNfcStatus); ... |
|
* if (status == PHNFCSTVAL(phNfcCompID, phNfcStatus)) ... |
|
*/ |
|
#define PHNFCSTVAL(phNfcCompID, phNfcStatus) \ |
|
(((phNfcStatus) == (NFCSTATUS_SUCCESS)) \ |
|
? (NFCSTATUS_SUCCESS) \ |
|
: ((((NFCSTATUS)(phNfcStatus)) & (PHNFCSTBLOWER)) | \ |
|
(((uint16_t)(phNfcCompID)) << (PHNFCSTSHL8)))) |
|
|
|
/* |
|
* PHNFCSTATUS |
|
* Get grp_retval from Status Code |
|
*/ |
|
#define PHNFCSTATUS(phNfcStatus) ((phNfcStatus)&0x00FFU) |
|
#define PHNFCCID(phNfcStatus) (((phNfcStatus)&0xFF00U) >> 8) |
|
|
|
#define PHNFC_I2C_FRAGMENT_SIZE 512 |
|
/* |
|
* Status Codes |
|
* |
|
* Generic Status codes for the NFC components. Combined with the Component ID |
|
* they build the value (status) returned by each function. |
|
* Example: |
|
* grp_comp_id "Component ID" - e.g. 0x10, plus |
|
* status code as listed in this file - e.g. 0x03 |
|
* result in a status value of 0x0003. |
|
*/ |
|
|
|
/* |
|
* The function indicates successful completion |
|
*/ |
|
#define NFCSTATUS_SUCCESS (0x0000) |
|
|
|
/* |
|
* The function indicates successful completion |
|
*/ |
|
#define NFCSTATUS_OK (NFCSTATUS_SUCCESS) |
|
|
|
/* |
|
* At least one parameter could not be properly interpreted |
|
*/ |
|
#define NFCSTATUS_INVALID_PARAMETER (0x0001) |
|
|
|
/* |
|
* The buffer provided by the caller is too small |
|
*/ |
|
#define NFCSTATUS_BUFFER_TOO_SMALL (0x0003) |
|
|
|
/* |
|
* Device specifier/handle value is invalid for the operation |
|
*/ |
|
#define NFCSTATUS_INVALID_DEVICE (0x0006) |
|
|
|
/* |
|
* The function executed successfully but could have returned |
|
* more information than space provided by the caller |
|
*/ |
|
#define NFCSTATUS_MORE_INFORMATION (0x0008) |
|
|
|
/* |
|
* No response from the remote device received: Time-out |
|
*/ |
|
#define NFCSTATUS_RF_TIMEOUT (0x0009) |
|
|
|
/* |
|
* RF Error during data transaction with the remote device |
|
*/ |
|
#define NFCSTATUS_RF_ERROR (0x000A) |
|
|
|
/* |
|
* Not enough resources Memory, Timer etc(e.g. allocation failed.) |
|
*/ |
|
#define NFCSTATUS_INSUFFICIENT_RESOURCES (0x000C) |
|
|
|
/* |
|
* A non-blocking function returns this immediately to indicate |
|
* that an internal operation is in progress |
|
*/ |
|
#define NFCSTATUS_PENDING (0x000D) |
|
|
|
/* |
|
* A board communication error occurred |
|
* (e.g. Configuration went wrong) |
|
*/ |
|
#define NFCSTATUS_BOARD_COMMUNICATION_ERROR (0x000F) |
|
|
|
/* |
|
* Invalid State of the particular state machine |
|
*/ |
|
#define NFCSTATUS_INVALID_STATE (0x0011) |
|
|
|
/* |
|
* This Layer is Not initialized, hence initialization required. |
|
*/ |
|
#define NFCSTATUS_NOT_INITIALISED (0x0031) |
|
|
|
/* |
|
* The Layer is already initialized, hence initialization repeated. |
|
*/ |
|
#define NFCSTATUS_ALREADY_INITIALISED (0x0032) |
|
|
|
/* |
|
* Feature not supported |
|
*/ |
|
#define NFCSTATUS_FEATURE_NOT_SUPPORTED (0x0033) |
|
|
|
/* The Unregistration command has failed because the user wants to unregister |
|
* on |
|
* an element for which he was not registered |
|
*/ |
|
#define NFCSTATUS_NOT_REGISTERED (0x0034) |
|
|
|
/* The Registration command has failed because the user wants to register on |
|
* an element for which he is already registered |
|
*/ |
|
#define NFCSTATUS_ALREADY_REGISTERED (0x0035) |
|
|
|
/* Single Tag with Multiple |
|
Protocol support detected */ |
|
#define NFCSTATUS_MULTIPLE_PROTOCOLS (0x0036) |
|
|
|
/* |
|
* Feature not supported |
|
*/ |
|
#define NFCSTATUS_MULTIPLE_TAGS (0x0037) |
|
|
|
/* |
|
* A DESELECT event has occurred |
|
*/ |
|
#define NFCSTATUS_DESELECTED (0x0038) |
|
|
|
/* |
|
* A RELEASE event has occurred |
|
*/ |
|
#define NFCSTATUS_RELEASED (0x0039) |
|
|
|
/* |
|
* The operation is currently not possible or not allowed |
|
*/ |
|
#define NFCSTATUS_NOT_ALLOWED (0x003A) |
|
|
|
/* |
|
* FW version error while performing FW download, |
|
* FW major version mismatch (cannot downgrade FW major version) or FW version |
|
* already upto date |
|
* User may be trying to flash Mobile FW on top of Infra FW, which is not |
|
* allowed |
|
* Download appropriate version of FW |
|
*/ |
|
#define NFCSTATUS_FW_VERSION_ERROR (0x003C) |
|
|
|
/* |
|
* The system is busy with the previous operation. |
|
*/ |
|
#define NFCSTATUS_BUSY (0x006F) |
|
|
|
/* NDEF Mapping error codes */ |
|
|
|
/* The remote device (type) is not valid for this request. */ |
|
#define NFCSTATUS_INVALID_REMOTE_DEVICE (0x001D) |
|
|
|
/* Read operation failed */ |
|
#define NFCSTATUS_READ_FAILED (0x0014) |
|
|
|
/* |
|
* Write operation failed |
|
*/ |
|
#define NFCSTATUS_WRITE_FAILED (0x0015) |
|
|
|
/* Non Ndef Compliant */ |
|
#define NFCSTATUS_NO_NDEF_SUPPORT (0x0016) |
|
|
|
/* Could not proceed further with the write operation: reached card EOF*/ |
|
#define NFCSTATUS_EOF_NDEF_CONTAINER_REACHED (0x001A) |
|
|
|
/* Incorrect number of bytes received from the card*/ |
|
#define NFCSTATUS_INVALID_RECEIVE_LENGTH (0x001B) |
|
|
|
/* The data format/composition is not understood/correct. */ |
|
#define NFCSTATUS_INVALID_FORMAT (0x001C) |
|
|
|
/* There is not sufficient storage available. */ |
|
#define NFCSTATUS_INSUFFICIENT_STORAGE (0x001F) |
|
|
|
/* The Ndef Format procedure has failed. */ |
|
#define NFCSTATUS_FORMAT_ERROR (0x0023) |
|
|
|
/* The NCI Cedit error */ |
|
#define NFCSTATUS_CREDIT_TIMEOUT (0x0024) |
|
|
|
/* |
|
* Response Time out for the control message(NFCC not responded) |
|
*/ |
|
#define NFCSTATUS_RESPONSE_TIMEOUT (0x0025) |
|
|
|
/* |
|
* Device is already connected |
|
*/ |
|
#define NFCSTATUS_ALREADY_CONNECTED (0x0026) |
|
|
|
/* |
|
* Device is already connected |
|
*/ |
|
#define NFCSTATUS_ANOTHER_DEVICE_CONNECTED (0x0027) |
|
|
|
/* |
|
* Single Target Detected and Activated |
|
*/ |
|
#define NFCSTATUS_SINGLE_TAG_ACTIVATED (0x0028) |
|
|
|
/* |
|
* Single Target Detected |
|
*/ |
|
#define NFCSTATUS_SINGLE_TAG_DISCOVERED (0x0029) |
|
|
|
/* |
|
* Secure element Detected and Activated |
|
*/ |
|
#define NFCSTATUS_SECURE_ELEMENT_ACTIVATED (0x0028) |
|
|
|
/* |
|
* Unknown error Status Codes |
|
*/ |
|
#define NFCSTATUS_UNKNOWN_ERROR (0x00FE) |
|
|
|
/* |
|
* Status code for failure |
|
*/ |
|
#define NFCSTATUS_FAILED (0x00FF) |
|
|
|
/* |
|
* The function/command has been aborted |
|
*/ |
|
#define NFCSTATUS_CMD_ABORTED (0x0002) |
|
|
|
/* |
|
* No target found after poll |
|
*/ |
|
#define NFCSTATUS_NO_TARGET_FOUND (0x000A) |
|
|
|
/* Attempt to disconnect a not connected remote device. */ |
|
#define NFCSTATUS_NO_DEVICE_CONNECTED (0x000B) |
|
|
|
/* External RF field detected. */ |
|
#define NFCSTATUS_EXTERNAL_RF_DETECTED (0x000E) |
|
|
|
/* Message is not allowed by the state machine |
|
* (e.g. configuration went wrong) |
|
*/ |
|
#define NFCSTATUS_MSG_NOT_ALLOWED_BY_FSM (0x0010) |
|
|
|
/* |
|
* No access has been granted |
|
*/ |
|
#define NFCSTATUS_ACCESS_DENIED (0x001E) |
|
|
|
/* No registry node matches the specified input data. */ |
|
#define NFCSTATUS_NODE_NOT_FOUND (0x0017) |
|
|
|
/* The current module is busy ; one might retry later */ |
|
#define NFCSTATUS_SMX_BAD_STATE (0x00F0) |
|
|
|
/* The Abort mechanism has failed for unexpected reason: user can try again*/ |
|
#define NFCSTATUS_ABORT_FAILED (0x00F2) |
|
|
|
/* The Registration command has failed because the user wants to register as |
|
* target |
|
* on a operating mode not supported |
|
*/ |
|
#define NFCSTATUS_REG_OPMODE_NOT_SUPPORTED (0x00F5) |
|
|
|
/* |
|
* Shutdown in progress, cannot handle the request at this time. |
|
*/ |
|
#define NFCSTATUS_SHUTDOWN (0x0091) |
|
|
|
/* |
|
* Target is no more in RF field |
|
*/ |
|
#define NFCSTATUS_TARGET_LOST (0x0092) |
|
|
|
/* |
|
* Request is rejected |
|
*/ |
|
#define NFCSTATUS_REJECTED (0x0093) |
|
|
|
/* |
|
* Target is not connected |
|
*/ |
|
#define NFCSTATUS_TARGET_NOT_CONNECTED (0x0094) |
|
|
|
/* |
|
* Invalid handle for the operation |
|
*/ |
|
#define NFCSTATUS_INVALID_HANDLE (0x0095) |
|
|
|
/* |
|
* Process aborted |
|
*/ |
|
#define NFCSTATUS_ABORTED (0x0096) |
|
|
|
/* |
|
* Requested command is not supported |
|
*/ |
|
#define NFCSTATUS_COMMAND_NOT_SUPPORTED (0x0097) |
|
|
|
/* |
|
* Tag is not NDEF compilant |
|
*/ |
|
#define NFCSTATUS_NON_NDEF_COMPLIANT (0x0098) |
|
|
|
/* |
|
* Not enough memory available to complete the requested operation |
|
*/ |
|
#define NFCSTATUS_NOT_ENOUGH_MEMORY (0x001F) |
|
|
|
/* |
|
* Indicates incoming connection |
|
*/ |
|
#define NFCSTATUS_INCOMING_CONNECTION (0x0045) |
|
|
|
/* |
|
* Indicates Connection was successful |
|
*/ |
|
#define NFCSTATUS_CONNECTION_SUCCESS (0x0046) |
|
|
|
/* |
|
* Indicates Connection failed |
|
*/ |
|
#define NFCSTATUS_CONNECTION_FAILED (0x0047) |
|
|
|
#endif /* PHNFCSTATUS_H */
|
|
|