client.h File Reference

#include <gwenhywfar/inherit.h>
#include <chipcard2/chipcard2.h>
#include <chipcard2/sharedstuff/pininfo.h>
#include <gwenhywfar/db.h>
#include <chipcard2-client/client/card.h>
#include <chipcard2-client/client/notifications.h>
#include <chipcard2-client/mon/monitor.h>

Include dependency graph for chipcard2-client/client/client.h:

Go to the source code of this file.

Defines

Notify Flags/Masks
These flags are used with LC_Client_SetNotify to inform the server about which events the clients wants to be informed.

#define LC_NOTIFY_FLAGS_DRIVER_MASK   0x0000000f
#define LC_NOTIFY_FLAGS_DRIVER_START   0x00000001
#define LC_NOTIFY_FLAGS_DRIVER_UP   0x00000002
#define LC_NOTIFY_FLAGS_DRIVER_DOWN   0x00000004
#define LC_NOTIFY_FLAGS_DRIVER_ERROR   0x00000008
#define LC_NOTIFY_FLAGS_READER_MASK   0x000000f0
#define LC_NOTIFY_FLAGS_READER_START   0x00000010
#define LC_NOTIFY_FLAGS_READER_UP   0x00000020
#define LC_NOTIFY_FLAGS_READER_DOWN   0x00000040
#define LC_NOTIFY_FLAGS_READER_ERROR   0x00000080
#define LC_NOTIFY_FLAGS_SERVICE_MASK   0x00000f00
#define LC_NOTIFY_FLAGS_SERVICE_START   0x00000100
#define LC_NOTIFY_FLAGS_SERVICE_UP   0x00000200
#define LC_NOTIFY_FLAGS_SERVICE_DOWN   0x00000400
#define LC_NOTIFY_FLAGS_SERVICE_ERROR   0x00000800
#define LC_NOTIFY_FLAGS_CARD_MASK   0x0000f000
#define LC_NOTIFY_FLAGS_CARD_INSERTED   0x00001000
#define LC_NOTIFY_FLAGS_CARD_REMOVED   0x00002000
#define LC_NOTIFY_FLAGS_CARD_RFU1   0x00004000
#define LC_NOTIFY_FLAGS_CARD_RFU2   0x00008000
#define LC_NOTIFY_FLAGS_CLIENT_MASK   0x0fff0000
#define LC_NOTIFY_FLAGS_CLIENT_UP   0x00010000
#define LC_NOTIFY_FLAGS_CLIENT_DOWN   0x00020000
#define LC_NOTIFY_FLAGS_CLIENT_STARTWAIT   0x00040000
#define LC_NOTIFY_FLAGS_CLIENT_STOPWAIT   0x00080000
#define LC_NOTIFY_FLAGS_CLIENT_TAKECARD   0x00100000
#define LC_NOTIFY_FLAGS_CLIENT_GOTCARD   0x00200000
#define LC_NOTIFY_FLAGS_CLIENT_CMDSEND   0x00400000
#define LC_NOTIFY_FLAGS_CLIENT_CMDRECV   0x00800000
#define LC_NOTIFY_FLAGS_PRIVILEGED

Typedefs

typedef struct LC_CLIENT LC_CLIENT
Prototypes for Virtual Functions
typedef int(* LC_CLIENT_HANDLE_INREQUEST_FN )(LC_CLIENT *cl, GWEN_TYPE_UINT32 rid, GWEN_DB_NODE *dbReq)
typedef void(* LC_CLIENT_SERVER_DOWN_FN )(LC_CLIENT *cl, GWEN_TYPE_UINT32 serverId)

Enumerations

enum  LC_CLIENT_RESULT {
  LC_Client_ResultOk = 0, LC_Client_ResultWait, LC_Client_ResultIpcError, LC_Client_ResultCmdError,
  LC_Client_ResultDataError, LC_Client_ResultAborted, LC_Client_ResultInvalid, LC_Client_ResultInternal,
  LC_Client_ResultGeneric, LC_Client_ResultNoData, LC_Client_ResultCardRemoved, LC_Client_ResultNotSupported
}
enum  LC_CLIENT_CMDTARGET { LC_Client_CmdTargetCard = 0, LC_Client_CmdTargetReader }

Functions

