common/iobuf.c: Improve iobuf_peek.
[gnupg.git] / common / asshelp.h
1 /* asshelp.h - Helper functions for Assuan
2  *      Copyright (C) 2004, 2007 Free Software Foundation, Inc.
3  *
4  * This file is part of GnuPG.
5  *
6  * This file is free software; you can redistribute it and/or modify
7  * it under the terms of either
8  *
9  *   - the GNU Lesser General Public License as published by the Free
10  *     Software Foundation; either version 3 of the License, or (at
11  *     your option) any later version.
12  *
13  * or
14  *
15  *   - the GNU General Public License as published by the Free
16  *     Software Foundation; either version 2 of the License, or (at
17  *     your option) any later version.
18  *
19  * or both in parallel, as here.
20  *
21  * This file is distributed in the hope that it will be useful,
22  * but WITHOUT ANY WARRANTY; without even the implied warranty of
23  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24  * GNU General Public License for more details.
25  *
26  * You should have received a copy of the GNU General Public License
27  * along with this program; if not, see <http://www.gnu.org/licenses/>.
28  */
29
30 #ifndef GNUPG_COMMON_ASSHELP_H
31 #define GNUPG_COMMON_ASSHELP_H
32
33 #include <assuan.h>
34 #include <gpg-error.h>
35
36 #include "session-env.h"
37
38 /*-- asshelp.c --*/
39
40 void setup_libassuan_logging (unsigned int *debug_var_address);
41 void set_libassuan_log_cats (unsigned int newcats);
42
43
44 gpg_error_t
45 send_pinentry_environment (assuan_context_t ctx,
46                            gpg_err_source_t errsource,
47                            const char *opt_lc_ctype,
48                            const char *opt_lc_messages,
49                            session_env_t session_env);
50
51 /* This function is used by the call-agent.c modules to fire up a new
52    agent.  */
53 gpg_error_t
54 start_new_gpg_agent (assuan_context_t *r_ctx,
55                      gpg_err_source_t errsource,
56                      const char *homedir,
57                      const char *agent_program,
58                      const char *opt_lc_ctype,
59                      const char *opt_lc_messages,
60                      session_env_t session_env,
61                      int autostart, int verbose, int debug,
62                      gpg_error_t (*status_cb)(ctrl_t, int, ...),
63                      ctrl_t status_cb_arg);
64
65 /* This function is used to connect to the dirmngr.  On some platforms
66    the function is able starts a dirmngr process if needed.  */
67 gpg_error_t
68 start_new_dirmngr (assuan_context_t *r_ctx,
69                    gpg_err_source_t errsource,
70                    const char *homedir,
71                    const char *dirmngr_program,
72                    int autostart, int verbose, int debug,
73                    gpg_error_t (*status_cb)(ctrl_t, int, ...),
74                    ctrl_t status_cb_arg);
75
76
77 /*-- asshelp2.c --*/
78
79 /* Helper function to print an assuan status line using a printf
80    format string.  */
81 gpg_error_t print_assuan_status (assuan_context_t ctx,
82                                  const char *keyword,
83                                  const char *format,
84                                  ...) GPGRT_ATTR_PRINTF(3,4);
85 gpg_error_t vprint_assuan_status (assuan_context_t ctx,
86                                   const char *keyword,
87                                   const char *format,
88                                   va_list arg_ptr) GPGRT_ATTR_PRINTF(3,0);
89
90
91 #endif /*GNUPG_COMMON_ASSHELP_H*/