diff options
Diffstat (limited to 'halimpl/common/phNfcStatus.h')
-rwxr-xr-x | halimpl/common/phNfcStatus.h | 374 |
1 files changed, 374 insertions, 0 deletions
diff --git a/halimpl/common/phNfcStatus.h b/halimpl/common/phNfcStatus.h new file mode 100755 index 0000000..f3aa51a --- /dev/null +++ b/halimpl/common/phNfcStatus.h @@ -0,0 +1,374 @@ +/* + * 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 */ |