15d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*
25d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Copyright (C) 2010 NXP Semiconductors
35d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
45d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Licensed under the Apache License, Version 2.0 (the "License");
55d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * you may not use this file except in compliance with the License.
65d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * You may obtain a copy of the License at
75d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
85d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *      http://www.apache.org/licenses/LICENSE-2.0
95d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Unless required by applicable law or agreed to in writing, software
115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * distributed under the License is distributed on an "AS IS" BASIS,
125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * See the License for the specific language governing permissions and
145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * limitations under the License.
155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*!
185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* =========================================================================== *
195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \file  phHciNfc_CE_B.h                                             *
225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \brief HCI card emulation management routines.                              *
235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* Project: NFC-FRI-1.1                                                        *
265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* $Date: Fri Aug 14 17:01:26 2009 $                                           *
285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* $Author: ing04880 $                                                         *
295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* $Revision: 1.4 $                                                            *
305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* $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 $                                                                *
315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* =========================================================================== *
335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#ifndef PHHCINFC_CE_B_H
375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHHCINFC_CE_B_H
385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*@}*/
405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \name HCI
445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* File: \ref phHciNfc_CE_B.h
465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*@{*/
495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHHCINFC_CE_B_FILEREVISION "$Revision: 1.4 $" /**< \ingroup grp_file_attributes */
505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHHCINFC_CE_B_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 */
515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*@}*/
525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*
545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly***************************** Header File Inclusion ****************************
555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phHciNfc_Generic.h>
585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*
605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly****************************** Macro Definitions *******************************
615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define HOST_CE_B_MODE_INDEX                (0x01U)
635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define HOST_CE_B_PUPI_INDEX                (0x02U)
645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define HOST_CE_B_AFI_INDEX                 (0x03U)
655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define HOST_CE_B_ATQB_INDEX                (0x04U)
665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define HOST_CE_B_HIGH_LAYER_RESP_INDEX     (0x05U)
675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define HOST_CE_B_DATA_RATE_MAX_INDEX       (0x05U)
685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*
705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly******************** Enumeration and Structure Definition **********************
715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/* Sequence list */
745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef enum phHciNfc_CE_B_Seq{
755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    HOST_CE_B_INVALID_SEQ,
765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    HOST_CE_B_PIPE_OPEN,
775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    HOST_CE_B_PUPI_SEQ,
785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    HOST_CE_B_ATQB_SEQ,
795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    HOST_CE_B_ENABLE_SEQ,
805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    HOST_CE_B_DISABLE_SEQ,
815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    HOST_CE_B_PIPE_CLOSE,
825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    HOST_CE_B_PIPE_DELETE
835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHciNfc_CE_B_Seq_t;
845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/* Information structure for the card emulation B gate */
865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHciNfc_CE_B_Info{
875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHciNfc_CE_B_Seq_t         current_seq;
885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHciNfc_CE_B_Seq_t         next_seq;
895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Pointer to the card emulation B pipe information */
905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHciNfc_Pipe_Info_t        *p_pipe_info;
915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                     pipe_id;
925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly} phHciNfc_CE_B_Info_t;
945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*
965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*********************** Function Prototype Declaration *************************
975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*!
1005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief Allocates the resources of card emulation B management gate.
1015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * This function Allocates the resources of the card emulation B management
1035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * gate Information Structure.
1045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
1065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
1075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
1085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_CE_B_Init_Resources(
1095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                phHciNfc_sContext_t     *psHciContext
1105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                         );
1115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
1135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \ingroup grp_hci_nfc
1145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
1155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   The phHciNfc_CE_B_Get_PipeID function gives the pipe id of the card
1165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   emulation B gate
1175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
1185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   \param[in]  psHciContext            psHciContext is the pointer to HCI Layer
1195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                       context Structure.
1205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   \param[in]  pHwRef                  pHwRef is the Information of
1215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                       the Device Interface Link
1225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
1235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   \retval NFCSTATUS_SUCCESS           Function execution is successful.
1245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
1255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                       could not be interpreted properly.
1265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
1275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
1285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
1295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
1305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_CE_B_Get_PipeID(
1315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                            phHciNfc_sContext_t     *psHciContext,
1325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                            uint8_t                 *ppipe_id
1335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                            );
1345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
1365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \ingroup grp_hci_nfc
1375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
1385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The phHciNfc_CE_B_Update_PipeInfo function updates the pipe_id of the card
1395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  emulation B gate management Structure.
1405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
1415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  psHciContext            psHciContext is the pointer to HCI Layer
1425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      context Structure.
1435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  pipeID                  pipeID of the card emulation A gate
1445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  pPipeInfo               Update the pipe Information of the reader
1455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      A gate
1465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
1475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \retval NFCSTATUS_SUCCESS           Function execution is successful.
1485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
1495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      could not be interpreted properly.
1505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
1515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
1525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
1545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
1555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_CE_B_Update_PipeInfo(
1565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                  phHciNfc_sContext_t     *psHciContext,
1575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                  uint8_t                 pipeID,
1585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                  phHciNfc_Pipe_Info_t    *pPipeInfo
1595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                  );
1605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
1625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \ingroup grp_hci_nfc
1635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
1645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The phHciNfc_CE_B_SendData_Event function sends data to the PN544
1655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
1665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  psHciContext            psHciContext is the pointer to HCI Layer
1675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      context Structure.
1685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  pHwRef                  pHwRef is the Information of
1695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      the Device Interface Link
1705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  pipeID                  pipeID of the card emulation B gate
1715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  pPipeInfo               Update the pipe Information of the card
1725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      emulation B gate
1735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
1745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \retval NFCSTATUS_SUCCESS           Function execution is successful.
1755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
1765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      could not be interpreted properly.
1775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
1785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
1795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#ifdef CE_B_SEND_EVENT
1805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
1815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
1825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_CE_B_SendData_Event(
1835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                             void               *psContext,
1845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                             void               *pHwRef,
1855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                             uint8_t            *pEvent,
1865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                             uint8_t            length
1875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                       );
1885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif /* #ifdef CE_B_SEND_EVENT */
1895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
1915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \ingroup grp_hci_nfc
1925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
1935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The phHciNfc_CE_B_Mode function sends data to the set the card emulation mode
1945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
1955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  psHciContext            psHciContext is the pointer to HCI Layer
1965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      context Structure.
1975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  pHwRef                  pHwRef is the Information of
1985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      the Device Interface Link
1995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  enable_type             type to enable
2005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
2015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \retval NFCSTATUS_SUCCESS           Function execution is successful.
2025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
2035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      could not be interpreted properly.
2045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
2055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
2065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
2075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_CE_B_Mode(
2085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                            void        *psHciHandle,
2095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                            void        *pHwRef,
2105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                            uint8_t     enable_type
2115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                  );
2125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
2145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \ingroup grp_hci_nfc
2155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
2165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The phHciNfc_CE_B_Initialise function opens the CE B and set all the
2175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   required parameters for CE B
2185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
2195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  psHciContext            psHciContext is the pointer to HCI Layer
2205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      context Structure.
2215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  pHwRef                  pHwRef is the Information of
2225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      the Device Interface Link
2235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
2245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \retval NFCSTATUS_SUCCESS           Function execution is successful.
2255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
2265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      could not be interpreted properly.
2275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
2285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
2295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
2305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
2315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_CE_B_Initialise(
2325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        phHciNfc_sContext_t     *psHciContext,
2335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                    *pHwRef
2345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        );
2355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
2375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \ingroup grp_hci_nfc
2385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
2395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The phHciNfc_CE_B_Initialise function close the CE B and reset all the
2405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   required parameters to default value of CE B
2415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
2425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  psHciContext            psHciContext is the pointer to HCI Layer
2435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      context Structure.
2445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  pHwRef                  pHwRef is the Information of
2455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      the Device Interface Link
2465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
2475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \retval NFCSTATUS_SUCCESS           Function execution is successful.
2485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
2495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      could not be interpreted properly.
2505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
2515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
2525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
2535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
2545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_CE_B_Release(
2555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        phHciNfc_sContext_t     *psHciContext,
2565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                    *pHwRef
2575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        );
2585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
2605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \ingroup grp_hci_nfc
2615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
2625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The phHciNfc_CE_B_Update_Seq function to update CE B sequence depending on the
2635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  specified \ref seq_type
2645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
2655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  psHciContext             psHciContext is the pointer to HCI Layer
2665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                       context Structure.
2675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \param[in]  seq_type                 sequence type specified in
2685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                       \ref phHciNfc_eSeqType_t
2695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
2705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \retval NFCSTATUS_SUCCESS           Function execution is successful.
2715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
2725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                      could not be interpreted properly.
2735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
2745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
2755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
2765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
2775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_CE_B_Update_Seq(
2785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        phHciNfc_sContext_t     *psHciContext,
2795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        phHciNfc_eSeqType_t     seq_type
2805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    );
2815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif /* PHHCINFC_CE_B_H */
2835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
285