Constructor, Destructor, Setup
LC_CLIENTLC_Client_new (const char *programName, const char *programVersion, const char *dataDir)
void LC_Client_free (LC_CLIENT *cl)
int LC_Client_ReadConfig (LC_CLIENT *cl, GWEN_DB_NODE *db)
int LC_Client_ReadConfigFile (LC_CLIENT *cl, const char *fname)
Functions For Inheritors
void LC_Client_SetHandleInRequestFn (LC_CLIENT *cl, LC_CLIENT_HANDLE_INREQUEST_FN fn)
void LC_Client_SetServerDownFn (LC_CLIENT *cl, LC_CLIENT_SERVER_DOWN_FN fn)
int LC_Client_SendResponse (LC_CLIENT *cl, GWEN_TYPE_UINT32 rid, GWEN_DB_NODE *dbCommand)
void LC_Client_RemoveInRequest (LC_CLIENT *cl, GWEN_TYPE_UINT32 rid)
Informational Functions
int LC_Client_GetShortTimeout (const LC_CLIENT *cl)
int LC_Client_GetLongTimeout (const LC_CLIENT *cl)
Monitoring
LCM_MONITORLC_Client_GetMonitor (const LC_CLIENT *cl)
LC_CLIENT_RESULT LC_Client_SetNotify (LC_CLIENT *cl, GWEN_TYPE_UINT32 flags)
Working With Asynchronous Requests
LC_CLIENT_RESULT LC_Client_CheckResponse (LC_CLIENT *cl, GWEN_TYPE_UINT32 rid)
LC_CLIENT_RESULT LC_Client_CheckResponse_Wait (LC_CLIENT *cl, GWEN_TYPE_UINT32 rid, int timeout)
int LC_Client_Work (LC_CLIENT *cl, int maxmsg)
LC_CLIENT_RESULT LC_Client_Work_Wait (LC_CLIENT *cl, int timeout)
int LC_Client_DeleteRequest (LC_CLIENT *cl, GWEN_TYPE_UINT32 rid)
Working With Cards
LC_CLIENT_RESULT LC_Client_StartWait (LC_CLIENT *cl, GWEN_TYPE_UINT32 rflags, GWEN_TYPE_UINT32 rmask)
GWEN_TYPE_UINT32 LC_Client_SendStartWait (LC_CLIENT *cl, GWEN_TYPE_UINT32 rflags, GWEN_TYPE_UINT32 rmask)
LC_CLIENT_RESULT LC_Client_CheckStartWait (LC_CLIENT *cl, GWEN_TYPE_UINT32 rid)
LC_CLIENT_RESULT LC_Client_StopWait (LC_CLIENT *cl)
LC_CARDLC_Client_GetNextCard (LC_CLIENT *cl)
LC_CARDLC_Client_PeekNextCard (LC_CLIENT *cl)
LC_CARDLC_Client_WaitForNextCard (LC_CLIENT *cl, int timeout)
Working With Services
LC_CLIENT_RESULT LC_Client_OpenService (LC_CLIENT *cl, GWEN_TYPE_UINT32 serverId, GWEN_TYPE_UINT32 svid, GWEN_DB_NODE *dbData)
LC_CLIENT_RESULT LC_Client_CloseService (LC_CLIENT *cl, GWEN_TYPE_UINT32 serverId, GWEN_TYPE_UINT32 svid, GWEN_DB_NODE *dbData)
LC_CLIENT_RESULT LC_Client_ServiceCommand (LC_CLIENT *cl, GWEN_TYPE_UINT32 serverId, GWEN_TYPE_UINT32 svid, GWEN_DB_NODE *dbData, GWEN_DB_NODE *dbCmdResp)
Working With Readers
LC_CLIENT_RESULT LC_Client_LockReader (LC_CLIENT *cl, GWEN_TYPE_UINT32 serverId, GWEN_TYPE_UINT32 readerId, GWEN_TYPE_UINT32 *lockId)
LC_CLIENT_RESULT LC_Client_UnlockReader (LC_CLIENT *cl, GWEN_TYPE_UINT32 serverId, GWEN_TYPE_UINT32 readerId, GWEN_TYPE_UINT32 lockId)
LC_CLIENT_RESULT LC_Client_ReaderCommand (LC_CLIENT *cl, GWEN_TYPE_UINT32 serverId, GWEN_TYPE_UINT32 readerId, GWEN_TYPE_UINT32 lockId, GWEN_DB_NODE *dbData, GWEN_DB_NODE *dbCmdResp)
Debugging
void LC_Card_ShowError (LC_CARD *card, LC_CLIENT_RESULT res, const char *failedCommand)


Generated on Sun Sep 23 14:52:32 2007 for libchipcard2 by  doxygen 1.5.3