pcsc-lite 2.3.0
eventhandler.h File Reference

This handles card insertion/removal events, updates ATR, protocol, and status information. More...

#include <stdint.h>
#include "pcsclite.h"
#include "readerfactory.h"
#include "wintypes.h"

Go to the source code of this file.

Data Structures

struct  pubReaderStatesList
 Define an exported public reader state structure so each application gets instant notification of changes in state. More...
 

Macros

#define PCSCLITE_SHARING_LAST_CONTEXT   1
 One application is using the reader.
 
#define PCSCLITE_SHARING_NO_CONTEXT   0
 No application is using the reader.
 
#define PCSCLITE_SHARING_EXCLUSIVE_CONTEXT   -1
 Reader used in exclusive mode.
 
#define READER_NOT_INITIALIZED   (MAX_ATR_SIZE+1)
 Special value to indicate that power up has not yet happen This is used to auto start mode to wait until the reader is ready and the (possible) card has been powered up.
 

Typedefs

typedef struct pubReaderStatesList READER_STATE
 Define an exported public reader state structure so each application gets instant notification of changes in state.
 

Functions

LONG EHTryToUnregisterClientForEvent (int32_t filedes)
 Try to unregister a client If no client is found then do not log an error.
 
LONG EHRegisterClientForEvent (int32_t filedes)
 
LONG EHUnregisterClientForEvent (int32_t filedes)
 Unregister a client and log an error if the client is not found.
 
void EHSignalEventToClients (void)
 Sends an asynchronous event to any waiting client.
 
LONG EHInitializeEventStructures (void)
 
LONG EHDeinitializeEventStructures (void)
 
LONG EHSpawnEventHandler (READER_CONTEXT *)
 
void EHDestroyEventHandler (READER_CONTEXT *)
 

Detailed Description

This handles card insertion/removal events, updates ATR, protocol, and status information.

Definition in file eventhandler.h.

Macro Definition Documentation

◆ PCSCLITE_SHARING_EXCLUSIVE_CONTEXT

#define PCSCLITE_SHARING_EXCLUSIVE_CONTEXT   -1

Reader used in exclusive mode.

Definition at line 79 of file eventhandler.h.

◆ PCSCLITE_SHARING_LAST_CONTEXT

#define PCSCLITE_SHARING_LAST_CONTEXT   1

One application is using the reader.

Definition at line 75 of file eventhandler.h.

◆ PCSCLITE_SHARING_NO_CONTEXT

#define PCSCLITE_SHARING_NO_CONTEXT   0

No application is using the reader.

Definition at line 77 of file eventhandler.h.

◆ READER_NOT_INITIALIZED

#define READER_NOT_INITIALIZED   (MAX_ATR_SIZE+1)

Special value to indicate that power up has not yet happen This is used to auto start mode to wait until the reader is ready and the (possible) card has been powered up.

Definition at line 84 of file eventhandler.h.

Function Documentation

◆ EHDeinitializeEventStructures()

LONG EHDeinitializeEventStructures ( void )

Definition at line 150 of file eventhandler.c.

◆ EHDestroyEventHandler()

void EHDestroyEventHandler ( READER_CONTEXT * rContext)

Definition at line 158 of file eventhandler.c.

◆ EHInitializeEventStructures()

LONG EHInitializeEventStructures ( void )

Definition at line 135 of file eventhandler.c.

◆ EHRegisterClientForEvent()

LONG EHRegisterClientForEvent ( int32_t filedes)

Definition at line 66 of file eventhandler.c.

◆ EHSignalEventToClients()

void EHSignalEventToClients ( void )

Sends an asynchronous event to any waiting client.

Definition at line 116 of file eventhandler.c.

◆ EHSpawnEventHandler()

LONG EHSpawnEventHandler ( READER_CONTEXT * rContext)

Definition at line 218 of file eventhandler.c.

◆ EHTryToUnregisterClientForEvent()

LONG EHTryToUnregisterClientForEvent ( int32_t filedes)

Try to unregister a client If no client is found then do not log an error.

Definition at line 83 of file eventhandler.c.

◆ EHUnregisterClientForEvent()

LONG EHUnregisterClientForEvent ( int32_t filedes)

Unregister a client and log an error if the client is not found.

Definition at line 103 of file eventhandler.c.