* Makefile.am: Add OPENSC_LIBS to all programs.
[gnupg.git] / scd / scdaemon.c
index b63b59c..af813b5 100644 (file)
 #include <unistd.h>
 #include <signal.h>
 
+#define JNLIB_NEED_LOG_LOGV
+#include "scdaemon.h"
 #include <ksba.h>
 #include <gcrypt.h>
 
-#define JNLIB_NEED_LOG_LOGV
-#include "scdaemon.h"
-#include "../assuan/assuan.h" /* malloc hooks */
+#include <assuan.h> /* malloc hooks */
 
 #include "i18n.h"
 #include "sysutils.h"
-
+#include "app-common.h"
 
 
 enum cmd_and_opt_values 
@@ -68,6 +68,9 @@ enum cmd_and_opt_values
   oServer,
   oDaemon,
   oBatch,
+  oReaderPort,
+  octapiDriver,
+  oDisableOpenSC,
 
 aTest };
 
@@ -90,6 +93,16 @@ 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", 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}
@@ -297,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;
@@ -363,6 +377,10 @@ main (int argc, char **argv )
         case oServer: pipe_server = 1; break;
         case oDaemon: is_daemon = 1; 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;
        }
     }
@@ -399,6 +417,7 @@ main (int argc, char **argv )
       exit (1);
     }
 
+  
   if (debug_wait && pipe_server)
     {
       log_debug ("waiting for debugger - my pid is %u .....\n",