diff options
Diffstat (limited to 'src/phHciNfc_Sequence.h')
-rw-r--r-- | src/phHciNfc_Sequence.h | 421 |
1 files changed, 421 insertions, 0 deletions
diff --git a/src/phHciNfc_Sequence.h b/src/phHciNfc_Sequence.h new file mode 100644 index 0000000..e3c714f --- /dev/null +++ b/src/phHciNfc_Sequence.h @@ -0,0 +1,421 @@ +/* + * 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 phHciNfc_Sequence.h * +* \brief State Machine Management for the HCI and the Function Sequence * +* for a particular State. * +* * +* * +* Project: NFC-FRI-1.1 * +* * +* $Date: Fri Aug 14 17:01:28 2009 $ * +* $Author: ing04880 $ * +* $Revision: 1.12 $ * +* $Aliases: 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 PHHCINFC_SEQUENCE_H +#define PHHCINFC_SEQUENCE_H + +/*@}*/ + + +/** + * \name HCI + * + * File: \ref phHciNfc_Sequence.h + * + */ + +/*@{*/ +#define PHHCINFC_SEQUENCE_FILEREVISION "$Revision: 1.12 $" /**< \ingroup grp_file_attributes */ +#define PHHCINFC_SEQUENCE_FILEALIASES "$Aliases: 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 */ +/*@}*/ + + +/* +################################################################################ +***************************** Header File Inclusion **************************** +################################################################################ +*/ + +#include <phHciNfc_Generic.h> + +/* +################################################################################ +****************************** Macro Definitions ******************************* +################################################################################ +*/ + +/* +################################################################################ +************************* Function Prototype Declaration *********************** +################################################################################ +*/ + + +/** + * \ingroup grp_hci_nfc + * + * The phHciNfc_FSM_Update function Validates the HCI State to + * the next operation ongoing. + * + * \param[in] psHciContext psHciContext is the context of + * the HCI Layer. + * \param[in] state state is the state to which the + * current HCI Layer state is validated. + * \param[in] validate_type validate the state by the type of the + * validation required. + * + * \retval NFCSTATUS_SUCCESS FSM Validated successfully . + * \retval NFCSTATUS_INVALID_STATE The supplied state parameter is invalid. + * + */ + +extern +NFCSTATUS +phHciNfc_FSM_Validate( + phHciNfc_sContext_t *psHciContext, + phHciNfc_eState_t state, + uint8_t validate_type + ); + +/** + * \ingroup grp_hci_nfc + * + * The phHciNfc_FSM_Update function Checks and Updates the HCI State to + * the next valid State. + * + * \param[in] psHciContext psHciContext is the context of + * the HCI Layer. + * \param[in] next_state next_state is the state to which + * we the HCI Layer. + * \param[in] transition transiton of the state whether + * ongoing or complete . + * + * \retval NFCSTATUS_SUCCESS FSM Updated successfully . + * \retval NFCSTATUS_INVALID_STATE The supplied state parameter is invalid. + * + */ + +extern +NFCSTATUS +phHciNfc_FSM_Update( + phHciNfc_sContext_t *psHciContext, + phHciNfc_eState_t next_state + ); + +/** + * \ingroup grp_hci_nfc + * + * The phHciNfc_FSM_Complete function completes the ongoing state transition + * from the current state to the next state. + * + * \param[in] psHciContext psHciContext is the context of + * the HCI Layer. + * + * \retval NFCSTATUS_SUCCESS FSM Updated successfully . + * \retval NFCSTATUS_INVALID_STATE The supplied state parameter is invalid. + * + */ + +extern +NFCSTATUS +phHciNfc_FSM_Complete( + phHciNfc_sContext_t *psHciContext + ); + + +/** + * \ingroup grp_hci_nfc + * + * The phHciNfc_FSM_Rollback function rolls back to previous valid state + * and abort the ongoing state transition. + * + * \param[in] psHciContext psHciContext is the context of + * the HCI Layer. + * + * \retval NONE. + * + */ + +extern +void +phHciNfc_FSM_Rollback( + phHciNfc_sContext_t *psHciContext + ); + + + +/** + * \ingroup grp_hci_nfc + * + * The phHciNfc_Initialise_Sequence function sequence initialises the + * HCI layer and the remote device by performing the operations required + * setup the reader and discovery functionality. + * + * \param[in] psHciContext psHciContext is the context of + * the HCI Layer. + * \param[in] pHwRef pHwRef is the Information of + * the Device Interface Link . + * + * \retval NFCSTATUS_SUCCESS HCI current initialise sequence successful. + * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters + * could not be interpreted properly. + * \retval Other errors Other related errors + * + */ + + +extern +NFCSTATUS +phHciNfc_Initialise_Sequence( + phHciNfc_sContext_t *psHciContext, + void *pHwRef + ); + +/** + * \ingroup grp_hci_nfc + * + * The phHciNfc_PollLoop_Sequence function sequence starts the + * discovery sequence of device. + * + * \param[in] psHciContext psHciContext is the context of + * the HCI Layer. + * \param[in] pHwRef pHwRef is the Information of + * the Device Interface Link . + * + * \retval NFCSTATUS_SUCCESS HCI Discovery Configuration sequence successful. + * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters + * could not be interpreted properly. + * \retval Other errors Other related errors + * + */ + +extern +NFCSTATUS +phHciNfc_PollLoop_Sequence( + phHciNfc_sContext_t *psHciContext, + void *pHwRef + ); + + +/** + * \ingroup grp_hci_nfc + * + * The phHciNfc_EmulationCfg_Sequence function sequence configures the + * device for different types of emulation supported. + * + * \param[in] psHciContext psHciContext is the context of + * the HCI Layer. + * \param[in] pHwRef pHwRef is the Information of + * the Device Interface Link . + * + * \retval NFCSTATUS_SUCCESS HCI Emulation Configuration + * sequence successful. + * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters + * could not be interpreted properly. + * \retval Other errors Other related errors + * + */ + +extern +NFCSTATUS +phHciNfc_EmulationCfg_Sequence( + phHciNfc_sContext_t *psHciContext, + void *pHwRef + ); + + +/** + * \ingroup grp_hci_nfc + * + * The phHciNfc_SmartMx_Mode_Sequence function sequence configures the + * SmartMx device for different modes by enabling and disabling polling. + * + * \param[in] psHciContext psHciContext is the context of + * the HCI Layer. + * \param[in] pHwRef pHwRef is the Information of + * the Device Interface Link . + * + * \retval NFCSTATUS_SUCCESS HCI SmartMX Mode Configuration + * sequence successful. + * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters + * could not be interpreted properly. + * \retval Other errors Other related errors + * + */ + +extern +NFCSTATUS +phHciNfc_SmartMx_Mode_Sequence( + phHciNfc_sContext_t *psHciContext, + void *pHwRef + ); + + +/** + * \ingroup grp_hci_nfc + * + * The phHciNfc_Connect_Sequence function sequence selects the + * discovered target for performing the transaction. + * + * \param[in] psHciContext psHciContext is the context of + * the HCI Layer. + * \param[in] pHwRef pHwRef is the Information of + * the Device Interface Link . + * + * \retval NFCSTATUS_SUCCESS HCI target selection sequence successful. + * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters + * could not be interpreted properly. + * \retval Other errors Other related errors + * + */ + +extern +NFCSTATUS +phHciNfc_Connect_Sequence( + phHciNfc_sContext_t *psHciContext, + void *pHwRef + ); + + +/** + * \ingroup grp_hci_nfc + * + * The phHciNfc_Disconnect_Sequence function sequence de-selects the + * selected target . + * + * \param[in] psHciContext psHciContext is the context of + * the HCI Layer. + * \param[in] pHwRef pHwRef is the Information of + * the Device Interface Link . + * + * \retval NFCSTATUS_SUCCESS HCI target de-selection sequence successful. + * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters + * could not be interpreted properly. + * \retval Other errors Other related errors + * + */ + +extern +NFCSTATUS +phHciNfc_Disconnect_Sequence( + phHciNfc_sContext_t *psHciContext, + void *pHwRef + ); + +/** + * \ingroup grp_hci_nfc + * + * The phHciNfc_Error_Sequence function sequence notifies the + * error in the HCI sequence to the upper layer . + * + * \param[in] psHciContext psHciContext is the context of + * the HCI Layer. + * \param[in] pHwRef pHwRef is the Information of + * the Device Interface Link . + * \param[in] status Notify status information from the + * HCI layer to the Upper Layer. + * + * + * \retval NFCSTATUS_SUCCESS HCI Error sequence Notification successful. + * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters + * could not be interpreted properly. + * \retval Other errors Other related errors + * + */ +extern +void +phHciNfc_Error_Sequence( + void *psContext, + void *pHwRef, + NFCSTATUS error_status, + void *pdata, + uint8_t length + ); + + +/** + * \ingroup grp_hci_nfc + * + * The phHciNfc_Resume_Sequence function sequence resumes the + * previous pending sequence of HCI . + * + * \param[in] psHciContext psHciContext is the context of + * the HCI Layer. + * \param[in] pHwRef pHwRef is the Information of + * the Device Interface Link . + * + * \retval NFCSTATUS_SUCCESS HCI sequence resume successful. + * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters + * could not be interpreted properly. + * \retval Other errors Other related errors + * + */ + +extern +NFCSTATUS +phHciNfc_Resume_Sequence( + phHciNfc_sContext_t *psHciContext, + void *pHwRef + ); + + +/** + * \ingroup grp_hci_nfc + * + * The phHciNfc_Release_Sequence function sequence releases the + * HCI layer and the remote device by performing the operations required + * release the reader and discovery functionality. + * + * \param[in] psHciContext psHciContext is the context of + * the HCI Layer. + * \param[in] pHwRef pHwRef is the Information of + * the Device Interface Link . + * + * \retval NFCSTATUS_SUCCESS HCI current release sequence successful. + * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters + * could not be interpreted properly. + * \retval Other errors Other related errors + * + */ + + +extern +NFCSTATUS +phHciNfc_Release_Sequence( + phHciNfc_sContext_t *psHciContext, + void *pHwRef + ); + + +/* +################################################################################ +***************************** Function Definitions ***************************** +################################################################################ +*/ + +#endif + |