agent: unknown flags on ssh signing requests cause an error.
[gnupg.git] / g13 / g13.h
index 5740e58..9c0acb5 100644 (file)
--- a/g13/g13.h
+++ b/g13/g13.h
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
  */
 
 #ifndef G13_H
 #define G13_H
 
-#ifdef GPG_ERR_SOURCE_DEFAULT
-#error GPG_ERR_SOURCE_DEFAULT already defined
-#endif
-#define GPG_ERR_SOURCE_DEFAULT  GPG_ERR_SOURCE_G13
-#include <gpg-error.h>
+#include "g13-common.h"
 
-#include "../common/util.h"
-#include "../common/status.h"
-#include "../common/estream.h"
-#include "../common/audit.h"
-
-/* A large struct named "opt" to keep global flags.  */
-struct 
-{
-  unsigned int debug; /* Debug flags (DBG_foo_VALUE).  */
-  int verbose;        /* Verbosity level.  */
-  int quiet;          /* Be as quiet as possible.  */
-  int dry_run;        /* Don't change any persistent data.  */
-
-  const char *homedir;         /* Configuration directory name.  */
-  const char *config_filename; /* Name of the used config file.  */
-
-  /* Filename of the AGENT program.  */
-  const char *agent_program; 
-
-  /* Filename of the GPG program.  Unless set via an program option it
-     is initialzed at the first engine startup to the standard gpg
-     filename.  */
-  const char *gpg_program; 
-
-  /* Environment variables passed along to the engine.  */
-  char *display;
-  char *ttyname;
-  char *ttytype;
-  char *lc_ctype;
-  char *lc_messages;
-  char *xauthority;
-  char *pinentry_user_data;
-
-  /* Name of the output file - FIXME: what is this?  */
-  const char *outfile;
-
-} opt;
-
-
-/* Debug values and macros.  */
-#define DBG_MOUNT_VALUE     1  /* Debug mount or device stuff. */
-#define DBG_CRYPTO_VALUE    4  /* Debug low level crypto.  */
-#define DBG_MEMORY_VALUE   32  /* Debug memory allocation stuff.  */
-#define DBG_MEMSTAT_VALUE 128  /* Show memory statistics.  */
-#define DBG_ASSUAN_VALUE  1024  /* Debug assuan communication.  */
-
-#define DBG_MOUNT    (opt.debug & DBG_MOUNT_VALUE)
-#define DBG_CRYPTO   (opt.debug & DBG_CRYPTO_VALUE)
-#define DBG_MEMORY   (opt.debug & DBG_MEMORY_VALUE)
-#define DBG_ASSUAN   (opt.debug & DBG_ASSUAN_VALUE)
 
 /* Forward declaration for an object defined in server.c.  */
 struct server_local_s;
+/* Forward declaration for an object defined in call-syshelp.c.  */
+struct call_syshelp_s;
+
 
 /* Session control object.  This object is passed down to most
    functions.  The default values for it are set by
@@ -88,24 +37,24 @@ struct server_control_s
   int no_server;      /* We are not running under server control */
   int  status_fd;     /* Only for non-server mode */
   struct server_local_s *server_local;
-  
-  audit_ctx_t audit;  /* NULL or a context for the audit subsystem.  */
+  struct call_syshelp_s *syshelp_local;
+
   int agent_seen;     /* Flag indicating that the gpg-agent has been
                          accessed.  */
-  
+
   int with_colons;    /* Use column delimited output format */
 
   /* Type of the current container.  See the CONTTYPE_ constants.  */
   int conttype;
 
+  strlist_t recipients; /* List of recipients.  */
+
 };
 
 
-\f
 /*-- g13.c --*/
-void g13_exit (int rc);
-void g13_init_default_ctrl (struct server_control_s *ctrl);
-
-
+void g13_init_default_ctrl (ctrl_t ctrl);
+void g13_deinit_default_ctrl (ctrl_t ctrl);
+void g13_request_shutdown (void);
 
 #endif /*G13_H*/