release 0.92.3
[cntlm.git] / globals.h
blob2f01b93680a33ed509ac7c15e55a9ca886d0c9b5
1 /*
2 * CNTLM is free software; you can redistribute it and/or modify it under the
3 * terms of the GNU General Public License as published by the Free Software
4 * Foundation; either version 2 of the License, or (at your option) any later
5 * version.
7 * CNTLM is distributed in the hope that it will be useful, but WITHOUT ANY
8 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
10 * details.
12 * You should have received a copy of the GNU General Public License along with
13 * this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
14 * St, Fifth Floor, Boston, MA 02110-1301, USA.
16 * Copyright (c) 2007 David Kubicek
21 * These are globals, mostly run-time options, defined and setup in main module
22 * proxy.c
25 #ifndef _GLOBALS_H
26 #define _GLOBALS_H
28 #include <pthread.h>
30 #include "utils.h"
31 #include "auth.h"
33 extern int debug;
35 extern struct auth_s *g_creds; /* global NTLM credentials */
37 extern int ntlmbasic; /* forward_request() */
38 extern int serialize;
39 extern int scanner_plugin;
40 extern long scanner_plugin_maxsize;
42 extern plist_t threads_list;
43 extern pthread_mutex_t threads_mtx;
45 extern plist_t connection_list;
46 extern pthread_mutex_t connection_mtx;
48 extern int parent_count;
49 extern plist_t parent_list;
52 * just malloc/free sizeof(proxy_t)
54 typedef struct {
55 char hostname[64];
56 struct auth_s creds;
57 struct in_addr host;
58 int port;
59 int resolved;
60 } proxy_t;
62 extern hlist_t header_list; /* forward_request() */
63 extern hlist_t users_list; /* socks5_thread() */
64 extern plist_t scanner_agent_list; /* scanner_hook() */
65 extern plist_t noproxy_list; /* proxy_thread() */
67 #endif /* _GLOBALS_H */