* Makefile.am: Add OPENSC_LIBS to all programs.
[gnupg.git] / scd / scdaemon.c
index 8e0ef37..af813b5 100644 (file)
@@ -43,7 +43,7 @@
 
 #include "i18n.h"
 #include "sysutils.h"
-
+#include "app-common.h"
 
 
 enum cmd_and_opt_values 
@@ -69,6 +69,8 @@ enum cmd_and_opt_values
   oDaemon,
   oBatch,
   oReaderPort,
+  octapiDriver,
+  oDisableOpenSC,
 
 aTest };
 
@@ -91,7 +93,17 @@ static ARGPARSE_OPTS opts[] = {
   { oDebugSC,  "debug-sc",  1, N_("|N|set OpenSC debug level to N")},
   { oNoDetach, "no-detach" ,0, N_("do not detach from the console")},
   { oLogFile,  "log-file"   ,2, N_("use a log file for the server")},
-  { oReaderPort, "reader-port", 1, N_("|N|connect to reader at port N")},
+  { oReaderPort, "reader-port", 2, N_("|N|connect to reader at port N")},
+  { octapiDriver, "ctapi-driver", 2, N_("NAME|use NAME as ctAPI driver")},
+  { oDisableOpenSC, "disable-opensc", 0,
+#ifdef HAVE_OPENSC
+                                         N_("Do not use the OpenSC layer")
+#else
+                                         "@"
+#endif
+                                         /* end --disable-opensc */},
+
+
 
   {0}
 };
@@ -230,7 +242,6 @@ main (int argc, char **argv )
   int csh_style = 0;
   char *logfile = NULL;
   int debug_wait = 0;
-  int reader_port = 32768; /* First USB reader. */
 
   set_strusage (my_strusage);
   gcry_control (GCRYCTL_SUSPEND_SECMEM_WARN);
@@ -299,6 +310,7 @@ main (int argc, char **argv )
 
   if (default_config)
     configname = make_filename (opt.homedir, "scdaemon.conf", NULL );
+
   
   argc = orig_argc;
   argv = orig_argv;
@@ -365,7 +377,9 @@ main (int argc, char **argv )
         case oServer: pipe_server = 1; break;
         case oDaemon: is_daemon = 1; break;
 
-        case oReaderPort: reader_port = pargs.r.ret_int; break;
+        case oReaderPort: app_set_default_reader_port (pargs.r.ret_str); break;
+        case octapiDriver: opt.ctapi_driver = pargs.r.ret_str; break;
+        case oDisableOpenSC: opt.disable_opensc = 1; break;
 
         default : pargs.err = configfp? 1:2; break;
        }