pcsc-lite 1.9.8
|
This is the main pcscd daemon. More...
#include "config.h"
#include <time.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include "misc.h"
#include "pcsclite.h"
#include "pcscd.h"
#include "debuglog.h"
#include "winscard_msg.h"
#include "winscard_svc.h"
#include "sys_generic.h"
#include "hotplug.h"
#include "readerfactory.h"
#include "configfile.h"
#include "utils.h"
#include "eventhandler.h"
Go to the source code of this file.
Macros | |
#define | TRUE 1 |
#define | FALSE 0 |
#define | OPT_STRING "c:fTdhvaieCHt:r:s:xSI" |
Functions | |
static void | at_exit (void) |
static void | clean_temp_files (void) |
static void | signal_trap (int) |
static void | print_version (void) |
static void | print_usage (char const *const) |
static void | SVCServiceRunLoop (void) |
The Server's Message Queue Listener function. More... | |
static void * | signal_thread (void *arg) |
thread dedicated to handle signals More... | |
int | main (int argc, char **argv) |
Variables | |
_Atomic char | AraKiri = FALSE |
static char | Init = TRUE |
char | AutoExit = FALSE |
Represents an Application Context on the Server side. More... | |
char | SocketActivated = FALSE |
static int | ExitValue = EXIT_FAILURE |
int | HPForceReaderPolling = 0 |
static int | pipefd [] = {-1, -1} |
static int | signal_handler_fd [] = {-1, -1} |
char | Add_Serial_In_Name = TRUE |
char | Add_Interface_In_Name = TRUE |
This is the main pcscd daemon.
The function main()
starts up the communication environment.
Then an endless loop is calld to look for Client connections. For each Client connection a call to CreateContextThread()
is done.
Definition in file pcscdaemon.c.
#define FALSE 0 |
Definition at line 75 of file pcscdaemon.c.
#define TRUE 1 |
Definition at line 74 of file pcscdaemon.c.
|
static |
Definition at line 797 of file pcscdaemon.c.
|
static |
Definition at line 821 of file pcscdaemon.c.
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 258 of file pcscdaemon.c.
|
static |
Definition at line 861 of file pcscdaemon.c.
|
static |
Definition at line 848 of file pcscdaemon.c.
|
static |
thread dedicated to handle signals
a signal handler can not call any function. See signal(7) for a list of function that are safe to call from a signal handler. The functions syslog(), gettimeofday() and remove() are NOT safe.
Definition at line 177 of file pcscdaemon.c.
|
static |
Definition at line 839 of file pcscdaemon.c.
|
static |
The Server's Message Queue Listener function.
An endless loop calls the function ProcessEventsServer()
to check for messages sent by clients. If the message is valid, CreateContextThread()
is called to serve this request.
Definition at line 106 of file pcscdaemon.c.
char Add_Interface_In_Name = TRUE |
Definition at line 87 of file pcscdaemon.c.
char Add_Serial_In_Name = TRUE |
Definition at line 86 of file pcscdaemon.c.
_Atomic char AraKiri = FALSE |
Definition at line 78 of file pcscdaemon.c.
char AutoExit = FALSE |
Represents an Application Context on the Server side.
An Application Context contains Channels (hCard
).
Definition at line 80 of file pcscdaemon.c.
|
static |
Definition at line 82 of file pcscdaemon.c.
int HPForceReaderPolling = 0 |
Definition at line 83 of file pcscdaemon.c.
|
static |
Definition at line 79 of file pcscdaemon.c.
|
static |
Definition at line 84 of file pcscdaemon.c.
|
static |
Definition at line 85 of file pcscdaemon.c.
char SocketActivated = FALSE |
Definition at line 81 of file pcscdaemon.c.