client.h File Reference

#include <gwenhywfar/inherit.h>
#include <chipcard3/chipcard3.h>
#include <chipcard3/client/card.h>
#include <chipcard3/client/notifications.h>
#include <chipcard3/client/mon/monitor.h>
#include <chipcard3/client/switch.h>

Include dependency graph for base/client.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define LC_DEFAULT_SHORT_TIMEOUT   10
#define LC_DEFAULT_LONG_TIMEOUT   30
#define LC_DEFAULT_VERY_LONG_TIMEOUT   60
#define LC_CLIENT_TIMEOUT_NONE   0
#define LC_CLIENT_TIMEOUT_FOREVER   (-1)

Typedefs

typedef struct LC_CLIENT LC_CLIENT
typedef void(* LC_CLIENT_RECV_NOTIFICATION_FN )(LC_CLIENT *cl, const LC_NOTIFICATION *n)

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,
  LC_Client_ResultCfgError, LC_Client_ResultNotFound, LC_Client_ResultIoError, LC_Client_ResultBadPin
}
enum  LC_CLIENT_CMDTARGET { LC_Client_CmdTargetCard = 0, LC_Client_CmdTargetReader }

Functions

Main API
To work with this API you'll need to create a client object first. This is normally done by LC_Client_new.

CHIPCARD_API LC_CLIENT_RESULT LC_Client_Init (LC_CLIENT *cl)
CHIPCARD_API LC_CLIENT_RESULT LC_Client_Fini (LC_CLIENT *cl)
CHIPCARD_API LC_CLIENT_RESULT LC_Client_Start (LC_CLIENT *cl)
CHIPCARD_API LC_CLIENT_RESULT LC_Client_Stop (LC_CLIENT *cl)
CHIPCARD_API LC_CLIENT_RESULT LC_Client_GetNextCard (LC_CLIENT *cl, LC_CARD **pCard, int timeout)
CHIPCARD_API LC_CLIENT_RESULT LC_Client_ReleaseCard (LC_CLIENT *cl, LC_CARD *card)
CHIPCARD_API void LC_Client_free (LC_CLIENT *cl)
CHIPCARD_API const char * LC_Client_GetIoTypeName (const LC_CLIENT *cl)
Informational Functions
CHIPCARD_API const char * LC_Client_GetProgramName (const LC_CLIENT *cl)
CHIPCARD_API const char * LC_Client_GetProgramVersion (const LC_CLIENT *cl)
CHIPCARD_API int LC_Client_GetShortTimeout (const LC_CLIENT *cl)
CHIPCARD_API int LC_Client_GetLongTimeout (const LC_CLIENT *cl)
CHIPCARD_API int LC_Client_GetVeryLongTimeout (const LC_CLIENT *cl)
Retrieve Some Internal Information
CHIPCARD_API GWEN_XMLNODE * LC_Client_GetAppNodes (const LC_CLIENT *cl)
CHIPCARD_API GWEN_XMLNODE * LC_Client_GetCardNodes (const LC_CLIENT *cl)
CHIPCARD_API GWEN_DB_NODE * LC_Client_GetReaderConfig (const LC_CLIENT *cl, const char *reader)
Monitoring
The monitoring code of Libchipcard3 listens on and interpretes server notifications. Not all resource managers support such notifications (Libchipcard3's own ressource manager does).

CHIPCARD_API LCM_MONITORLC_Client_GetMonitor (const LC_CLIENT *cl)
CHIPCARD_API LC_CLIENT_RESULT LC_Client_SetNotify (LC_CLIENT *cl, GWEN_TYPE_UINT32 flags)
CHIPCARD_API
LC_CLIENT_RECV_NOTIFICATION_FN 
LC_Client_SetRecvNotificationFn (LC_CLIENT *cl, LC_CLIENT_RECV_NOTIFICATION_FN fn)


Generated on Wed Feb 25 17:18:24 2009 for libchipcard2 by  doxygen 1.5.6