driver.h File Reference

#include <gwenhywfar/ipc.h>
#include <gwenhywfar/inherit.h>
#include <gwenhywfar/types.h>
#include <chipcard/chipcard.h>
#include <chipcard/server/driver/reader.h>
#include <gwenhywfar/misc.h>
#include <gwenhywfar/logger.h>
#include <gwenhywfar/buffer.h>
#include <time.h>
#include <chipcard/server/driver/reader.h>
#include <chipcard/sharedstuff/pininfo.h>
Include dependency graph for server/driver/driver.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define LCD_DRIVER_IPC_MAXWORK   256
#define LCD_DRIVER_ERROR_OFFSET   0x80000000

Typedefs

typedef struct LCD_DRIVER LCD_DRIVER
Prototypes For Virtual Functions

typedef uint32_t(* LCD_DRIVER_SENDAPDU_FN )(LCD_DRIVER *d, int toReader, LCD_READER *r, LCD_SLOT *slot, const unsigned char *apdu, unsigned int apdulen, unsigned char *buffer, int *bufferlen)
typedef uint32_t(* LCD_DRIVER_CONNECTSLOT_FN )(LCD_DRIVER *d, LCD_SLOT *sl)
typedef uint32_t(* LCD_DRIVER_CONNECTREADER_FN )(LCD_DRIVER *d, LCD_READER *r)
typedef uint32_t(* LCD_DRIVER_DISCONNECTSLOT_FN )(LCD_DRIVER *d, LCD_SLOT *sl)
typedef uint32_t(* LCD_DRIVER_DISCONNECTREADER_FN )(LCD_DRIVER *d, LCD_READER *r)
typedef uint32_t(* LCD_DRIVER_RESETSLOT_FN )(LCD_DRIVER *d, LCD_SLOT *sl)
typedef uint32_t(* LCD_DRIVER_READERSTATUS_FN )(LCD_DRIVER *d, LCD_READER *r)
typedef uint32_t(* LCD_DRIVER_READERINFO_FN )(LCD_DRIVER *d, LCD_READER *r, GWEN_BUFFER *buf)
typedef int(* LCD_DRIVER_EXTENDREADER_FN )(LCD_DRIVER *d, LCD_READER *r)
typedef const char *(* LCD_DRIVER_GETERRORTEXT_FN )(LCD_DRIVER *d, uint32_t err)
typedef int(* LCD_DRIVER_HANDLEREQUEST_FN )(LCD_DRIVER *d, uint32_t rid, const char *name, GWEN_DB_NODE *dbReq)
typedef uint32_t(* LCD_DRIVER_PERFORMVERIFICATION_FN )(LCD_DRIVER *d, LCD_READER *r, LCD_SLOT *slot, const LC_PININFO *pi, int *triesLeft)
typedef uint32_t(* LCD_DRIVER_PERFORMMODIFICATION_FN )(LCD_DRIVER *d, LCD_READER *r, LCD_SLOT *slot, const LC_PININFO *pi, int *triesLeft)

Functions

 GWEN_INHERIT_FUNCTION_LIB_DEFS (LCD_DRIVER, CHIPCARD_API)
CHIPCARD_API uint32_t LCD_Driver_SendAPDU (LCD_DRIVER *d, int toReader, LCD_READER *r, LCD_SLOT *slot, const unsigned char *apdu, unsigned int apdulen, unsigned char *buffer, int *bufferlen)
CHIPCARD_API uint32_t LCD_Driver_ConnectSlot (LCD_DRIVER *d, LCD_SLOT *sl)
CHIPCARD_API uint32_t LCD_Driver_ConnectReader (LCD_DRIVER *d, LCD_READER *r)
CHIPCARD_API uint32_t LCD_Driver_DisconnectSlot (LCD_DRIVER *d, LCD_SLOT *sl)
CHIPCARD_API uint32_t LCD_Driver_DisconnectReader (LCD_DRIVER *d, LCD_READER *r)
Setters for Virtual Functions

