Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

libchipcard.h File Reference

Contains the C API of LibChipCard. More...

#include <chipcard/ctcore_public.h>

Go to the source code of this file.

Classes

struct  CHIPCARD_READERDESCRSTRUCT

Organisational Stuff

Well, I don't know in which group to put these functions otherwise ;-)

CHIPCARD_API int ChipCard_Work ()
CHIPCARD_API int ChipCard_AddServer (const char *addr, int port)
CHIPCARD_API void ChipCard_ReaderDescr_free (CHIPCARD_READERDESCR *rd)

Initialisation and Deinitialisation

The functions in this group only need to be called hen you are using the C interface only. The C++ classes automatically call them.

CHIPCARD_API int ChipCard_Init (const char *configfile, const char *section)
CHIPCARD_API void ChipCard_Fini ()

Configuration File Based APDU Engine

The functions of this group are allow looking up APDU commands. This engine allows adjusting LibChipCard to special cards and readers without recompiling LibChipCard.

CHIPCARD_API int ChipCard_LocateCommand (const char *command, const char *readertype, const char *cardtype, char *buffer, int bufferlen)
CHIPCARD_API int ChipCard_ExistsCommand (const char *command)
int ChipCard_MakeAPDU (char *buffer, int *bufferlen, const char *command, int argc,...)

General Request and Response Handling

This group contains functions which can be applied to any pending request.

CHIPCARD_API int ChipCard_CheckResponse (int requestid)
CHIPCARD_API void ChipCard_WithdrawRequest (int requestid)
CHIPCARD_API void ChipCard_AbandonRequest (int requestid)

Requests

LibChipCard works asynchronously. Nearly all actions you want LibChipCard to take are in form of a request. Generally you call a request function (ChipCard_RequestXYZ()), then ChipCard_Work() (repeatedly until a response arrives) and the appropriate check function (ChipCard_CheckXYZ()). The check function is the one that returns the results of a request (if it successfully returns)

CHIPCARD_API int ChipCard_RequestAllocReader (int *requestid, unsigned int tid)
CHIPCARD_API int ChipCard_CheckAllocReader (int requestid, int *thdl, CHIPCARD_READERDESCR **rd)
CHIPCARD_API int ChipCard_RequestReleaseReader (int *requestid, unsigned int tid)
CHIPCARD_API int ChipCard_CheckReleaseReader (int requestid)
CHIPCARD_API int ChipCard_RequestConnect (int *requestid, unsigned int thdl, int cardId, int waitForIt)
CHIPCARD_API int ChipCard_RequestStopConnect (int *requestid, unsigned int thdl, int prevRequest)
CHIPCARD_API int ChipCard_CheckStopConnect (int requestid, int *result)
CHIPCARD_API int ChipCard_CheckConnect (int requestid, int *result, char *atrbuffer, int *atrbufferlength)
CHIPCARD_API int ChipCard_RequestDisconnect (int *requestid, unsigned int thdl)
CHIPCARD_API int ChipCard_CheckDisconnect (int requestid, int *result)
CHIPCARD_API int ChipCard_RequestCommand (int *requestid, unsigned int thdl, const char *sendBuffer, int sendBufferLength)
CHIPCARD_API int ChipCard_CheckCommand (int requestid, int *result, char *recvBuffer, int *recvBufferLength)
CHIPCARD_API int ChipCard_RequestFindReader (int *requestid, const char *readerType, unsigned int readerFlags, unsigned int readerFlagsMask)
CHIPCARD_API int ChipCard_CheckFindReader (int requestid, unsigned int *readerbuffer, int *readerBufferLength)
CHIPCARD_API int ChipCard_RequestStatReader (int *requestid, int thdl)
CHIPCARD_API int ChipCard_CheckStatReader (int requestid, int *result, unsigned int *status, char *atrbuffer, int *atrlen)
CHIPCARD_API int ChipCard_RequestWaitReader (int *requestid, int mustChange, const char *readerType, unsigned int readerFlags, unsigned int readerFlagsMask, unsigned int status, unsigned int statusMask, unsigned int statusDelta)
CHIPCARD_API int ChipCard_CheckWaitReader (int requestid, int *tid, unsigned int *status, unsigned int *readerflags, unsigned int *cardId)
CHIPCARD_API int ChipCard_StopWaitReader (int prevRequest)

Defines

