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 * \file phDalNfc_link.h
195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief DAL generic link interface for linux
205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Project: Trusted NFC Linux Lignt
225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * $Date: 10 aug 2009
245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * $Author: Jonathan roux
255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * $Revision: 1.0 $
265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**< Basic type definitions */
305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phNfcTypes.h>
315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**< Generic Interface Layer Function Definitions */
325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phNfcInterface.h>
335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phDal4Nfc.h>
345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef void      (*phDal4Nfc_link_initialize_CB_t)           (void);
365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef void      (*phDal4Nfc_link_set_open_from_handle_CB_t) (phHal_sHwReference_t * pDalHwContext);
375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef int       (*phDal4Nfc_link_is_opened_CB_t)            (void);
385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef void      (*phDal4Nfc_link_flush_CB_t)                (void);
395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef void      (*phDal4Nfc_link_close_CB_t)                (void);
405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef NFCSTATUS (*phDal4Nfc_link_open_and_configure_CB_t)   (pphDal4Nfc_sConfig_t pConfig, void ** pLinkHandle);
415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef int       (*phDal4Nfc_link_read_CB_t)                 (uint8_t * pBuffer, int nNbBytesToRead);
425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef int       (*phDal4Nfc_link_write_CB_t)                (uint8_t * pBuffer, int nNbBytesToWrite);
433e98767aaf73b4779a2bb39601806045b2ba1739Jeff Hamiltontypedef int       (*phDal4Nfc_link_download_CB_t)             (long level);
443e98767aaf73b4779a2bb39601806045b2ba1739Jeff Hamiltontypedef int       (*phDal4Nfc_link_reset_CB_t)                (long level);
453e98767aaf73b4779a2bb39601806045b2ba1739Jeff Hamilton
465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct
485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly   phDal4Nfc_link_initialize_CB_t              init;
505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly   phDal4Nfc_link_set_open_from_handle_CB_t    open_from_handle;
515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly   phDal4Nfc_link_is_opened_CB_t               is_opened;
525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly   phDal4Nfc_link_flush_CB_t                   flush;
535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly   phDal4Nfc_link_close_CB_t                   close;
545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly   phDal4Nfc_link_open_and_configure_CB_t      open_and_configure;
555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly   phDal4Nfc_link_read_CB_t                    read;
565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly   phDal4Nfc_link_write_CB_t                   write;
575e97605ca8d83414b122bae72e65ea388b66718adaniel_Tomas   phDal4Nfc_link_download_CB_t                download;
583e98767aaf73b4779a2bb39601806045b2ba1739Jeff Hamilton   phDal4Nfc_link_reset_CB_t                   reset;
595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly} phDal4Nfc_link_cbk_interface_t;
605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
62