2 * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
9 #ifndef SQUID_GLOBALS_H
10 #define SQUID_GLOBALS_H
12 #include "CacheDigest.h"
17 #include "sbuf/SBuf.h"
19 extern char *ConfigFile
; /* NULL */
20 extern char *IcpOpcodeStr
[];
21 extern char tmp_error_buf
[ERROR_BUF_SZ
];
22 extern char ThisCache
[RFC2181_MAXHOSTNAMELEN
<< 1];
23 extern char ThisCache2
[RFC2181_MAXHOSTNAMELEN
<< 1];
24 extern char config_input_line
[BUFSIZ
];
25 /// During parsing, the name of the current squid.conf directive being parsed.
26 extern const char *cfg_directive
; /* NULL */
27 extern const char *cfg_filename
; /* NULL */
28 extern const char *dash_str
; /* "-" */
29 extern const char *null_string
; /* "" */
30 extern const char *version_string
; /* VERSION */
31 extern const char *appname_string
; /* PACKAGE */
32 extern char const *visible_appname_string
; /* NULL */
33 extern const char *fdTypeStr
[];
34 extern const char *hier_strings
[];
35 extern const char *memStatusStr
[];
36 extern const char *pingStatusStr
[];
37 extern const char *storeStatusStr
[];
38 extern const char *swapStatusStr
[];
39 extern int Biggest_FD
; /* -1 */
40 extern int Number_FD
; /* 0 */
41 extern int Opening_FD
; /* 0 */
42 extern int NDnsServersAlloc
; /* 0 */
43 extern int RESERVED_FD
;
44 extern int Squid_MaxFD
; /* SQUID_MAXFD */
45 extern int config_lineno
; /* 0 */
46 extern int opt_reuseaddr
; /* 1 */
47 extern int neighbors_do_private_keys
; /* 1 */
48 extern int opt_catch_signals
; /* 1 */
49 extern int opt_foreground
; /* 0 */
50 extern int opt_foreground_rebuild
; /* 0 */
51 extern char *opt_forwarded_for
; /* NULL */
52 extern int opt_reload_hit_only
; /* 0 */
54 extern int opt_udp_hit_obj
; /* 0 */
55 extern int opt_create_swap_dirs
; /* 0 */
56 extern int opt_store_doublecheck
; /* 0 */
57 extern int syslog_enable
; /* 0 */
58 extern int DnsSocketA
; /* -1 */
59 extern int DnsSocketB
; /* -1 */
60 extern int n_disk_objects
; /* 0 */
61 extern IoStats IOStats
;
63 extern struct timeval squid_start
;
64 extern int starting_up
; /* 1 */
65 extern int shutting_down
; /* 0 */
66 extern int reconfiguring
; /* 0 */
67 extern time_t hit_only_mode_until
; /* 0 */
68 extern double request_failure_ratio
; /* 0.0 */
69 extern int store_hash_buckets
; /* 0 */
70 extern hash_table
*store_table
; /* NULL */
71 extern int hot_obj_count
; /* 0 */
72 extern int CacheDigestHashFuncCount
; /* 4 */
73 extern CacheDigest
*store_digest
; /* NULL */
74 extern const char *StoreDigestFileName
; /* "store_digest" */
75 extern const char *StoreDigestMimeStr
; /* "application/cache-digest" */
77 extern const char *MultipartMsgBoundaryStr
; /* "Unique-Squid-Separator" */
78 #if USE_HTTP_VIOLATIONS
79 extern int refresh_nocache_hack
; /* 0 */
82 extern int store_open_disk_fd
; /* 0 */
83 extern const char *SwapDirType
[];
84 extern int store_swap_low
; /* 0 */
85 extern int store_swap_high
; /* 0 */
86 extern size_t store_pages_max
; /* 0 */
87 extern int64_t store_maxobjsize
; /* 0 */
88 extern int incoming_sockets_accepted
;
90 extern unsigned int WIN32_Socks_initialized
; /* 0 */
93 extern unsigned int WIN32_OS_version
; /* 0 */
94 extern char *WIN32_OS_string
; /* NULL */
95 extern char *WIN32_Command_Line
; /* NULL */
96 extern char *WIN32_Service_Command_Line
; /* NULL */
97 extern unsigned int WIN32_run_mode
; /* _WIN_SQUID_RUN_MODE_INTERACTIVE */
100 extern int ssl_ex_index_server
; /* -1 */
101 extern int ssl_ctx_ex_index_dont_verify_domain
; /* -1 */
102 extern int ssl_ex_index_cert_error_check
; /* -1 */
103 extern int ssl_ex_index_ssl_error_detail
; /* -1 */
104 extern int ssl_ex_index_ssl_peeked_cert
; /* -1 */
105 extern int ssl_ex_index_ssl_errors
; /* -1 */
106 extern int ssl_ex_index_ssl_cert_chain
; /* -1 */
107 extern int ssl_ex_index_ssl_validation_counter
; /* -1 */
109 extern const char *external_acl_message
; /* NULL */
110 extern int opt_send_signal
; /* -1 */
111 extern int opt_no_daemon
; /* 0 */
112 extern int opt_parse_cfg_only
; /* 0 */
114 /// current Squid process number (e.g., 4).
115 /// Zero for SMP-unaware code and in no-SMP mode.
116 extern int KidIdentifier
; /* 0 */
118 #endif /* SQUID_GLOBALS_H */