pcsc-lite  1.8.2
eventhandler.h
Go to the documentation of this file.
00001 /*
00002  * MUSCLE SmartCard Development ( http://www.linuxnet.com )
00003  *
00004  * Copyright (C) 1999-2002
00005  *  David Corcoran <corcoran@linuxnet.com>
00006  * Copyright (C) 2002-2010
00007  *  Ludovic Rousseau <ludovic.rousseau@free.fr>
00008  *
00009  * $Id: eventhandler.h 5434 2010-12-08 14:13:21Z rousseau $
00010  */
00011 
00018 #ifndef __eventhandler_h__
00019 #define __eventhandler_h__
00020 
00021 #include <stdint.h>
00022 
00027     typedef struct pubReaderStatesList
00028     {
00029         char readerName[MAX_READERNAME]; 
00030         uint32_t eventCounter; 
00031         uint32_t readerState; 
00032         int32_t readerSharing; 
00034         UCHAR cardAtr[MAX_ATR_SIZE]; 
00035         uint32_t cardAtrLength; 
00036         uint32_t cardProtocol; 
00037     }
00038     READER_STATE;
00039 
00040     LONG EHTryToUnregisterClientForEvent(int32_t filedes);
00041     LONG EHRegisterClientForEvent(int32_t filedes);
00042     LONG EHUnregisterClientForEvent(int32_t filedes);
00043     LONG EHSignalEventToClients(void);
00044     LONG EHInitializeEventStructures(void);
00045     LONG EHSpawnEventHandler(READER_CONTEXT *);
00046     LONG EHDestroyEventHandler(READER_CONTEXT *);
00047 
00049 #define PCSCLITE_SHARING_LAST_CONTEXT       1
00050 
00051 #define PCSCLITE_SHARING_NO_CONTEXT         0
00052 
00053 #define PCSCLITE_SHARING_EXCLUSIVE_CONTEXT -1
00054 
00058 #define READER_NOT_INITIALIZED (MAX_ATR_SIZE+1)
00059 
00060 #endif                          /* __eventhandler_h__ */