Home | History | Annotate | Download | only in Linux_x86
      1 /*
      2  * Copyright (C) 2010 NXP Semiconductors
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 /**
     18  * \file phDalNfc_link.h
     19  * \brief DAL generic link interface for linux
     20  *
     21  * Project: Trusted NFC Linux Lignt
     22  *
     23  * $Date: 10 aug 2009
     24  * $Author: Jonathan roux
     25  * $Revision: 1.0 $
     26  *
     27  */
     28 
     29 /**< Basic type definitions */
     30 #include <phNfcTypes.h>
     31 /**< Generic Interface Layer Function Definitions */
     32 #include <phNfcInterface.h>
     33 #include <phDal4Nfc.h>
     34 
     35 typedef void      (*phDal4Nfc_link_initialize_CB_t)           (void);
     36 typedef void      (*phDal4Nfc_link_set_open_from_handle_CB_t) (phHal_sHwReference_t * pDalHwContext);
     37 typedef int       (*phDal4Nfc_link_is_opened_CB_t)            (void);
     38 typedef void      (*phDal4Nfc_link_flush_CB_t)                (void);
     39 typedef void      (*phDal4Nfc_link_close_CB_t)                (void);
     40 typedef NFCSTATUS (*phDal4Nfc_link_open_and_configure_CB_t)   (pphDal4Nfc_sConfig_t pConfig, void ** pLinkHandle);
     41 typedef int       (*phDal4Nfc_link_read_CB_t)                 (uint8_t * pBuffer, int nNbBytesToRead);
     42 typedef int       (*phDal4Nfc_link_write_CB_t)                (uint8_t * pBuffer, int nNbBytesToWrite);
     43 typedef int       (*phDal4Nfc_link_download_CB_t)             (long level);
     44 typedef int       (*phDal4Nfc_link_reset_CB_t)                (long level);
     45 
     46 
     47 typedef struct
     48 {
     49    phDal4Nfc_link_initialize_CB_t              init;
     50    phDal4Nfc_link_set_open_from_handle_CB_t    open_from_handle;
     51    phDal4Nfc_link_is_opened_CB_t               is_opened;
     52    phDal4Nfc_link_flush_CB_t                   flush;
     53    phDal4Nfc_link_close_CB_t                   close;
     54    phDal4Nfc_link_open_and_configure_CB_t      open_and_configure;
     55    phDal4Nfc_link_read_CB_t                    read;
     56    phDal4Nfc_link_write_CB_t                   write;
     57    phDal4Nfc_link_download_CB_t                download;
     58    phDal4Nfc_link_reset_CB_t                   reset;
     59 } phDal4Nfc_link_cbk_interface_t;
     60 
     61 
     62