client_imp.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003                              -------------------
00004     cvs         : $Id: client_p.h 137 2005-11-03 13:07:50Z aquamaniac $
00005     begin       : Mon Mar 01 2004
00006     copyright   : (C) 2004 by Martin Preuss
00007     email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  *          Please see toplevel file COPYING for license details           *
00011  ***************************************************************************/
00012 
00013 
00018 
00019 #ifndef CHIPCARD_CLIENT_CLIENT_IMP_H
00020 #define CHIPCARD_CLIENT_CLIENT_IMP_H
00021 
00022 #include "client.h"
00023 
00024 #include <chipcard3/client/notifications.h>
00025 
00026 #include <gwenhywfar/db.h>
00027 
00028 
00029 typedef
00030   LC_CLIENT_RESULT CHIPCARD_CB (*LC_CLIENT_INIT_FN)(LC_CLIENT *cl,
00031                                                     GWEN_DB_NODE *dbConfig);
00032 typedef LC_CLIENT_RESULT CHIPCARD_CB (*LC_CLIENT_FINI_FN)(LC_CLIENT *cl);
00033 
00034 typedef LC_CLIENT_RESULT CHIPCARD_CB (*LC_CLIENT_START_FN)(LC_CLIENT *cl);
00035 typedef LC_CLIENT_RESULT CHIPCARD_CB (*LC_CLIENT_STOP_FN)(LC_CLIENT *cl);
00036 
00037 typedef
00038   LC_CLIENT_RESULT CHIPCARD_CB
00039   (*LC_CLIENT_SETNOTIFY_FN)(LC_CLIENT *cl,
00040                             GWEN_TYPE_UINT32 flags);
00041 
00042 typedef
00043   LC_CLIENT_RESULT CHIPCARD_CB (*LC_CLIENT_GETNEXTCARD_FN)(LC_CLIENT *cl,
00044                                                            LC_CARD **pCard,
00045                                                            int timeout);
00046 typedef
00047   LC_CLIENT_RESULT CHIPCARD_CB (*LC_CLIENT_RELEASECARD_FN)(LC_CLIENT *cl,
00048                                                            LC_CARD *card);
00049 typedef
00050   LC_CLIENT_RESULT CHIPCARD_CB (*LC_CLIENT_EXECAPDU_FN)(LC_CLIENT *cl,
00051                                                         LC_CARD *card,
00052                                                         const char *apdu,
00053                                                         unsigned int len,
00054                                                         GWEN_BUFFER *rbuf,
00055                                                         LC_CLIENT_CMDTARGET t,
00056                                                         int timeout);
00057 
00058 CHIPCARD_API
00059 LC_CLIENT *LC_BaseClient_new(const char *ioTypeName,
00060                              const char *programName,
00061                              const char *programVersion);
00062 
00063 CHIPCARD_API
00064 GWEN_DB_NODE *LC_Client_GetConfig(const LC_CLIENT *cl);
00065 
00066 CHIPCARD_API
00067 int LC_Client_HandleNotification(LC_CLIENT *cl, const LC_NOTIFICATION *n);
00068 
00069 CHIPCARD_API
00070 LC_CLIENT_INIT_FN LC_Client_SetInitFn(LC_CLIENT *cl, LC_CLIENT_INIT_FN fn);
00071 
00072 CHIPCARD_API
00073 LC_CLIENT_FINI_FN LC_Client_SetFiniFn(LC_CLIENT *cl, LC_CLIENT_FINI_FN fn);
00074 
00075 CHIPCARD_API
00076 LC_CLIENT_SETNOTIFY_FN
00077 LC_Client_SetSetNotifyFn(LC_CLIENT *cl, LC_CLIENT_SETNOTIFY_FN fn);
00078 
00079 CHIPCARD_API
00080 LC_CLIENT_START_FN LC_Client_SetStartFn(LC_CLIENT *cl, LC_CLIENT_START_FN fn);
00081 
00082 CHIPCARD_API
00083 LC_CLIENT_STOP_FN LC_Client_SetStopFn(LC_CLIENT *cl, LC_CLIENT_STOP_FN fn);
00084 
00085 CHIPCARD_API
00086 LC_CLIENT_GETNEXTCARD_FN
00087 LC_Client_SetGetNextCardFn(LC_CLIENT *cl, LC_CLIENT_GETNEXTCARD_FN fn);
00088 
00089 CHIPCARD_API
00090 LC_CLIENT_RELEASECARD_FN
00091 LC_Client_SetReleaseCardFn(LC_CLIENT *cl, LC_CLIENT_RELEASECARD_FN fn);
00092 
00093 CHIPCARD_API
00094 LC_CLIENT_EXECAPDU_FN
00095 LC_Client_SetExecApduFn(LC_CLIENT *cl, LC_CLIENT_EXECAPDU_FN fn);
00096 
00097  /* addtogroup */
00099 
00100 
00101 #endif /* CHIPCARD_CLIENT_CLIENT_IMP_H */
00102 
00103 
00104 

Generated on Sat Sep 22 04:43:21 2007 for libchipcard2 by  doxygen 1.5.3