Minor HELP output fixes.
[pwmd.git] / src / common.h
blob09c8878f54c5067d0eea848671f1dbcf73ef52aa
1 /*
2 Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
3 Ben Kibbey <bjk@luxsci.net>
5 This file is part of pwmd.
7 Pwmd is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 2 of the License, or
10 (at your option) any later version.
12 Pwmd is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with Pwmd. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef COMMON_H
21 #define COMMON_H
23 #include <sys/types.h>
24 #include <sys/stat.h>
25 #include <pthread.h>
26 #include <assuan.h>
28 #ifdef ENABLE_NLS
29 #ifdef HAVE_LOCALE_H
30 #include <locale.h>
31 #endif
32 #endif
34 #ifndef _
35 #include "gettext.h"
36 #define _(msgid) gettext(msgid)
37 #endif
39 #ifdef WITH_GNUTLS
40 #include "tls.h"
41 #endif
42 #include "status.h"
43 #include "agent.h"
45 struct client_thread_s {
46 pthread_t tid;
47 int fd;
48 pthread_mutex_t status_mutex;
49 struct status_msg_s *msg_queue;
50 int status_msg_pipe[2];
51 struct client_s *cl;
52 #ifdef WITH_GNUTLS
53 int remote;
54 struct tls_s *tls;
55 #endif
58 struct client_s {
59 assuan_context_t ctx;
60 void *doc; /* xmlDocPtr */
61 void *xml_error;
62 char *filename;
63 unsigned char md5file[16];
64 struct client_thread_s *thd;
65 struct crypto_s *crypto;
66 uint32_t opts;
67 uint32_t flags;
68 long lock_timeout; /* In tenths of a second. */
69 gpg_error_t last_rc;
70 char *last_error; /* ELOOP element path. */
71 unsigned char *crc; /* Of the data file. */
74 pthread_key_t thread_name_key;
75 pthread_mutex_t cn_mutex;
76 struct slist_s *cn_thread_list;
77 char **debug_level;
79 int assuan_log_cb(assuan_context_t ctx, void *data, unsigned cat,
80 const char *msg);
81 void log_write(const char *fmt, ...);
82 gpg_error_t send_error(assuan_context_t ctx, gpg_error_t e);
84 #endif