Chnages to supporta pinnetry notification
[gpgme.git] / assuan / assuan.h
index 4916d6f..6df0166 100644 (file)
@@ -1,5 +1,5 @@
-/* assuan.c - Definitions for the Assuan IPC library
- * Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+/* assuan.h - Definitions for the Assuan IPC library
+ * Copyright (C) 2001, 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
  *
  * This file is part of Assuan.
  *
 #define _ASSUAN_USE_DOUBLE_FORK
 
 #ifdef _ASSUAN_IN_GPGME_BUILD_ASSUAN
+#include <ath.h>
+
+int _gpgme_io_close (int fd);
 int _gpgme_io_read (int fd, void *buffer, size_t count);
 int _gpgme_io_write (int fd, const void *buffer, size_t count);
-ssize_t _gpgme_ath_waitpid (pid_t pid, int *status, int options);
-#ifdef HAVE_W32_SYSTEM
-int _gpgme_ath_accept (int s, void *addr, int *length_ptr);
-#else /*!HAVE_W32_SYSTEM*/
-struct sockaddr;
-struct msghdr;
-ssize_t _gpgme_ath_select (int nfd, fd_set *rset, fd_set *wset, fd_set *eset,
-                           struct timeval *timeout);
-int _gpgme_ath_accept (int s, struct sockaddr *addr, socklen_t *length_ptr);
-int _gpgme_ath_connect (int s, struct sockaddr *addr, socklen_t length);
-int _gpgme_ath_sendmsg (int s, const struct msghdr *msg, int flags);
-int _gpgme_ath_recvmsg (int s, struct msghdr *msg, int flags);
-#endif /*!HAVE_W32_SYSTEM*/
+int _gpgme_io_sendmsg (int sock, const struct msghdr *msg, int flags);
+int _gpgme_io_recvmsg (int sock, struct msghdr *msg, int flags);
 
+#define close         _gpgme_io_close
 #define read          _gpgme_io_read
 #define write         _gpgme_io_write
 #define waitpid              _gpgme_ath_waitpid
 #define select       _gpgme_ath_select
 #define accept        _gpgme_ath_accept
 #define connect       _gpgme_ath_connect
-#define sendmsg              _gpgme_ath_sendmsg
-#define recvmsg       _gpgme_ath_recvmsg
+#define sendmsg              _gpgme_io_sendmsg
+#define recvmsg       _gpgme_io_recvmsg
 #endif /*_ASSUAN_IN_GPGME_BUILD_ASSUAN*/
 /**** End GPGME specific modifications. ******/
 
@@ -144,6 +137,7 @@ int _gpgme_ath_recvmsg (int s, struct msghdr *msg, int flags);
 #define assuan_sendfd _ASSUAN_PREFIX(assuan_sendfd)
 #define assuan_receivefd _ASSUAN_PREFIX(assuan_receivefd)
 #define assuan_set_malloc_hooks _ASSUAN_PREFIX(assuan_set_malloc_hooks)
+#define assuan_set_assuan_log_level _ASSUAN_PREFIX(assuan_set_assuan_log_level)
 #define assuan_set_log_stream _ASSUAN_PREFIX(assuan_set_log_stream)
 #define assuan_set_error _ASSUAN_PREFIX(assuan_set_error)
 #define assuan_set_pointer _ASSUAN_PREFIX(assuan_set_pointer)
@@ -162,6 +156,9 @@ int _gpgme_ath_recvmsg (int s, struct msghdr *msg, int flags);
   _ASSUAN_PREFIX(assuan_get_assuan_log_prefix)
 #define assuan_set_flag _ASSUAN_PREFIX(assuan_set_flag)
 #define assuan_get_flag _ASSUAN_PREFIX(assuan_get_flag)
+#define assuan_pipe_connect2 _ASSUAN_PREFIX(assuan_pipe_connect2)
+#define assuan_set_assuan_log_prefix \
+  _ASSUAN_PREFIX(assuan_set_assuan_log_prefix)
 
 /* And now the internal functions, argh...  */
 #define _assuan_read_line _ASSUAN_PREFIX(_assuan_read_line)
@@ -188,12 +185,22 @@ int _gpgme_ath_recvmsg (int s, struct msghdr *msg, int flags);
 #define _assuan_set_default_log_stream \
   _ASSUAN_PREFIX(_assuan_set_default_log_stream)
 #define _assuan_w32_strerror _ASSUAN_PREFIX(_assuan_w32_strerror)
+#define _assuan_gpg_strerror_r _ASSUAN_PREFIX(_assuan_gpg_strerror_r)
+#define _assuan_gpg_strsource  _ASSUAN_PREFIX(_assuan_gpg_strsource)
 #define _assuan_write_line _ASSUAN_PREFIX(_assuan_write_line)
 #define _assuan_close _ASSUAN_PREFIX(_assuan_close)   
 #define _assuan_sock_new _ASSUAN_PREFIX(_assuan_sock_new)  
 #define _assuan_sock_bind _ASSUAN_PREFIX(_assuan_sock_bind)
 #define _assuan_sock_connect _ASSUAN_PREFIX(_assuan_sock_connect)
-
+#define _assuan_error _ASSUAN_PREFIX(_assuan_error)
+#define _assuan_init_uds_io _ASSUAN_PREFIX(_assuan_init_uds_io)
+#define _assuan_uds_close_fds _ASSUAN_PREFIX(_assuan_uds_close_fds)
+#define _assuan_uds_deinit _ASSUAN_PREFIX(_assuan_uds_deinit)
+#define _assuan_simple_recvmsg _ASSUAN_PREFIX(_assuan_simple_recvmsg)
+#define _assuan_simple_sendmsg _ASSUAN_PREFIX(_assuan_simple_sendmsg)
+#define _assuan_waitpid _ASSUAN_PREFIX(_assuan_waitpid)
+
+#define _assuan_funopen _gpgme_funopen
 #endif /*_ASSUAN_EXT_SYM_PREFIX*/
 
 
@@ -458,8 +465,10 @@ assuan_error_t assuan_socket_connect_ext (assuan_context_t *ctx,
 /*-- assuan-connect.c --*/
 void assuan_disconnect (assuan_context_t ctx);
 pid_t assuan_get_pid (assuan_context_t ctx);
+#ifndef HAVE_W32_SYSTEM
 assuan_error_t assuan_get_peercred (assuan_context_t ctx,
                                     pid_t *pid, uid_t *uid, gid_t *gid);
+#endif
 
 /*-- assuan-client.c --*/
 assuan_error_t 
@@ -536,6 +545,14 @@ void assuan_set_assuan_err_source (int errsource);
 
 /*-- assuan-logging.c --*/
 
+/* Set the log level for general assuan commands.  0 is no logging at
+   all, 1 is the standard logging and the default. Higher leveles may
+   be defined in the future.  Passing a level of -1 will not change
+   the current log level.  Returns previous log level.  Note, that
+   this function is not thread-safe and should in general be used
+   right at startup. */
+int assuan_set_assuan_log_level (int level);
+
 /* Set the stream to which assuan should log message not associated
    with a context.  By default, this is stderr.  The default value
    will be changed when the first log stream is associated with a