Assuan server mode is now basically usable
[gnupg.git] / assuan / assuan.h
index b70b161..3806d5d 100644 (file)
@@ -33,15 +33,22 @@ typedef enum {
   ASSUAN_General_Error = 1,
   ASSUAN_Out_Of_Core = 2,
   ASSUAN_Invalid_Value = 3,
+  ASSUAN_Timeout = 4,  
+  ASSUAN_Read_Error = 5,
+  ASSUAN_Write_Error = 6,
 
   /* error codes above 99 are meant as status codes */
-  ASSUAN_Unknown_Command = 100,
-  ASSUAN_Not_Implemented = 101,
-  ASSUAN_Server_Fault    = 102,
-  ASSUAN_Syntax_Error    = 103,
-  ASSUAN_Parameter_Error = 104,
-  ASSUAN_Parameter_Conflict = 105,
-
+  ASSUAN_Not_Implemented = 100,
+  ASSUAN_Server_Fault    = 101,
+  ASSUAN_Invalid_Command = 102,
+  ASSUAN_Unknown_Command = 103,
+  ASSUAN_Syntax_Error    = 104,
+  ASSUAN_Parameter_Error = 105,
+  ASSUAN_Parameter_Conflict = 106,
+  ASSUAN_Line_Too_Long = 107,
+  ASSUAN_Line_Not_Terminated = 108,
+  ASSUAN_No_Input = 109,
+  ASSUAN_No_Output = 110,
 
   ASSUAN_Cert_Revoked = 301,
   ASSUAN_No_CRL_For_Cert = 302,
@@ -68,11 +75,17 @@ typedef enum {
 struct assuan_context_s;
 typedef struct assuan_context_s *ASSUAN_CONTEXT;
 
-/*-- assuan-handler --*/
+/*-- assuan-handler.c --*/
 int assuan_register_command (ASSUAN_CONTEXT ctx,
                              int cmd_id, const char *cmd_string,
                              int (*handler)(ASSUAN_CONTEXT, char *));
+int assuan_process (ASSUAN_CONTEXT ctx);
+
 
+/*-- assuan-listen.c --*/
+int assuan_accept (ASSUAN_CONTEXT ctx);
+int assuan_get_input_fd (ASSUAN_CONTEXT ctx);
+int assuan_get_output_fd (ASSUAN_CONTEXT ctx);
 
 
 /*-- assuan-pipe-server.c --*/
@@ -84,6 +97,7 @@ void assuan_deinit_pipe_server (ASSUAN_CONTEXT ctx);
 void assuan_set_malloc_hooks ( void *(*new_alloc_func)(size_t n),
                                void *(*new_realloc_func)(void *p, size_t n),
                                void (*new_free_func)(void*) );
+int assuan_set_error (ASSUAN_CONTEXT ctx, int err, const char *text);
 
 /*-- assuan-errors.c (built) --*/
 const char *assuan_strerror (AssuanError err);