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.h                                                           *
225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \brief HCI Header for the Generic HCI Management.                           *
235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* Project: NFC-FRI-1.1                                                        *
265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* $Date: Mon Apr  5 14:37:06 2010 $                                           *
285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* $Author: ing04880 $                                                         *
295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* $Revision: 1.39 $                                                           *
305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* $Aliases: 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/*@{*/
375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#ifndef PHHCINFC_H
395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHHCINFC_H
405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*@}*/
425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \name HCI
445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * File: \ref phHciNfc.h
465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*@{*/
495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PH_HCINFC_FILEREVISION "$Revision: 1.39 $" /**< \ingroup grp_file_attributes */
505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PH_HCINFC_FILEALIASES  "$Aliases: 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################################################################################
555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly***************************** Header File Inclusion ****************************
565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly################################################################################
575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phNfcStatus.h>
605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phNfcInterface.h>
615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#ifdef ANDROID
625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <string.h>
635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif
645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*
665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly################################################################################
675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly****************************** Macro Definitions *******************************
685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly################################################################################
695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*
735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly################################################################################
745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly******************** Enumeration and Structure Definition **********************
755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly################################################################################
765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef enum phHciNfc_Init
795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly  HCI_SESSION = 0x00,
816dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren  HCI_NFC_DEVICE_TEST,
826dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren  HCI_CUSTOM_INIT,
836dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren  HCI_SELF_TEST
845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHciNfc_Init_t;
855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup  grp_hal_hci
875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \if hal
895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief HCI Tag Exchange Information
905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \else
915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief HCI-Specific
925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \endif
935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The <em> Tag Exchange Info Structure </em> holds the exchange information to
955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  the connected tag .
965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \note All members of this structure are in parameters [in].
985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
1005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHciNfc_Tag_XchgInfo
1025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
1035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /** \internal RF Reader Command Type */
1045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                     cmd_type;
1055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /** \internal Address Field required for only Mifare
1065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     *  Family Proprietary Cards.
1075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     *  The Address Size is Valid only upto 255 Blocks limit
1085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     *  i:e for Mifare 4K
1095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     */
1105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                     addr;
1115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHciNfc_Tag_XchgInfo_t;
1125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup  grp_hal_hci
1145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \if hal
1165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief HCI NFC-IP Exchange Information
1175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \else
1185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief HCI-Specific
1195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \endif
1205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The <em> NFC-IP Exchange Info Structure </em> holds the exchange information to
1225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  the connected NFC-IP target .
1235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \note All members of this structure are in parameters [in].
1255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
1275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHciNfc_NfcIP_XchgInfo
1295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
1305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /** \internal NFC-IP DEP Meta Chining Information */
1315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                     more_info;
1325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHciNfc_NfcIP_XchgInfo_t;
1345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup  grp_hal_hci
1365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \if hal
1385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief HCI Target Exchange Information
1395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \else
1405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief HCI-Specific
1415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \endif
1425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The <em> Target Exchange Info Structure </em> holds all the exchange information to
1445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  the connected target .
1455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \note All members of this structure are in parameters [in].
1475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
1495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHciNfc_XchgInfo
1525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
1535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /** \internal Exchange Data/NFC-IP DEP
1545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     *   Exchange Buffer */
1555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                     *tx_buffer;
1565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /** \internal Exchange Data/NFC-IP DEP
1575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     *   Exchange Buffer Length*/
1585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint16_t                     tx_length;
1595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    union
1615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    {
1625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        phHciNfc_Tag_XchgInfo_t   tag_info;
1635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        phHciNfc_NfcIP_XchgInfo_t nfc_info;
1645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    }params;
1655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHciNfc_XchgInfo_t;
1675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*
1715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly################################################################################
1725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*********************** Function Prototype Declaration *************************
1735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly################################################################################
1745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
1755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
1775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
1785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Initialise function initialises the HCI context and all other
1805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  resources used in the HCI Layer for the corresponding interface link.
1815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in,out]  psHciHandle         psHciHandle is the handle or the context
1835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the HCI Layer.
1845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
1855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
1865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  init_mode               init_mode specifies the kind of the
1875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      Initialisation for the HCI layer .
1885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwConfig               pHwConfig is the Information required
1895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      to configure the parameters of the
1905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      NFC Device .
1915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHalNotify              Upper layer Notification function
1925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      pointer.
1935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psContext               psContext is the context of
1945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Upper Layer.
1955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciLayerCfg           Pointer to the  HCI Layer configuration
1965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      Structure.
1975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           Initialisation of HCI Layer is in Progress.
1995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
2005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
2015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
2025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
2045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly extern
2065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS
2075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHciNfc_Initialise (
2085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *psHciHandle,
2095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *pHwRef,
2105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        phHciNfc_Init_t                 init_mode,
2115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        phHal_sHwConfig_t               *pHwConfig,
2125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        pphNfcIF_Notification_CB_t       pHalNotify,
2135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *psContext,
2145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        phNfcLayer_sCfg_t               *psHciLayerCfg
2155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                     );
2165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
2185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
2195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Release function releases all the resources used in the HCI
2215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  Layer for the corresponding interface link, described by the HCI handle.
2225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciHandle             psHciHandle is the handle or the context
2245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the HCI Layer.
2255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
2265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
2275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHalReleaseCB           Upper layer release callback function
2285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      pointer .
2295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psContext               psContext is the context of
2305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Upper Layer.
2315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           Releasing of HCI Resources are in Progress.
2335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
2345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
2355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
2365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
2385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly extern
2405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS
2415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHciNfc_Release (
2425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *psHciHandle,
2435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *pHwRef,
2445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    pphNfcIF_Notification_CB_t      pHalReleaseCB,
2455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *psContext
2465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                  );
2475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
2505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
2515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_Config_Discovery (
2525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *psHciHandle,
2535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *pHwRef,
2545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    phHal_sADD_Cfg_t                *pPollConfig
2555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    );
2565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
2595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
2605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Restart_Discovery function restarts the Polling Wheel.
2625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciHandle             psHciHandle is the handle or the context
2645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the HCI Layer.
2655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
2665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
2676dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren *  \param[in]  discovery_type                 If True: Start re-polling of the target
2685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      after the Target Device is de-activated
2695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      or else - continue discovery with next
2705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      technology.
2715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           The Discovery Wheel retarted.
2725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
2735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
2745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
2755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
2775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly extern
2795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS
2805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHciNfc_Restart_Discovery (
2815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *psHciHandle,
2825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *pHwRef,
2836dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren                        uint8_t                         discovery_type
2845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                     );
2855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly /**
2885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
2895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Start_Discovery function Starts the Polling Wheel.
2915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciHandle             psHciHandle is the handle or the context
2935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the HCI Layer.
2945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
2955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
2965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           The Discovery Wheel Started.
2975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
2985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
2995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
3005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
3015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
3025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly extern
3045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS
3055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHciNfc_Start_Discovery (
3065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *psHciHandle,
3075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *pHwRef
3085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                     );
3095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly /**
3125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
3135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
3145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Stop_Discovery function Stops the Polling Wheel.
3155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
3165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciHandle             psHciHandle is the handle or the context
3175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the HCI Layer.
3185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
3195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
3205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           The Discovery Wheel Stopped.
3215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
3225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
3235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
3245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
3255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
3265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly extern
3285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS
3295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHciNfc_Stop_Discovery (
3305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *psHciHandle,
3315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *pHwRef
3325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                     );
3335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly /**
3365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
3375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
3385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Configure function Configures Configures the Polling Wheel to
3395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  select the kind of Tags to be polled. This also allows to enable/disable
3405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  the Tag Emulation. This also configures the Secure elements the UICC, WI and
3415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  Target to Emulate the Tag or Target.
3425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
3435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
3445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciHandle             psHciHandle is the handle or the context
3455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the HCI Layer.
3465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
3475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
3485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  config_type             config_type specifies the type of the
3495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      Parameter configuration.
3505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pConfig                 pConfig is the Information for
3515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      Configuring the Device.
3525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           The Emulation configuration pending.
3535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
3545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
3555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
3565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
3575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
3585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly extern
3605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS
3615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHciNfc_Configure (
3625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *psHciHandle,
3635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *pHwRef,
3645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        phHal_eConfigType_t             config_type,
3655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        phHal_uConfig_t                 *pConfig
3665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                     );
3675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly /**
3695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
3705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
3715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Switch_SmxMode function Switches the WI(S2C) interface
3725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  from Wired/Virtual to vice versa.
3735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
3745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
3755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciHandle             psHciHandle is the handle or the context
3765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the HCI Layer.
3775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
3785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
3795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  smx_mode                smx_mode specifies the type of the switch
3805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      configuration.
3815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pPollConfig             pPollConfig is the Information for
3825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      polling the SmartMX Device.
3835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           The SmartMX Mode Switch pending.
3845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
3855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
3865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
3875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
3885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
3895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS
3915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHciNfc_Switch_SmxMode (
3925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *psHciHandle,
3935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *pHwRef,
3945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        phHal_eSmartMX_Mode_t           smx_mode,
3955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        phHal_sADD_Cfg_t                *pPollConfig
3965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                     );
3975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly /**
4005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
4015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Switch_SwpMode function Switches the SWP Link
4035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  from On/Off to vice versa.
4045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciHandle             psHciHandle is the handle or the context
4075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the HCI Layer.
4085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
4095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
4105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  swp_mode                swp_mode specifies to switch on/off the
4115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      SWP Link.
4125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           The SWP Mode Switch pending.
4135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
4145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
4155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
4165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
4185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS
4205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHciNfc_Switch_SwpMode (
4215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *psHciHandle,
4225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *pHwRef,
4235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        phHal_eSWP_Mode_t               swp_mode /* ,
4245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                            *pSwpCfg */
4255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                     );
4265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
4305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
4315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Connect function selects the discovered target to
4335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  perform the transactions on it.
4345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciHandle             psHciHandle is the handle or the context
4375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the HCI Layer.
4385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
4395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
4405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  p_remote_dev_info       p_remote_dev_info is the information
4415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the Target Device to be connected .
4425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           To select the remote target pending.
4435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
4445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
4455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
4465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
4485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly extern
4505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS
4515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHciNfc_Connect (
4525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *psHciHandle,
4535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *pHwRef,
4545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    phHal_sRemoteDevInformation_t   *p_remote_dev_info
4555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                 );
4565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
4595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
4605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Reactiavte function reactivates the discovered target to
4625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  and selects that target perform the transactions on it.
4635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciHandle             psHciHandle is the handle or the context
4665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the HCI Layer.
4675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
4685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
4695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  p_remote_dev_info       p_remote_dev_info is the information
4705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the Target Device to be reactivated .
4715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           To reactivate the remote target pending.
4725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
4735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
4745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
4755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
4775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly extern
4805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS
4815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHciNfc_Reactivate (
4825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *psHciHandle,
4835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *pHwRef,
4845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    phHal_sRemoteDevInformation_t   *p_target_info
4855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                 );
4865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
4895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
4905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Disconnect function de-selects the selected target and
4925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  any ongoing transactions .
4935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
4955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciHandle             psHciHandle is the handle or the context
4965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the HCI Layer.
4975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
4985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
4996dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren *  \param[in]  discovery_type          If NFC_RF_DISCOVERY_REPOLL: Start re-polling of
5006dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren *                                      the target after the Target Device is
5016dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren *                                      de-activatedor if NFC_RF_DISCOVERY_CONTINUE -
5026dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren *                                      continue discovery with next technology or
5036dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren *                                      stop the discovery wheel.
5045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           To De-select the remote target pending.
5065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
5075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
5085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
5095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
5115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly extern
5135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS
5145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHciNfc_Disconnect (
5155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *psHciHandle,
5165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *pHwRef,
5176dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren                    uint8_t                         discovery_type
5185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                 );
5195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
5225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
5235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Presence_Check function checks for the presence of the target
5255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  selected in the vicinity of the Reader's RF Field .
5265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciHandle             psHciHandle is the handle or the context
5295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the HCI Layer.
5305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
5315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
5325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           Presence Check of the remote target
5335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      pending.
5345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
5355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
5365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
5375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
5395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
5415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
5425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_Presence_Check (
5435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *psHciHandle,
5445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *pHwRef
5455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    );
5465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
5495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
5505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Select_Next_Target function selects and activates the
5525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  next target present in the the Reader's RF Field .
5535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciHandle             psHciHandle is the handle or the
5565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      context of the HCI Layer.
5575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
5585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
5595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           selection and activation of the next
5605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      remote target pending.
5615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
5625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
5635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
5645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
5665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
5685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
5695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_Select_Next_Target (
5705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *psHciHandle,
5715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *pHwRef
5725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    );
5735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly /**
5765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
5775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Exchange_Data function exchanges the data
5795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  to/from the selected remote target device.
5805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciHandle             psHciHandle is the handle or the context
5835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the HCI Layer.
5845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
5855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
5865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  p_remote_dev_info       p_remote_dev_info is the information of the
5875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      selected target to which data
5885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      should be sent.
5895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  p_xchg_info             The exchange info contains the command type,
5905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      addr and data to be sent to the connected
5915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      remote target device.
5925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           Data to remote target pending.
5935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
5945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
5955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
5965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
5985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly extern
6005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS
6015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHciNfc_Exchange_Data (
6025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *psHciHandle,
6035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *pHwRef,
6045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    phHal_sRemoteDevInformation_t   *p_remote_dev_info,
6055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    phHciNfc_XchgInfo_t             *p_xchg_info
6065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                );
6075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly /**
6095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
6105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_Send_Data function Sends the data provided
6125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  to the appropriate remote target device.
6135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psHciHandle             psHciHandle is the handle or the context
6165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the HCI Layer.
6175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
6185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
6195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  p_remote_dev_info       p_remote_dev_info is the information
6205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      of the selected target to which data
6215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      should be sent.
6225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  p_send_param            The send param contains the
6235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      data to be sent to the
6245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      remote device.
6255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           Data to remote device pending.
6265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
6275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
6285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
6295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
6315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly extern
6335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS
6345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHciNfc_Send_Data (
6355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *psHciHandle,
6365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *pHwRef,
6375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    phHal_sRemoteDevInformation_t   *p_remote_dev_info,
6385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    phHciNfc_XchgInfo_t             *p_send_param
6395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                 );
6405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly /**
6425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
6435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_System_Test function performs the System Management Tests
6455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * provided by the NFC Peripheral device.
6465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psContext               psContext is the pointer to HCI Layer
6485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      context Structure.
6495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
6505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
6515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  test_type               test_type is the type of the Self Test
6525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      that needs to be performed on the device.
6535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  test_param              test_param is the parameter for the Self Test
6545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      that needs to be performed on the device.
6555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           System Test on the System Management
6585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      is pending.
6595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
6605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
6615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
6625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
6645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
6665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
6675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_System_Test(
6685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *psContext,
6695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *pHwRef,
6705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    uint32_t                        test_type,
6715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    phNfc_sData_t                   *test_param
6725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                 );
6735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly /**
6755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
6765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_System_Configure function performs the System Management
6785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Configuration with the value provided.
6795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psContext               psContext is the pointer to HCI Layer
6815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      context Structure.
6825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
6835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
6845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  config_type             config_type is the type of the configuration
6855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      that needs to be performed on the device.
6865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  config_value            config_value is the value for the configuring
6875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      that needs to be performed on the device.
6885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           Configuration of the provided information to
6915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the is pending.
6925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
6935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
6945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
6955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
6975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
6985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
6995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_System_Configure (
7005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                void                            *psHciHandle,
7015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                void                            *pHwRef,
7025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                uint32_t                        config_type,
7035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                uint8_t                         config_value
7045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                );
7055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly /**
7075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hci_nfc
7085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
7095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The phHciNfc_System_Get_Info function obtains the System Management
7105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * information from the address provided.
7115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
7125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  psContext               psContext is the pointer to HCI Layer
7135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      context Structure.
7145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  pHwRef                  pHwRef is the Information of
7155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      the Device Interface Link .
7165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in]  info_type               info_type is the type of the Information
7175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      that needs to be obtained from the device.
7185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \param[in,out]  p_val               p_val is the pointer to which the
7195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      information need to be updated.
7205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
7215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
7225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_PENDING           Get information from the NFC Device
7235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      is pending.
7245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
7255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *                                      could not be interpreted properly.
7265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \retval Other errors                Errors related to the other layers
7275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
7285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
7295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
7305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
7315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_System_Get_Info(
7325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                void                            *psHciHandle,
7335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                void                            *pHwRef,
7345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                uint32_t                        info_type,
7355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                uint8_t                         *p_val
7365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                );
7375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
7395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
7405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_PRBS_Test (
7415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                void                            *psHciHandle,
7425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                void                            *pHwRef,
7435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                uint32_t                        test_type,
7445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                phNfc_sData_t                   *test_param
7455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                );
7465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#if 0
7485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly extern
7495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly NFCSTATUS
7505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly phHciNfc_Receive_Data (
7515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *psHciHandle,
7525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    void                            *pHwRef,
7535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    uint8_t                         *p_data,
7545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    uint8_t                         length
7555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                 );
7565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif
7585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif
7615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
762