CHIPCARD_API void LCD_Driver_SetSendApduFn (LCD_DRIVER *d, LCD_DRIVER_SENDAPDU_FN fn)
CHIPCARD_API void LCD_Driver_SetConnectSlotFn (LCD_DRIVER *d, LCD_DRIVER_CONNECTSLOT_FN fn)
CHIPCARD_API void LCD_Driver_SetDisconnectSlotFn (LCD_DRIVER *d, LCD_DRIVER_DISCONNECTSLOT_FN fn)
CHIPCARD_API void LCD_Driver_SetConnectReaderFn (LCD_DRIVER *d, LCD_DRIVER_CONNECTREADER_FN fn)
CHIPCARD_API void LCD_Driver_SetDisconnectReaderFn (LCD_DRIVER *d, LCD_DRIVER_DISCONNECTREADER_FN fn)
CHIPCARD_API void LCD_Driver_SetResetSlotFn (LCD_DRIVER *d, LCD_DRIVER_RESETSLOT_FN fn)
CHIPCARD_API void LCD_Driver_SetReaderStatusFn (LCD_DRIVER *d, LCD_DRIVER_READERSTATUS_FN fn)
CHIPCARD_API void LCD_Driver_SetReaderInfoFn (LCD_DRIVER *d, LCD_DRIVER_READERINFO_FN fn)
CHIPCARD_API void LCD_Driver_SetExtendReaderFn (LCD_DRIVER *d, LCD_DRIVER_EXTENDREADER_FN fn)
CHIPCARD_API void LCD_Driver_SetGetErrorTextFn (LCD_DRIVER *d, LCD_DRIVER_GETERRORTEXT_FN fn)
CHIPCARD_API void LCD_Driver_SetPerformVerificationFn (LCD_DRIVER *d, LCD_DRIVER_PERFORMVERIFICATION_FN f)
CHIPCARD_API void LCD_Driver_SetPerformModificationFn (LCD_DRIVER *d, LCD_DRIVER_PERFORMMODIFICATION_FN f)
CHIPCARD_API void LCD_Driver_SetHandleRequestFn (LCD_DRIVER *d, LCD_DRIVER_HANDLEREQUEST_FN fn)
Constructor, Destructor, Init

CHIPCARD_API LCD_DRIVERLCD_Driver_new ()
CHIPCARD_API void LCD_Driver_free (LCD_DRIVER *d)
CHIPCARD_API int LCD_Driver_Init (LCD_DRIVER *d, int argc, char **argv)
CHIPCARD_API int LCD_Driver_Connect (LCD_DRIVER *d, int code, const char *text, uint32_t dflagsValue, uint32_t dflagsMask)
CHIPCARD_API void LCD_Driver_Disconnect (LCD_DRIVER *d)
Functions for Testmode

CHIPCARD_API int LCD_Driver_Test (LCD_DRIVER *d)
CHIPCARD_API int LCD_Driver_IsTestMode (const LCD_DRIVER *d)
Getting Important Setup Information

CHIPCARD_API const char * LCD_Driver_GetDriverDataDir (const LCD_DRIVER *d)
CHIPCARD_API const char * LCD_Driver_GetLibraryFile (const LCD_DRIVER *d)
CHIPCARD_API const char * LCD_Driver_GetDriverId (const LCD_DRIVER *d)
Finding, Adding and Removing Readers

CHIPCARD_API LCD_READER_LIST * LCD_Driver_GetReaders (const LCD_DRIVER *d)
CHIPCARD_API LCD_READERLCD_Driver_FindReader (const LCD_DRIVER *d)
CHIPCARD_API LCD_READERLCD_Driver_FindReaderByName (const LCD_DRIVER *d, const char *name)
CHIPCARD_API LCD_READERLCD_Driver_FindReaderByPort (const LCD_DRIVER *d, int port)
CHIPCARD_API LCD_READERLCD_Driver_FindReaderById (const LCD_DRIVER *d, uint32_t id)
CHIPCARD_API LCD_READERLCD_Driver_FindReaderByDriversId (const LCD_DRIVER *d, uint32_t id)
CHIPCARD_API void LCD_Driver_AddReader (LCD_DRIVER *d, LCD_READER *r)
CHIPCARD_API void LCD_Driver_DelReader (LCD_DRIVER *d, LCD_READER *r)
Working on Incoming Requests

