| /* |
| * Copyright (C) 2010 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. |
| */ |
| |
| /** |
| * \file phNfcStatus.h |
| * \brief NFC Status Values - Function Return Codes |
| * |
| * Project: NFC MW / HAL |
| * |
| * $Date: Wed Apr 29 16:28:21 2009 $ |
| * $Author: ing04880 $ |
| * $Revision: 1.31 $ |
| * $Aliases: NFC_FRI1.1_WK918_R24_1,NFC_FRI1.1_WK920_PREP1,NFC_FRI1.1_WK920_R25_1,NFC_FRI1.1_WK922_PREP1,NFC_FRI1.1_WK922_R26_1,NFC_FRI1.1_WK924_PREP1,NFC_FRI1.1_WK924_R27_1,NFC_FRI1.1_WK926_R28_1,NFC_FRI1.1_WK928_R29_1,NFC_FRI1.1_WK930_R30_1,NFC_FRI1.1_WK934_PREP_1,NFC_FRI1.1_WK934_R31_1,NFC_FRI1.1_WK941_PREP1,NFC_FRI1.1_WK941_PREP2,NFC_FRI1.1_WK941_1,NFC_FRI1.1_WK943_R32_1,NFC_FRI1.1_WK949_PREP1,NFC_FRI1.1_WK943_R32_10,NFC_FRI1.1_WK943_R32_13,NFC_FRI1.1_WK943_R32_14,NFC_FRI1.1_WK1007_R33_1,NFC_FRI1.1_WK1007_R33_4,NFC_FRI1.1_WK1017_PREP1,NFC_FRI1.1_WK1017_R34_1,NFC_FRI1.1_WK1017_R34_2,NFC_FRI1.1_WK1023_R35_1 $ |
| * |
| */ |
| |
| #ifndef PHNFCSTATUS_H /* */ |
| #define PHNFCSTATUS_H/* */ |
| |
| #ifndef PH_FRINFC_EXCLUDE_FROM_TESTFW /* */ |
| |
| /** |
| * \name NFC Status |
| * |
| * File: \ref phNfcStatus.h |
| * |
| *\defgroup grp_retval ERROR Status Codes |
| */ |
| /*@{*/ |
| #define PHNFCSTATUS_FILEREVISION "$Revision: 1.31 $" /**< \ingroup grp_file_attributes */ |
| #define PHNFCSTATUS_FILEALIASES "$Aliases: NFC_FRI1.1_WK918_R24_1,NFC_FRI1.1_WK920_PREP1,NFC_FRI1.1_WK920_R25_1,NFC_FRI1.1_WK922_PREP1,NFC_FRI1.1_WK922_R26_1,NFC_FRI1.1_WK924_PREP1,NFC_FRI1.1_WK924_R27_1,NFC_FRI1.1_WK926_R28_1,NFC_FRI1.1_WK928_R29_1,NFC_FRI1.1_WK930_R30_1,NFC_FRI1.1_WK934_PREP_1,NFC_FRI1.1_WK934_R31_1,NFC_FRI1.1_WK941_PREP1,NFC_FRI1.1_WK941_PREP2,NFC_FRI1.1_WK941_1,NFC_FRI1.1_WK943_R32_1,NFC_FRI1.1_WK949_PREP1,NFC_FRI1.1_WK943_R32_10,NFC_FRI1.1_WK943_R32_13,NFC_FRI1.1_WK943_R32_14,NFC_FRI1.1_WK1007_R33_1,NFC_FRI1.1_WK1007_R33_4,NFC_FRI1.1_WK1017_PREP1,NFC_FRI1.1_WK1017_R34_1,NFC_FRI1.1_WK1017_R34_2,NFC_FRI1.1_WK1023_R35_1 $" /**< \ingroup grp_file_attributes */ |
| /*@}*/ |
| |
| #endif /* PH_FRINFC_EXCLUDE_FROM_TESTFW */ |
| |
| #include <phNfcTypes.h> |
| |
| /* Internally required by \ref PHNFCSTVAL. */ |
| #define PHNFCSTSHL8 (8U) |
| /* Required by \ref PHNFCSTVAL. */ |
| #define PHNFCSTBLOWER ((NFCSTATUS)(0x00FFU)) |
| |
| /** |
| * \name NFC Status Composition Macro |
| * |
| * This is the macro which must be used to compose status values. |
| * |
| * \param[in] phNfcCompID Component ID, as defined in \ref phNfcCompId.h . |
| * \param[in] phNfcStatus Status values, as defined in \ref phNfcStatus.h . |
| * |
| * \note The macro is not required for the \ref NFCSTATUS_SUCCESS value. This is the only |
| * return value to be used directly. |
| * For all other values it shall be used in assigment 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)) ) ) /**< \ingroup grp_retval |
| Use this macro for return value composition. */ |
| #define PHNFCSTATUS(phNfcStatus) ((phNfcStatus) & 0x00FFU) |
| #define PHNFCCID(phNfcStatus) (((phNfcStatus) & 0xFF00U)>>8) |
| |
| /** |
| * \name Status Codes |
| * |
| * Generic Status codes for the NFC components. Combined with the Component ID |
| * they build the value (status) returned by each |
| * function. Some Specific E.g.:\n |
| * <UL> |
| * <LI> \ref grp_comp_id "Component ID" - e.g. 0x10, plus </LI> |
| * <LI> status code as listed in this file - e.g. 0x03 </LI> |
| * </UL> |
| * result in a status value of 0x0003. |
| * |
| * \note The \ref grp_comp_id "Component ID" used for return codes |
| must not be \ref CID_NFC_NONE |
| * except for the value \ref NFCSTATUS_SUCCESS. |
| */ |
| /*@{*/ |
| |
| /** \ingroup grp_retval |
| The function indicates successful completion. */ |
| #define NFCSTATUS_SUCCESS (0x0000) |
| |
| /** \ingroup grp_retval |
| At least one paramter could not be properly interpreted. */ |
| #define NFCSTATUS_INVALID_PARAMETER (0x0001) |
| |
| /** \ingroup grp_retval |
| The buffer provided by the caller is too small. */ |
| #define NFCSTATUS_BUFFER_TOO_SMALL (0x0003) |
| |
| /** \ingroup grp_retval |
| Device specifier/handle value is invalid for the operation. */ |
| #define NFCSTATUS_INVALID_DEVICE (0x0006) |
| |
| /** \ingroup grp_retval |
| The function executed successfully but could have returned |
| more information than space provided by the caller. */ |
| #define NFCSTATUS_MORE_INFORMATION (0x0008) |
| |
| /** \ingroup grp_retval |
| No response from the remote device received: Time-out.*/ |
| #define NFCSTATUS_RF_TIMEOUT (0x0009) |
| |
| /** \ingroup grp_retval |
| RF Error during data transaction with the remote device.*/ |
| #define NFCSTATUS_RF_ERROR (0x000A) |
| |
| /** \ingroup grp_retval |
| Not enough resources (e.g. allocation failed.). */ |
| #define NFCSTATUS_INSUFFICIENT_RESOURCES (0x000C) |
| |
| /** \ingroup grp_retval |
| A non-blocking function returns this immediately to indicate |
| that an internal operation is in progress. */ |
| #define NFCSTATUS_PENDING (0x000D) |
| |
| /** \ingroup grp_retval |
| A board communication error occurred |
| (e.g. configuration went wrong). */ |
| #define NFCSTATUS_BOARD_COMMUNICATION_ERROR (0x000F) |
| |
| /** \ingroup grp_retval |
| Invalid State of the particular state machine |
| */ |
| #define NFCSTATUS_INVALID_STATE (0x0011) |
| |
| |
| /** \ingroup grp_retval |
| This Layer is Not initialised, hence initialisation required. |
| */ |
| #define NFCSTATUS_NOT_INITIALISED (0x0031) |
| |
| |
| /** \ingroup grp_retval |
| The Layer is already initialised, hence initialisation repeated. |
| */ |
| #define NFCSTATUS_ALREADY_INITIALISED (0x0032) |
| |
| |
| /** \ingroup grp_retval |
| Feature not supported . */ |
| #define NFCSTATUS_FEATURE_NOT_SUPPORTED (0x0033) |
| |
| /** \ingroup grp_retval |
| 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) |
| |
| |
| /** \ingroup grp_retval |
| 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) |
| |
| /** \ingroup grp_retval |
| Single Tag with Multiple |
| Protocol support detected. */ |
| #define NFCSTATUS_MULTIPLE_PROTOCOLS (0x0036) |
| |
| /** \ingroup grp_retval |
| Feature not supported . */ |
| #define NFCSTATUS_MULTIPLE_TAGS (0x0037) |
| |
| /** \ingroup grp_retval |
| A DESELECT event has occurred. */ |
| #define NFCSTATUS_DESELECTED (0x0038) |
| |
| /** \ingroup grp_retval |
| A RELEASE event has occurred. */ |
| #define NFCSTATUS_RELEASED (0x0039) |
| |
| /** \ingroup grp_retval |
| The operation is currently not possible or not allowed */ |
| #define NFCSTATUS_NOT_ALLOWED (0x003A) |
| |
| /** \ingroup grp_retval |
| The sytem is busy with the previous operation. |
| */ |
| #define NFCSTATUS_BUSY (0x006F) |
| |
| |
| /* NDEF Mapping error codes */ |
| |
| /** \ingroup grp_retval |
| The remote device (type) is not valid for this request. */ |
| #define NFCSTATUS_INVALID_REMOTE_DEVICE (0x001D) |
| |
| /** \ingroup grp_retval |
| Smart tag functionality not supported */ |
| #define NFCSTATUS_SMART_TAG_FUNC_NOT_SUPPORTED (0x0013) |
| |
| /** \ingroup grp_retval |
| Read operation failed */ |
| #define NFCSTATUS_READ_FAILED (0x0014) |
| |
| /** \ingroup grp_retval |
| Write operation failed */ |
| #define NFCSTATUS_WRITE_FAILED (0x0015) |
| |
| /** \ingroup grp_retval |
| Non Ndef Compliant */ |
| #define NFCSTATUS_NO_NDEF_SUPPORT (0x0016) |
| |
| /** \ingroup grp_retval |
| Could not proceed further with the write operation: reached card EOF*/ |
| #define NFCSTATUS_EOF_NDEF_CONTAINER_REACHED (0x001A) |
| |
| /** \ingroup grp_retval |
| Incorrect number of bytes received from the card*/ |
| #define NFCSTATUS_INVALID_RECEIVE_LENGTH (0x001B) |
| |
| /** \ingroup grp_retval |
| The data format/composition is not understood/correct. */ |
| #define NFCSTATUS_INVALID_FORMAT (0x001C) |
| |
| |
| /** \ingroup grp_retval |
| There is not sufficient storage available. */ |
| #define NFCSTATUS_INSUFFICIENT_STORAGE (0x001F) |
| |
| /** \ingroup grp_retval |
| The Ndef Format procedure has failed. */ |
| #define NFCSTATUS_FORMAT_ERROR (0x0023) |
| |
| |
| /* |
| * Macros Required for FRI Stack |
| NFCSTATUS_INVALID_PARAMETER |
| NFCSTATUS_CMD_ABORTED |
| NFCSTATUS_FORMAT_STATUS |
| NFSTATUS_SUCCESS |
| NFCSTATUS_INVALID_REMOTE_DEVICE |
| NFCSTATUS_PENDING |
| NFCSTATUS_EOF_NDEF_CONTAINED_REACHED |
| NFCSTATUS_NO_NDEF_SUPPORT |
| NFCSTATUS_SMART_TAG_FUNC_NOT_SUPPORTED |
| NFCSTATUS_READ_FAILED |
| NFCSTATUS_WRITE_FAILED |
| NFCSTATUS_INVALID_RECEIVE_LENGTH |
| NFCSTATUS_BUFFER_TOO_SMALL |
| NFCSTATUS_NODE_NOT_FOUND |
| */ |
| |
| |
| /* 0x70 to 0xCF Values are Component Specific Error Values */ |
| |
| |
| /** \ingroup grp_retval |
| Max number of Status Codes*/ |
| #define NFCSTATUS_FAILED (0x00FF) |
| |
| /*@}*/ |
| |
| #ifdef RFU_STATUS_CODES /* To Be Removed later */ |
| |
| /** \ingroup grp_retval |
| The function/command has been aborted. */ |
| #define NFCSTATUS_CMD_ABORTED (0x0002) |
| |
| /** \ingroup grp_retval |
| * Repeated call of the connecting function is not allowed. |
| * \if hal |
| * \sa \ref phHalNfc_Connect |
| * \endif */ |
| #define NFCSTATUS_ALREADY_CONNECTED (0x0004) |
| |
| /** \ingroup grp_retval |
| * Calling the polling function is not allowed when remote device |
| * are allready connected. |
| * \if hal |
| * \sa \ref phHalNfc_Poll |
| * \endif */ |
| #define NFCSTATUS_MULTI_POLL_NOT_SUPPORTED (0x0005) |
| |
| |
| /** \ingroup grp_retval |
| No target found after poll.*/ |
| #define NFCSTATUS_NO_DEVICE_FOUND (0x000A) |
| |
| /** \ingroup grp_retval |
| No target found after poll.*/ |
| #define NFCSTATUS_NO_TARGET_FOUND (0x000A) |
| |
| /** \ingroup grp_retval |
| Attempt to disconnect a not connected remote device. */ |
| #define NFCSTATUS_NO_DEVICE_CONNECTED (0x000B) |
| |
| /** \ingroup grp_retval |
| External RF field detected. */ |
| #define NFCSTATUS_EXTERNAL_RF_DETECTED (0x000E) |
| |
| /** \ingroup grp_retval |
| Message is not allowed by the state machine |
| (e.g. configuration went wrong). */ |
| #define NFCSTATUS_MSG_NOT_ALLOWED_BY_FSM (0x0010) |
| |
| /** \ingroup grp_retval |
| No access has been granted. */ |
| #define NFCSTATUS_ACCESS_DENIED (0x001E) |
| |
| /** \ingroup grp_retval |
| No registry node matches the specified input data. */ |
| #define NFCSTATUS_NODE_NOT_FOUND (0x0017) |
| |
| /** \ingroup grp_retval |
| The current module is busy ; one might retry later */ |
| #define NFCSTATUS_SMX_BAD_STATE (0x00F0) |
| |
| |
| /** \ingroup grp_retval |
| The Abort mechanism has failed for unexpected reason: user can try again*/ |
| #define NFCSTATUS_ABORT_FAILED (0x00F2) |
| |
| |
| /** \ingroup grp_retval |
| 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) |
| |
| |
| #endif |
| |
| |
| #endif /* PHNFCSTATUS_H */ |
| |