#define CHIPCARD_SUCCESS   0
#define CHIPCARD_ERROR_INVALID   1
#define CHIPCARD_ERROR_BUFFER   2
#define CHIPCARD_ERROR_CARD_REMOVED   3
#define CHIPCARD_ERROR_NO_REQUEST   4
#define CHIPCARD_ERROR_NO_MESSAGE   5
#define CHIPCARD_ERROR_BAD_CHANNEL_STATUS   6
#define CHIPCARD_ERROR_NO_COMMANDS   7
#define CHIPCARD_ERROR_NO_CONFIG   8
#define CHIPCARD_ERROR_UNREACHABLE   9
#define CHIPCARD_ERROR_DRIVER   10
#define CHIPCARD_ERROR_NO_READER   11
#define CHIPCARD_ERROR_COMMAND_NOT_FOUND   12
#define CHIPCARD_ERROR_BAD_RESPONSE   13
#define CHIPCARD_ERROR_NO_CARD   14
#define CHIPCARD_ERROR_ABORTED   15
#define CHIPCARD_ERROR_INTERRUPTED   16
#define CHIPCARD_ERROR_NO_TRANSPORT   17
#define CHIPCARD_ERROR_INTERNAL   99
#define CHIPCARD_STATUS_INSERTED   CTREADERSTATUS_INSERTED
#define CHIPCARD_STATUS_CONNECTED   CTREADERSTATUS_CONNECTED
#define CHIPCARD_STATUS_PROCESSOR   CTREADERSTATUS_PROCESSOR
#define CHIPCARD_STATUS_LOCKED_BY_OTHER   CTREADERSTATUS_LOCKED_BY_OTHER
#define CHIPCARD_READERFLAGS_KEYPAD   CTREADERFLAGS_KEYPAD
#define CHIPCARD_READERFLAGS_DISPLAY   CTREADERFLAGS_DISPLAY

Functions

CHIPCARD_API int ChipCard_RequestPing (int *requestid, int serviceid)
CHIPCARD_API int ChipCard_CheckPing (int requestid)

Variables

typedefCHIPCARD_API struct
CHIPCARD_READERDESCRSTRUCT 
CHIPCARD_READERDESCR


Detailed Description

Contains the C API of LibChipCard.


Define Documentation

#define CHIPCARD_ERROR_ABORTED   15
 

#define CHIPCARD_ERROR_BAD_CHANNEL_STATUS   6
 

#define CHIPCARD_ERROR_BAD_RESPONSE   13
 

#define CHIPCARD_ERROR_BUFFER   2
 

#define CHIPCARD_ERROR_CARD_REMOVED   3
 

#define CHIPCARD_ERROR_COMMAND_NOT_FOUND   12
 

#define CHIPCARD_ERROR_DRIVER   10
 

#define CHIPCARD_ERROR_INTERNAL   99
 

#define CHIPCARD_ERROR_INTERRUPTED   16
 

#define CHIPCARD_ERROR_INVALID   1
 

#define CHIPCARD_ERROR_NO_CARD   14
 

#define CHIPCARD_ERROR_NO_COMMANDS   7
 

#define CHIPCARD_ERROR_NO_CONFIG   8
 

#define CHIPCARD_ERROR_NO_MESSAGE   5
 

#define CHIPCARD_ERROR_NO_READER   11
 

#define CHIPCARD_ERROR_NO_REQUEST   4
 

#define CHIPCARD_ERROR_NO_TRANSPORT   17
 

#define CHIPCARD_ERROR_UNREACHABLE   9
 

#define CHIPCARD_READERFLAGS_DISPLAY   CTREADERFLAGS_DISPLAY
 

#define CHIPCARD_READERFLAGS_KEYPAD   CTREADERFLAGS_KEYPAD
 

#define CHIPCARD_STATUS_CONNECTED   CTREADERSTATUS_CONNECTED
 

#define CHIPCARD_STATUS_INSERTED   CTREADERSTATUS_INSERTED
 

#define CHIPCARD_STATUS_LOCKED_BY_OTHER   CTREADERSTATUS_LOCKED_BY_OTHER
 

#define CHIPCARD_STATUS_PROCESSOR   CTREADERSTATUS_PROCESSOR
 

#define CHIPCARD_SUCCESS   0
 


Function Documentation

CHIPCARD_API int ChipCard_CheckPing int  requestid  ) 
 

CHIPCARD_API int ChipCard_RequestPing int *  requestid,
int  serviceid
 


Variable Documentation

typedefCHIPCARD_API struct CHIPCARD_READERDESCRSTRUCT CHIPCARD_READERDESCR
 


Generated on Mon Jan 5 20:56:28 2004 for libchipcard by doxygen 1.3.4