CHIPCARD_API int LCD_Driver_Work (LCD_DRIVER *d)
CHIPCARD_API int LCD_Driver_SendStatusChangeNotification (LCD_DRIVER *d, LCD_SLOT *sl)
CHIPCARD_API int LCD_Driver_SendReaderErrorNotification (LCD_DRIVER *d, LCD_READER *r, const char *text)

Define Documentation

#define LCD_DRIVER_IPC_MAXWORK   256
#define LCD_DRIVER_ERROR_OFFSET   0x80000000

Typedef Documentation

typedef struct LCD_DRIVER LCD_DRIVER
typedef uint32_t(* LCD_DRIVER_SENDAPDU_FN)(LCD_DRIVER *d, int toReader, LCD_READER *r, LCD_SLOT *slot, const unsigned char *apdu, unsigned int apdulen, unsigned char *buffer, int *bufferlen)
typedef uint32_t(* LCD_DRIVER_CONNECTSLOT_FN)(LCD_DRIVER *d, LCD_SLOT *sl)
typedef uint32_t(* LCD_DRIVER_CONNECTREADER_FN)(LCD_DRIVER *d, LCD_READER *r)
typedef uint32_t(* LCD_DRIVER_DISCONNECTSLOT_FN)(LCD_DRIVER *d, LCD_SLOT *sl)
typedef uint32_t(* LCD_DRIVER_RESETSLOT_FN)(LCD_DRIVER *d, LCD_SLOT *sl)
typedef uint32_t(* LCD_DRIVER_READERSTATUS_FN)(LCD_DRIVER *d, LCD_READER *r)
typedef uint32_t(* LCD_DRIVER_READERINFO_FN)(LCD_DRIVER *d, LCD_READER *r, GWEN_BUFFER *buf)
typedef const char*(* LCD_DRIVER_GETERRORTEXT_FN)(LCD_DRIVER *d, uint32_t err)
typedef int(* LCD_DRIVER_HANDLEREQUEST_FN)(LCD_DRIVER *d, uint32_t rid, const char *name, GWEN_DB_NODE *dbReq)
typedef uint32_t(* LCD_DRIVER_PERFORMVERIFICATION_FN)(LCD_DRIVER *d, LCD_READER *r, LCD_SLOT *slot, const LC_PININFO *pi, int *triesLeft)
typedef uint32_t(* LCD_DRIVER_PERFORMMODIFICATION_FN)(LCD_DRIVER *d, LCD_READER *r, LCD_SLOT *slot, const LC_PININFO *pi, int *triesLeft)

Function Documentation

