Main Page | Data Structures | File List | Data Fields | Globals

ifdhandler.h

Go to the documentation of this file.
00001
00014 #ifndef IFD_HANDLER_H
00015 #define IFD_HANDLER_H
00016 
00017 typedef struct
00018 {
00019     LONG Protocol;
00020     LONG Length;
00021 } SCARD_IO_HEADER , *PSCARD_IO_HEADER;
00022
00023 /* 
00024  * The list of tags should be alot more but this is all I use in the
00025  * meantime 
00026  */
00027 #define TAG_IFD_ATR                     0x0303
00028 #define TAG_IFD_SLOTNUM                 0x0180
00029 #define TAG_IFD_SLOT_THREAD_SAFE        0x0FAC
00030 #define TAG_IFD_THREAD_SAFE             0x0FAD
00031 #define TAG_IFD_SLOTS_NUMBER            0x0FAE
00032 #define TAG_IFD_SIMULTANEOUS_ACCESS     0x0FAF
00033 
00034 /* 
00035  * End of tag list 
00036  */
00037
00038 /* 
00039  * IFD Handler version number enummerations 
00040  */
00041 #define IFD_HVERSION_1_0               0x00010000
00042 /* 
00043  * End of version number enummerations 
00044  */
00045
00046 /* 
00047  * List of defines available to ifdhandler 
00048  */
00049
00050 #define IFD_POWER_UP   500 
00051 #define IFD_POWER_DOWN 501 
00052 #define IFD_RESET      502 
00054 #define IFD_NEGOTIATE_PTS1 1
00055 #define IFD_NEGOTIATE_PTS2 2
00056 #define IFD_NEGOTIATE_PTS3 4
00057 
00058 #define IFD_SUCCESS                0
00059 #define IFD_ERROR_TAG              600
00060 #define IFD_ERROR_SET_FAILURE      601
00061 #define IFD_ERROR_VALUE_READ_ONLY  602
00062 #define IFD_ERROR_PTS_FAILURE      605
00063 #define IFD_ERROR_NOT_SUPPORTED    606
00064 #define IFD_PROTOCOL_NOT_SUPPORTED 607
00065 #define IFD_ERROR_POWER_ACTION     608
00066 #define IFD_ERROR_SWALLOW          609
00067 #define IFD_ERROR_EJECT            610
00068 #define IFD_ERROR_CONFISCATE       611
00069 #define IFD_COMMUNICATION_ERROR    612
00070 #define IFD_RESPONSE_TIMEOUT       613
00071 #define IFD_NOT_SUPPORTED          614
00072 #define IFD_ICC_PRESENT            615
00073 #define IFD_ICC_NOT_PRESENT        616
00074 
00075
00076 /*
00077  * List of Defined Functions Available to IFD_Handler 2.0 
00078  */
00079 RESPONSECODE IFDHCreateChannel( LONG, LONG );
00080 RESPONSECODE IFDHCloseChannel( LONG );
00081 RESPONSECODE IFDHGetCapabilities( LONG, LONG, LONG *, BYTE* );
00082 RESPONSECODE IFDHSetCapabilities( LONG, LONG, LONG, BYTE* );
00083 RESPONSECODE IFDHSetProtocolParameters( LONG, LONG, BYTE, BYTE, BYTE, BYTE );
00084 RESPONSECODE IFDHPowerICC( LONG, LONG, BYTE*, LONG * );
00085 RESPONSECODE IFDHTransmitToICC( LONG, SCARD_IO_HEADER, BYTE*, LONG, BYTE*, LONG *,
00086                                 PSCARD_IO_HEADER);
00087 RESPONSECODE IFDHControl( LONG, BYTE*, LONG, BYTE*, LONG * );
00088 RESPONSECODE IFDHICCPresence( LONG );
00089
00090
00091 #ifdef USING_VERSION_ONE_DRIVER
00092 /* 
00093  * List of Defined Functions Available to IFD_Handler 1.0 
00094  */
00095 RESPONSECODE IO_Create_Channel( LONG );
00096 RESPONSECODE IO_Close_Channel(  );
00097 RESPONSECODE IFD_Get_Capabilities( LONG, BYTE* );
00098 RESPONSECODE IFD_Set_Capabilities( LONG, BYTE* );
00099 RESPONSECODE IFD_Set_Protocol_Parameters( LONG, BYTE, BYTE, BYTE, BYTE );
00100 RESPONSECODE IFD_Power_ICC( LONG );
00101 RESPONSECODE IFD_Swallow_ICC(  );
00102 RESPONSECODE IFD_Eject_ICC(  );
00103 RESPONSECODE IFD_Confiscate_ICC(  );
00104 RESPONSECODE IFD_Transmit_to_ICC( SCARD_IO_HEADER, BYTE*, LONG, BYTE*, LONG *,
00105                                   PSCARD_IO_HEADER );
00106 RESPONSECODE IFD_Is_ICC_Present(  );
00107 RESPONSECODE IFD_Is_ICC_Absent(  );
00108 #endif /* USING_VERSION_ONE_DRIVER */
00109
00110 #endif

Generated on Thu Jan 20 16:17:47 2005 for Smart-card ifd-handler for Axis by doxygen 1.3.6