libchipcard.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00037
#ifndef LIBCHIPCARD_H
00038
#define LIBCHIPCARD_H
00039
00040
#include <chipcard/ctcore_public.h>
00041
00042
#ifdef __cplusplus
00043
extern "C" {
00044
#endif
00045
00046
00047 #define CHIPCARD_SUCCESS 0
00048 #define CHIPCARD_ERROR_INVALID 1
00049 #define CHIPCARD_ERROR_BUFFER 2
00050 #define CHIPCARD_ERROR_CARD_REMOVED 3
00051
00052 #define CHIPCARD_ERROR_NO_REQUEST 4
00053 #define CHIPCARD_ERROR_NO_MESSAGE 5
00054 #define CHIPCARD_ERROR_BAD_CHANNEL_STATUS 6
00055 #define CHIPCARD_ERROR_NO_COMMANDS 7
00056 #define CHIPCARD_ERROR_NO_CONFIG 8
00057 #define CHIPCARD_ERROR_UNREACHABLE 9
00058 #define CHIPCARD_ERROR_DRIVER 10
00059 #define CHIPCARD_ERROR_NO_READER 11
00060 #define CHIPCARD_ERROR_COMMAND_NOT_FOUND 12
00061 #define CHIPCARD_ERROR_BAD_RESPONSE 13
00062 #define CHIPCARD_ERROR_NO_CARD 14
00063 #define CHIPCARD_ERROR_ABORTED 15
00064 #define CHIPCARD_ERROR_INTERRUPTED 16
00065 #define CHIPCARD_ERROR_NO_TRANSPORT 17
00066 #define CHIPCARD_ERROR_INTERNAL 99
00067
00068 #define CHIPCARD_STATUS_INSERTED CTREADERSTATUS_INSERTED
00069 #define CHIPCARD_STATUS_CONNECTED CTREADERSTATUS_CONNECTED
00070 #define CHIPCARD_STATUS_PROCESSOR CTREADERSTATUS_PROCESSOR
00071 #define CHIPCARD_STATUS_LOCKED_BY_OTHER CTREADERSTATUS_LOCKED_BY_OTHER
00072
00073 #define CHIPCARD_READERFLAGS_KEYPAD CTREADERFLAGS_KEYPAD
00074 #define CHIPCARD_READERFLAGS_DISPLAY CTREADERFLAGS_DISPLAY
00075
00076
00077 CHIPCARD_API struct CHIPCARD_READERDESCRSTRUCT {
00078 unsigned int flags;
00079 char name[64];
00080 char type[64];
00081 };
00082 CHIPCARD_API typedef struct CHIPCARD_READERDESCRSTRUCT CHIPCARD_READERDESCR;
00083
00101
CHIPCARD_API int ChipCard_Work();
00102
00116
CHIPCARD_API int ChipCard_AddServer(
const char *addr,
00117
int port);
00118
00126
CHIPCARD_API void ChipCard_ReaderDescr_free(CHIPCARD_READERDESCR *rd);
00151
CHIPCARD_API int ChipCard_Init(
const char *configfile,
00152
const char *section);
00153
00162
CHIPCARD_API void ChipCard_Fini();
00173
00189
CHIPCARD_API int ChipCard_LocateCommand(
const char *command,
00190
const char *readertype,
00191
const char *cardtype,
00192
char *buffer,
00193
int bufferlen);
00194
00203
CHIPCARD_API int ChipCard_ExistsCommand(
const char *command);
00204
00205
00213
int ChipCard_MakeAPDU(
char *buffer,
int *bufferlen,
00214
const char *command,
00215
int argc, ...);
00216
00225
00234
CHIPCARD_API int ChipCard_CheckResponse(
int requestid);
00235
00246
CHIPCARD_API void ChipCard_WithdrawRequest(
int requestid);
00247
00257
CHIPCARD_API void ChipCard_AbandonRequest(
int requestid);
00258
00273
00286
CHIPCARD_API int ChipCard_RequestAllocReader(
int *requestid,
00287
unsigned int tid);
00288
00304
CHIPCARD_API int ChipCard_CheckAllocReader(
int requestid,
00305
int *thdl,
00306 CHIPCARD_READERDESCR **rd);
00307
00318
CHIPCARD_API int ChipCard_RequestReleaseReader(
int *requestid,
00319
unsigned int tid);
00320
00329
CHIPCARD_API int ChipCard_CheckReleaseReader(
int requestid);
00330
00340
CHIPCARD_API int ChipCard_RequestConnect(
int *requestid,
00341
unsigned int thdl,
00342
int cardId,
00343
int waitForIt);
00344
00354
CHIPCARD_API int
00355
ChipCard_RequestStopConnect(
int *requestid,
00356
unsigned int thdl,
00357
int prevRequest);
00358
CHIPCARD_API int
00359
ChipCard_CheckStopConnect(
int requestid,
00360
int *result);
00361
00362
00387
CHIPCARD_API int ChipCard_CheckConnect(
int requestid,
00388
int *result,
00389
char *atrbuffer,
00390
int *atrbufferlength);
00391
00403
CHIPCARD_API int ChipCard_RequestDisconnect(
int *requestid,
00404
unsigned int thdl);
00405
00406
00421
CHIPCARD_API int ChipCard_CheckDisconnect(
int requestid,
00422
int *result);
00423
00424
00437
CHIPCARD_API int ChipCard_RequestCommand(
int *requestid,
00438
unsigned int thdl,
00439
const char *sendBuffer,
00440
int sendBufferLength);
00441
00463
CHIPCARD_API int ChipCard_CheckCommand(
int requestid,
00464
int *result,
00465
char *recvBuffer,
00466
int *recvBufferLength);
00467
00484
CHIPCARD_API int ChipCard_RequestFindReader(
int *requestid,
00485
const char *readerType,
00486
unsigned int readerFlags,
00487
unsigned int readerFlagsMask);
00488
00507
CHIPCARD_API int ChipCard_CheckFindReader(
int requestid,
00508
unsigned int *readerbuffer,
00509
int *readerBufferLength);
00519
CHIPCARD_API int ChipCard_RequestStatReader(
int *requestid,
00520
int thdl);
00521
00548
CHIPCARD_API int ChipCard_CheckStatReader(
int requestid,
00549
int *result,
00550
unsigned int *status,
00551
char *atrbuffer,
00552
int *atrlen);
00553
00566
CHIPCARD_API int ChipCard_RequestWaitReader(
int *requestid,
00567
int mustChange,
00568
const char *readerType,
00569
unsigned int readerFlags,
00570
unsigned int readerFlagsMask,
00571
unsigned int status,
00572
unsigned int statusMask,
00573
unsigned int statusDelta);
00574
00589
CHIPCARD_API int ChipCard_CheckWaitReader(
int requestid,
00590
int *tid,
00591
unsigned int *status,
00592
unsigned int *readerflags,
00593
unsigned int *cardId);
00594
00604
CHIPCARD_API int ChipCard_StopWaitReader(
int prevRequest);
00605
00606
00607
00613
CHIPCARD_API int ChipCard_RequestPing(
int *requestid,
00614
int serviceid);
00618
CHIPCARD_API int ChipCard_CheckPing(
int requestid);
00619
00620
00621
#ifdef __cplusplus
00622
}
00623
#endif
00624
00625
#endif
00626
00627
00628
Generated on Wed Jul 28 14:56:49 2004 for libchipcard by
1.3.7