GWEN_INHERIT_FUNCTION_LIB_DEFS ( LCD_DRIVER  ,
CHIPCARD_API   
)
CHIPCARD_API void LCD_Driver_SetSendApduFn ( LCD_DRIVER d,
LCD_DRIVER_SENDAPDU_FN  fn 
)
CHIPCARD_API void LCD_Driver_SetConnectSlotFn ( LCD_DRIVER d,
LCD_DRIVER_CONNECTSLOT_FN  fn 
)
CHIPCARD_API void LCD_Driver_SetDisconnectSlotFn ( LCD_DRIVER d,
LCD_DRIVER_DISCONNECTSLOT_FN  fn 
)
CHIPCARD_API void LCD_Driver_SetConnectReaderFn ( LCD_DRIVER d,
LCD_DRIVER_CONNECTREADER_FN  fn 
)
CHIPCARD_API void LCD_Driver_SetDisconnectReaderFn ( LCD_DRIVER d,
LCD_DRIVER_DISCONNECTREADER_FN  fn 
)
CHIPCARD_API void LCD_Driver_SetResetSlotFn ( LCD_DRIVER d,
LCD_DRIVER_RESETSLOT_FN  fn 
)
CHIPCARD_API void LCD_Driver_SetReaderStatusFn ( LCD_DRIVER d,
LCD_DRIVER_READERSTATUS_FN  fn 
)
CHIPCARD_API void LCD_Driver_SetReaderInfoFn ( LCD_DRIVER d,
LCD_DRIVER_READERINFO_FN  fn 
)
CHIPCARD_API void LCD_Driver_SetExtendReaderFn ( LCD_DRIVER d,
LCD_DRIVER_EXTENDREADER_FN  fn 
)
CHIPCARD_API void LCD_Driver_SetGetErrorTextFn ( LCD_DRIVER d,
LCD_DRIVER_GETERRORTEXT_FN  fn 
)
CHIPCARD_API void LCD_Driver_SetPerformVerificationFn ( LCD_DRIVER d,
LCD_DRIVER_PERFORMVERIFICATION_FN  f 
)
CHIPCARD_API void LCD_Driver_SetPerformModificationFn ( LCD_DRIVER d,
LCD_DRIVER_PERFORMMODIFICATION_FN  f 
)
CHIPCARD_API void LCD_Driver_SetHandleRequestFn ( LCD_DRIVER d,
LCD_DRIVER_HANDLEREQUEST_FN  fn 
)
CHIPCARD_API LCD_DRIVER* LCD_Driver_new (  ) 
CHIPCARD_API void LCD_Driver_free ( LCD_DRIVER d  ) 
CHIPCARD_API int LCD_Driver_Init ( LCD_DRIVER d,
int  argc,
char **  argv 
)
CHIPCARD_API int LCD_Driver_Connect ( LCD_DRIVER d,
int  code,
const char *  text,
uint32_t  dflagsValue,
uint32_t  dflagsMask 
)
CHIPCARD_API void LCD_Driver_Disconnect ( LCD_DRIVER d  ) 
CHIPCARD_API int LCD_Driver_Test ( LCD_DRIVER d  ) 
CHIPCARD_API int LCD_Driver_IsTestMode ( const LCD_DRIVER d  ) 
CHIPCARD_API const char* LCD_Driver_GetDriverDataDir ( const LCD_DRIVER d  ) 
CHIPCARD_API const char* LCD_Driver_GetLibraryFile ( const LCD_DRIVER d  ) 
CHIPCARD_API const char* LCD_Driver_GetDriverId ( const LCD_DRIVER d  ) 
CHIPCARD_API LCD_READER_LIST* LCD_Driver_GetReaders ( const LCD_DRIVER d  ) 
CHIPCARD_API LCD_READER* LCD_Driver_FindReader ( const LCD_DRIVER d  ) 
CHIPCARD_API LCD_READER* LCD_Driver_FindReaderByName ( const LCD_DRIVER d,
const char *  name 
)
CHIPCARD_API LCD_READER* LCD_Driver_FindReaderByPort ( const LCD_DRIVER d,
int  port 
)
CHIPCARD_API LCD_READER* LCD_Driver_FindReaderById ( const LCD_DRIVER d,
uint32_t  id 
)
CHIPCARD_API LCD_READER* LCD_Driver_FindReaderByDriversId ( const LCD_DRIVER d,
uint32_t  id 
)
CHIPCARD_API void LCD_Driver_AddReader ( LCD_DRIVER d,
LCD_READER r 
)
CHIPCARD_API void LCD_Driver_DelReader ( LCD_DRIVER d,
LCD_READER r 
)
CHIPCARD_API int LCD_Driver_Work ( LCD_DRIVER d  ) 
CHIPCARD_API int LCD_Driver_SendStatusChangeNotification ( LCD_DRIVER d,
LCD_SLOT sl 
)
CHIPCARD_API int LCD_Driver_SendReaderErrorNotification ( LCD_DRIVER d,
LCD_READER r,
const char *  text 
)
CHIPCARD_API uint32_t LCD_Driver_SendAPDU ( LCD_DRIVER d,
int  toReader,
LCD_READER r,
LCD_SLOT slot,
const unsigned char *  apdu,
unsigned int  apdulen,
unsigned char *  buffer,
int *  bufferlen 
)
CHIPCARD_API uint32_t LCD_Driver_ConnectSlot ( LCD_DRIVER d,
LCD_SLOT sl 
)
CHIPCARD_API uint32_t LCD_Driver_ConnectReader ( LCD_DRIVER d,
LCD_READER r 
)
CHIPCARD_API uint32_t LCD_Driver_DisconnectSlot ( LCD_DRIVER d,
LCD_SLOT sl 
)
CHIPCARD_API uint32_t LCD_Driver_DisconnectReader ( LCD_DRIVER d,
LCD_READER r 
)
Generated on Mon Jul 5 23:11:59 2010 for libchipcard by  doxygen 1.6.3