#include <stdio.h>
#include <stdarg.h>
+#include <haproxy/global.h>
#include <haproxy/hlua.h>
#include <haproxy/time.h>
-#include <types/global.h>
#include <types/stream.h>
#include <haproxy/arg.h>
#include <haproxy/api.h>
#include <common/cfgparse.h>
#include <haproxy/frontend.h>
+#include <haproxy/global.h>
#include <haproxy/http.h>
#include <haproxy/http_htx.h>
#include <haproxy/htx.h>
#include <haproxy/pool.h>
#include <haproxy/list.h>
-#include <types/global.h>
-
#include <proto/applet.h>
#include <proto/backend.h>
#include <haproxy/compression.h>
#define MAXPATHLEN 128
#endif
+/* longest UNIX socket name */
+#ifndef UNIX_MAX_PATH
+#define UNIX_MAX_PATH 108
+#endif
+
/* On Linux, allows pipes to be resized */
#ifndef F_SETPIPE_SZ
#define F_SETPIPE_SZ (1024 + 7)
#include <types/connection.h>
#include <haproxy/proto_udp-t.h>
-#include <types/proxy.h>
-#include <types/server.h>
#include <types/task.h>
extern struct pool_head *dns_requester_pool;
DNS_UPD_OBSOLETE_IP, /* The server IP was obsolete, and no other IP was found */
};
+struct proxy;
struct dns_srvrq {
enum obj_type obj_type; /* object type == OBJ_TYPE_SRVRQ */
struct dns_resolvers *resolvers; /* pointer to the resolvers structure used for this server template */
/*
- * include/types/global.h
- * Global variables.
+ * include/haproxy/global-t.h
+ * Global types and macros. Please avoid adding more stuff here!
*
- * Copyright (C) 2000-2012 Willy Tarreau - w@1wt.eu
+ * Copyright (C) 2000-2020 Willy Tarreau - w@1wt.eu
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef _TYPES_GLOBAL_H
-#define _TYPES_GLOBAL_H
-
-#include <netinet/in.h>
+#ifndef _HAPROXY_GLOBAL_T_H
+#define _HAPROXY_GLOBAL_T_H
+#include <haproxy/buf-t.h>
+#include <haproxy/freq_ctr-t.h>
+#include <haproxy/list-t.h>
+#include <haproxy/thread-t.h>
#include <haproxy/api-t.h>
-#include <haproxy/thread.h>
#include <haproxy/vars-t.h>
-#include <haproxy/freq_ctr-t.h>
-#include <types/proxy.h>
-#include <types/task.h>
-
-#ifndef UNIX_MAX_PATH
-#define UNIX_MAX_PATH 108
-#endif
-
/* modes of operation (global.mode) */
#define MODE_DEBUG 0x01
#define MODE_DAEMON 0x02
SSL_SERVER_VERIFY_REQUIRED = 1,
};
+/* bit values to go with "warned" above */
+#define WARN_ANY 0x00000001 /* any warning was emitted */
+#define WARN_FORCECLOSE_DEPRECATED 0x00000002
+#define WARN_EXEC_PATH 0x00000004 /* executable path already reported */
+
+/* put there the forward declarations needed for global.h */
+struct proxy;
+
/* FIXME : this will have to be redefined correctly */
struct global {
int uid;
#endif
};
-extern struct global global;
-extern int pid; /* current process id */
-extern int relative_pid; /* process id starting at 1 */
-extern unsigned long pid_bit; /* bit corresponding to the process id */
-extern unsigned long all_proc_mask; /* mask of all processes */
-extern int actconn; /* # of active sessions */
-extern int listeners;
-extern int jobs; /* # of active jobs (listeners, sessions, open devices) */
-extern int unstoppable_jobs; /* # of active jobs that can't be stopped during a soft stop */
-extern int active_peers; /* # of active peers (connection attempts and successes) */
-extern int connected_peers; /* # of really connected peers */
-extern THREAD_LOCAL struct buffer trash;
-extern int nb_oldpids; /* contains the number of old pids found */
-extern const int zero;
-extern const int one;
-extern const struct linger nolinger;
-extern int stopping; /* non zero means stopping in progress */
-extern int killed; /* >0 means a hard-stop is triggered, >1 means hard-stop immediately */
-extern char hostname[MAX_HOSTNAME_LEN];
-extern char localpeer[MAX_HOSTNAME_LEN];
-extern unsigned int warned; /* bitfield of a few warnings to emit just once */
-extern volatile unsigned long sleeping_thread_mask;
-extern struct list proc_list; /* list of process in mworker mode */
-extern struct mworker_proc *proc_self; /* process structure of current process */
-extern int master; /* 1 if in master, 0 otherwise */
-extern unsigned int rlim_fd_cur_at_boot;
-extern unsigned int rlim_fd_max_at_boot;
-extern int atexit_flag;
-extern unsigned char boot_seed[20]; // per-boot random seed (160 bits initially)
-
-/* bit values to go with "warned" above */
-#define WARN_ANY 0x00000001 /* any warning was emitted */
-#define WARN_FORCECLOSE_DEPRECATED 0x00000002
-#define WARN_EXEC_PATH 0x00000004 /* executable path already reported */
-
-
-/* to be used with warned and WARN_* */
-static inline int already_warned(unsigned int warning)
-{
- if (warned & warning)
- return 1;
- warned |= warning;
- return 0;
-}
-
-/* returns a mask if set, otherwise all_proc_mask */
-static inline unsigned long proc_mask(unsigned long mask)
-{
- return mask ? mask : all_proc_mask;
-}
-
-/* returns a mask if set, otherwise all_threads_mask */
-static inline unsigned long thread_mask(unsigned long mask)
-{
- return mask ? mask : all_threads_mask;
-}
-
-int tell_old_pids(int sig);
-int delete_oldpid(int pid);
-
-int main(int argc, char **argv);
-void deinit(void);
-void run_poll_loop(void);
-void hap_register_build_opts(const char *str, int must_free);
-void hap_register_post_check(int (*fct)());
-void hap_register_post_proxy_check(int (*fct)(struct proxy *));
-void hap_register_post_server_check(int (*fct)(struct server *));
-void hap_register_post_deinit(void (*fct)());
-void hap_register_proxy_deinit(void (*fct)(struct proxy *));
-void hap_register_server_deinit(void (*fct)(struct server *));
-
-void hap_register_per_thread_alloc(int (*fct)());
-void hap_register_per_thread_init(int (*fct)());
-void hap_register_per_thread_deinit(void (*fct)());
-void hap_register_per_thread_free(int (*fct)());
-
-void mworker_accept_wrapper(int fd);
-void mworker_reload();
-
-/* simplified way to declare static build options in a file */
-#define REGISTER_BUILD_OPTS(str) \
- INITCALL2(STG_REGISTER, hap_register_build_opts, (str), 0)
-
-/* simplified way to declare a post-check callback in a file */
-#define REGISTER_POST_CHECK(fct) \
- INITCALL1(STG_REGISTER, hap_register_post_check, (fct))
-
-/* simplified way to declare a post-proxy-check callback in a file */
-#define REGISTER_POST_PROXY_CHECK(fct) \
- INITCALL1(STG_REGISTER, hap_register_post_proxy_check, (fct))
-
-/* simplified way to declare a post-server-check callback in a file */
-#define REGISTER_POST_SERVER_CHECK(fct) \
- INITCALL1(STG_REGISTER, hap_register_post_server_check, (fct))
-
-/* simplified way to declare a post-deinit callback in a file */
-#define REGISTER_POST_DEINIT(fct) \
- INITCALL1(STG_REGISTER, hap_register_post_deinit, (fct))
-
-/* simplified way to declare a proxy-deinit callback in a file */
-#define REGISTER_PROXY_DEINIT(fct) \
- INITCALL1(STG_REGISTER, hap_register_proxy_deinit, (fct))
-
-/* simplified way to declare a proxy-deinit callback in a file */
-#define REGISTER_SERVER_DEINIT(fct) \
- INITCALL1(STG_REGISTER, hap_register_server_deinit, (fct))
-
-/* simplified way to declare a per-thread allocation callback in a file */
-#define REGISTER_PER_THREAD_ALLOC(fct) \
- INITCALL1(STG_REGISTER, hap_register_per_thread_alloc, (fct))
-
-/* simplified way to declare a per-thread init callback in a file */
-#define REGISTER_PER_THREAD_INIT(fct) \
- INITCALL1(STG_REGISTER, hap_register_per_thread_init, (fct))
-
-/* simplified way to declare a per-thread deinit callback in a file */
-#define REGISTER_PER_THREAD_DEINIT(fct) \
- INITCALL1(STG_REGISTER, hap_register_per_thread_deinit, (fct))
-
-/* simplified way to declare a per-thread free callback in a file */
-#define REGISTER_PER_THREAD_FREE(fct) \
- INITCALL1(STG_REGISTER, hap_register_per_thread_free, (fct))
-
-#endif /* _TYPES_GLOBAL_H */
+#endif /* _HAPROXY_GLOBAL_T_H */
/*
* Local variables:
--- /dev/null
+/*
+ * include/haproxy/global.h
+ * Exported global variables and functions.
+ *
+ * Copyright (C) 2000-2020 Willy Tarreau - w@1wt.eu
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, version 2.1
+ * exclusively.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _HAPROXY_GLOBAL_H
+#define _HAPROXY_GLOBAL_H
+
+#include <haproxy/global-t.h>
+#include <haproxy/api-t.h>
+#include <haproxy/thread.h>
+#include <haproxy/vars-t.h>
+#include <haproxy/mworker-t.h>
+
+#include <types/proxy.h>
+
+extern struct global global;
+extern int pid; /* current process id */
+extern int relative_pid; /* process id starting at 1 */
+extern unsigned long pid_bit; /* bit corresponding to the process id */
+extern unsigned long all_proc_mask; /* mask of all processes */
+extern int actconn; /* # of active sessions */
+extern int listeners;
+extern int jobs; /* # of active jobs (listeners, sessions, open devices) */
+extern int unstoppable_jobs; /* # of active jobs that can't be stopped during a soft stop */
+extern int active_peers; /* # of active peers (connection attempts and successes) */
+extern int connected_peers; /* # of really connected peers */
+extern int nb_oldpids; /* contains the number of old pids found */
+extern const int zero;
+extern const int one;
+extern const struct linger nolinger;
+extern int stopping; /* non zero means stopping in progress */
+extern int killed; /* >0 means a hard-stop is triggered, >1 means hard-stop immediately */
+extern char hostname[MAX_HOSTNAME_LEN];
+extern char localpeer[MAX_HOSTNAME_LEN];
+extern unsigned int warned; /* bitfield of a few warnings to emit just once */
+extern volatile unsigned long sleeping_thread_mask;
+extern struct list proc_list; /* list of process in mworker mode */
+extern struct mworker_proc *proc_self; /* process structure of current process */
+extern int master; /* 1 if in master, 0 otherwise */
+extern unsigned int rlim_fd_cur_at_boot;
+extern unsigned int rlim_fd_max_at_boot;
+extern int atexit_flag;
+extern unsigned char boot_seed[20]; // per-boot random seed (160 bits initially)
+extern THREAD_LOCAL struct buffer trash;
+
+int main(int argc, char **argv);
+void deinit(void);
+void run_poll_loop(void);
+int tell_old_pids(int sig);
+int delete_oldpid(int pid);
+void hap_register_build_opts(const char *str, int must_free);
+void hap_register_post_check(int (*fct)());
+void hap_register_post_proxy_check(int (*fct)(struct proxy *));
+void hap_register_post_server_check(int (*fct)(struct server *));
+void hap_register_post_deinit(void (*fct)());
+void hap_register_proxy_deinit(void (*fct)(struct proxy *));
+void hap_register_server_deinit(void (*fct)(struct server *));
+
+void hap_register_per_thread_alloc(int (*fct)());
+void hap_register_per_thread_init(int (*fct)());
+void hap_register_per_thread_deinit(void (*fct)());
+void hap_register_per_thread_free(int (*fct)());
+
+void mworker_accept_wrapper(int fd);
+void mworker_reload();
+
+/* to be used with warned and WARN_* */
+static inline int already_warned(unsigned int warning)
+{
+ if (warned & warning)
+ return 1;
+ warned |= warning;
+ return 0;
+}
+
+/* returns a mask if set, otherwise all_proc_mask */
+static inline unsigned long proc_mask(unsigned long mask)
+{
+ return mask ? mask : all_proc_mask;
+}
+
+/* returns a mask if set, otherwise all_threads_mask */
+static inline unsigned long thread_mask(unsigned long mask)
+{
+ return mask ? mask : all_threads_mask;
+}
+
+/* simplified way to declare static build options in a file */
+#define REGISTER_BUILD_OPTS(str) \
+ INITCALL2(STG_REGISTER, hap_register_build_opts, (str), 0)
+
+/* simplified way to declare a post-check callback in a file */
+#define REGISTER_POST_CHECK(fct) \
+ INITCALL1(STG_REGISTER, hap_register_post_check, (fct))
+
+/* simplified way to declare a post-proxy-check callback in a file */
+#define REGISTER_POST_PROXY_CHECK(fct) \
+ INITCALL1(STG_REGISTER, hap_register_post_proxy_check, (fct))
+
+/* simplified way to declare a post-server-check callback in a file */
+#define REGISTER_POST_SERVER_CHECK(fct) \
+ INITCALL1(STG_REGISTER, hap_register_post_server_check, (fct))
+
+/* simplified way to declare a post-deinit callback in a file */
+#define REGISTER_POST_DEINIT(fct) \
+ INITCALL1(STG_REGISTER, hap_register_post_deinit, (fct))
+
+/* simplified way to declare a proxy-deinit callback in a file */
+#define REGISTER_PROXY_DEINIT(fct) \
+ INITCALL1(STG_REGISTER, hap_register_proxy_deinit, (fct))
+
+/* simplified way to declare a proxy-deinit callback in a file */
+#define REGISTER_SERVER_DEINIT(fct) \
+ INITCALL1(STG_REGISTER, hap_register_server_deinit, (fct))
+
+/* simplified way to declare a per-thread allocation callback in a file */
+#define REGISTER_PER_THREAD_ALLOC(fct) \
+ INITCALL1(STG_REGISTER, hap_register_per_thread_alloc, (fct))
+
+/* simplified way to declare a per-thread init callback in a file */
+#define REGISTER_PER_THREAD_INIT(fct) \
+ INITCALL1(STG_REGISTER, hap_register_per_thread_init, (fct))
+
+/* simplified way to declare a per-thread deinit callback in a file */
+#define REGISTER_PER_THREAD_DEINIT(fct) \
+ INITCALL1(STG_REGISTER, hap_register_per_thread_deinit, (fct))
+
+/* simplified way to declare a per-thread free callback in a file */
+#define REGISTER_PER_THREAD_FREE(fct) \
+ INITCALL1(STG_REGISTER, hap_register_per_thread_free, (fct))
+
+#endif /* _HAPROXY_GLOBAL_H */
+
+/*
+ * Local variables:
+ * c-indent-level: 8
+ * c-basic-offset: 8
+ * End:
+ */
#include <haproxy/api.h>
#include <haproxy/lb_chash-t.h>
-#include <types/proxy.h>
-#include <types/server.h>
+struct proxy;
+struct server;
void chash_init_server_tree(struct proxy *p);
struct server *chash_get_next_server(struct proxy *p, struct server *srvtoavoid);
struct server *chash_get_server_hash(struct proxy *p, unsigned int hash, const struct server *avoid);
#include <haproxy/api.h>
#include <haproxy/chunk.h>
#include <haproxy/dynbuf.h>
+#include <haproxy/global.h>
#include <haproxy/htx.h>
#include <haproxy/ticks.h>
#include <haproxy/time.h>
#include <types/channel.h>
-#include <types/global.h>
#include <types/stream.h>
#include <types/stream_interface.h>
#ifndef _PROTO_CLI_H
#define _PROTO_CLI_H
+#include <haproxy/global.h>
#include <types/applet.h>
#include <types/channel.h>
#include <types/cli.h>
-#include <types/global.h>
#include <types/stream.h>
#include <haproxy/ticks.h>
#include <haproxy/time.h>
#include <types/applet.h>
-#include <types/global.h>
+#include <haproxy/global-t.h>
#include <types/proxy.h>
#include <haproxy/freq_ctr.h>
#include <haproxy/obj_type.h>
#include <haproxy/pool.h>
-#include <types/global.h>
+#include <haproxy/global-t.h>
#include <types/session.h>
#include <proto/stick_table.h>
#include <haproxy/api.h>
#include <haproxy/pool.h>
+#include <haproxy/global.h>
#include <haproxy/intops.h>
#include <haproxy/list.h>
#include <haproxy/ticks.h>
#include <import/eb32sctree.h>
#include <import/eb32tree.h>
-#include <types/global.h>
#include <types/task.h>
#include <haproxy/fd.h>
#include <haproxy/buf-t.h>
#include <types/connection.h>
-#include <types/proxy.h>
#include <haproxy/sample-t.h>
-#include <types/server.h>
#include <types/session.h>
#include <types/task.h>
HANA_OBS_SIZE
};
+struct proxy;
+struct server;
struct check {
enum obj_type obj_type; /* object type == OBJ_TYPE_CHECK */
struct session *sess; /* Health check session. */
#include <types/connection.h>
#include <haproxy/freq_ctr-t.h>
-#include <types/proxy.h>
#include <types/queue.h>
#include <types/ssl_sock.h>
#include <types/task.h>
struct eb32_node node;
};
+struct proxy;
struct server {
enum obj_type obj_type; /* object type == OBJ_TYPE_SERVER */
enum srv_state next_state, cur_state; /* server state among SRV_ST_* */
#include <haproxy/obj_type-t.h>
#include <haproxy/vars-t.h>
-#include <types/proxy.h>
#include <types/stick_table.h>
#include <types/task.h>
SESS_FL_PREFER_LAST = 0x00000001, /* NTML authent, we should reuse last conn */
};
+struct proxy;
struct session {
struct proxy *fe; /* the proxy this session depends on for the client side */
struct listener *listener; /* the listener by which the request arrived */
#include <haproxy/errors.h>
#include <haproxy/http_htx.h>
#include <haproxy/thread.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <haproxy/arg.h>
#include <proto/http_fetch.h>
#include <proto/log.h>
#include <haproxy/tools.h>
#include <common/uri_auth.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <proto/acl.h>
#include <haproxy/arg.h>
#include <haproxy/tools.h>
#include <haproxy/chunk.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <haproxy/arg.h>
const char *arg_type_names[ARGT_NBTYPES] = {
#include <haproxy/auth-t.h>
#include <haproxy/api.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <haproxy/errors.h>
#include <haproxy/pattern-t.h>
#include <haproxy/thread.h>
#include <haproxy/time.h>
#include <haproxy/namespace.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <proto/acl.h>
#include <haproxy/arg.h>
#include <haproxy/list.h>
#include <haproxy/pool.h>
-#include <types/global.h>
+#include <haproxy/global.h>
struct pool_head *pool_head_buffer;
#include <haproxy/thread.h>
#include <types/filters.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <types/peers.h>
#include <types/stats.h>
#include <haproxy/htx.h>
#include <haproxy/vars.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <types/stats.h>
#include <haproxy/arg.h>
#include <haproxy/chunk.h>
#include <haproxy/tools.h>
-#include <types/global.h>
+#include <haproxy/global.h>
/* trash chunks used for various conversions */
static THREAD_LOCAL struct buffer *trash_chunk;
#include <haproxy/base64.h>
#include <types/applet.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <types/stats.h>
#include <haproxy/activity.h>
#include <haproxy/thread.h>
#include <haproxy/pool.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <haproxy/compression-t.h>
#include <proto/acl.h>
#include <haproxy/errors.h>
#include <haproxy/http.h>
#include <haproxy/http_htx.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <haproxy/arg.h>
#include <proto/http_fetch.h>
#include <proto/log.h>
#include <haproxy/net_helper.h>
#include <haproxy/tools.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <types/signal.h>
#include <proto/cli.h>
#include <types/applet.h>
#include <types/cli.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <types/stats.h>
#include <proto/channel.h>
#include <sys/types.h>
#include <haproxy/api.h>
+#include <haproxy/global.h>
#include <haproxy/thread-t.h>
#include <haproxy/tools.h>
#include <haproxy/ticks.h>
#include <haproxy/time.h>
-#include <types/global.h>
-
#include <haproxy/activity.h>
#include <haproxy/fd.h>
#include <proto/signal.h>
#include <haproxy/ticks.h>
#include <haproxy/time.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <haproxy/activity.h>
#include <haproxy/fd.h>
#include <haproxy/ticks.h>
#include <haproxy/time.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <haproxy/activity.h>
#include <haproxy/fd.h>
#include <haproxy/ticks.h>
#include <haproxy/time.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <haproxy/activity.h>
#include <haproxy/fd.h>
#include <haproxy/ticks.h>
#include <haproxy/time.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <haproxy/activity.h>
#include <haproxy/fd.h>
#include <haproxy/sample.h>
#include <haproxy/tools.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <proto/acl.h>
#include <proto/fcgi-app.h>
#include <haproxy/api.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <haproxy/fd.h>
#include <proto/log.h>
#include <haproxy/vars.h>
#include <haproxy/arg-t.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <types/spoe.h>
#include <proto/acl.h>
#include <types/channel.h>
#include <types/filters.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <types/proxy.h>
#include <types/stream.h>
#include <haproxy/tools.h>
#include <haproxy/time.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <proto/acl.h>
#include <haproxy/arg.h>
#include <haproxy/http-hdr-t.h>
#include <haproxy/htx.h>
#include <import/ist.h>
-#include <types/global.h>
+#include <haproxy/global.h>
struct h2_frame_definition h2_frame_definition[H2_FT_ENTRIES] = {
[H2_FT_DATA ] = { .dir = 3, .min_id = 1, .max_id = H2_MAX_STREAM_ID, .min_len = 0, .max_len = H2_MAX_FRAME_LEN, },
#include <haproxy/capture-t.h>
#include <types/cli.h>
#include <types/filters.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <types/acl.h>
#include <types/peers.h>
#include <haproxy/h2.h>
#include <import/ist.h>
-#include <types/global.h>
-
#if defined(DEBUG_HPACK)
#define hpack_debug_printf printf
#include <haproxy/http-hdr-t.h>
#include <import/ist.h>
-#include <types/global.h>
-
/*
* HPACK encoding: these tables were generated using gen-enc.c
*/
#include <haproxy/hpack-tbl.h>
#include <import/ist.h>
-#include <types/global.h>
-
/* static header table as in RFC7541 Appendix A. [0] unused. */
const struct http_hdr hpack_sht[HPACK_SHT_SIZE] = {
[ 1] = { .n = IST(":authority"), .v = IST("") },
#include <haproxy/tools.h>
#include <haproxy/version.h>
-#include <types/global.h>
-
#include <proto/acl.h>
#include <haproxy/arg.h>
#include <haproxy/api.h>
#include <common/cfgparse.h>
#include <haproxy/chunk.h>
+#include <haproxy/global.h>
#include <haproxy/http.h>
#include <haproxy/http_htx.h>
#include <haproxy/http_rules.h>
#include <haproxy/version.h>
#include <haproxy/capture-t.h>
-#include <types/global.h>
#include <proto/acl.h>
#include <haproxy/arg.h>
#include <haproxy/version.h>
#include <haproxy/capture-t.h>
-#include <types/global.h>
#include <haproxy/arg.h>
#include <proto/stream.h>
#include <haproxy/api.h>
#include <haproxy/base64.h>
#include <haproxy/chunk.h>
+#include <haproxy/global.h>
#include <haproxy/h1.h>
#include <haproxy/h1_htx.h>
#include <haproxy/http.h>
#include <haproxy/tools.h>
#include <haproxy/version.h>
-#include <types/global.h>
-
#include <haproxy/arg.h>
#include <proto/channel.h>
#include <proto/connection.h>
#include <unistd.h>
#include <haproxy/api.h>
+#include <haproxy/global.h>
#include <haproxy/regex.h>
#include <haproxy/sample.h>
-#include <types/global.h>
#include <common/cfgparse.h>
#include <haproxy/h1.h>
#include <haproxy/version.h>
#include <haproxy/capture-t.h>
-#include <types/global.h>
#include <proto/acl.h>
#include <haproxy/arg.h>
#include <haproxy/tools.h>
#include <import/eb32tree.h>
-#include <types/global.h>
#include <types/server.h>
#include <proto/backend.h>
#include <haproxy/api.h>
#include <import/eb32tree.h>
-#include <types/global.h>
#include <types/server.h>
#include <proto/backend.h>
#include <haproxy/api.h>
#include <import/eb32tree.h>
-#include <types/global.h>
#include <types/server.h>
#include <proto/backend.h>
#include <haproxy/api.h>
#include <import/eb32tree.h>
-#include <types/global.h>
#include <types/server.h>
#include <proto/backend.h>
#include <haproxy/api.h>
#include <import/eb32tree.h>
-#include <types/global.h>
#include <types/server.h>
#include <proto/backend.h>
#include <haproxy/api.h>
#include <common/cfgparse.h>
#include <haproxy/errors.h>
+#include <haproxy/global.h>
#include <haproxy/list.h>
#include <haproxy/listener.h>
#include <haproxy/tools.h>
#include <haproxy/time.h>
-#include <types/global.h>
#include <haproxy/protocol-t.h>
#include <proto/acl.h>
#include <haproxy/version.h>
#include <types/cli.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <types/log.h>
#include <proto/applet.h>
#include <types/applet.h>
#include <types/cli.h>
-#include <types/global.h>
#include <types/stats.h>
#include <proto/applet.h>
#include <haproxy/version.h>
#include <types/cli.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <types/peers.h>
#include <types/signal.h>
#include <haproxy/errors.h>
#include <proto/log.h>
#include <proto/signal.h>
-#include <types/global.h>
/* Opens the namespace <ns_name> and returns the FD or -1 in case of error
* (check errno).
#include <errno.h>
#include <haproxy/api.h>
+#include <haproxy/global.h>
#include <haproxy/net_helper.h>
#include <haproxy/pattern.h>
#include <haproxy/regex.h>
#include <haproxy/tools.h>
-#include <types/global.h>
-
#include <proto/log.h>
#include <haproxy/sample.h>
#include <haproxy/tools.h>
#include <haproxy/thread.h>
-#include <types/global.h>
#include <types/peers.h>
#include <types/stats.h>
#include <fcntl.h>
#include <haproxy/api.h>
+#include <haproxy/global.h>
#include <haproxy/thread.h>
#include <haproxy/pool.h>
-#include <types/global.h>
#include <haproxy/pipe-t.h>
DECLARE_STATIC_POOL(pool_head_pipe, "pipe", sizeof(struct pipe));
#include <haproxy/api.h>
#include <types/applet.h>
#include <types/cli.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <types/stats.h>
#include <common/cfgparse.h>
#include <haproxy/api.h>
#include <haproxy/errors.h>
+#include <haproxy/global.h>
#include <haproxy/list.h>
#include <haproxy/listener.h>
#include <haproxy/tools.h>
#include <haproxy/time.h>
#include <haproxy/version.h>
-#include <types/global.h>
-
#include <proto/connection.h>
#include <haproxy/fd.h>
#include <haproxy/freq_ctr.h>
#include <haproxy/action-t.h>
#include <haproxy/api.h>
#include <haproxy/errors.h>
+#include <haproxy/global.h>
#include <haproxy/http_rules.h>
#include <haproxy/list.h>
#include <haproxy/listener.h>
#include <haproxy/namespace.h>
#include <types/connection.h>
-#include <types/global.h>
#include <types/stream.h>
#include <haproxy/arg.h>
*
*/
-#include <types/global.h>
#include <haproxy/fd-t.h>
#include <haproxy/proto_udp-t.h>
#include <haproxy/api.h>
#include <haproxy/errors.h>
+#include <haproxy/global.h>
#include <haproxy/list.h>
#include <haproxy/listener.h>
#include <haproxy/tools.h>
#include <haproxy/time.h>
#include <haproxy/version.h>
-#include <types/global.h>
-
#include <proto/connection.h>
#include <haproxy/fd.h>
#include <proto/log.h>
#include <haproxy/api.h>
#include <common/cfgparse.h>
#include <haproxy/errors.h>
+#include <haproxy/global.h>
#include <haproxy/listener.h>
#include <haproxy/obj_type-t.h>
#include <haproxy/pool.h>
#include <haproxy/capture-t.h>
#include <types/cli.h>
-#include <types/global.h>
#include <types/peers.h>
#include <types/stats.h>
#include <haproxy/api.h>
#include <haproxy/buf.h>
+#include <haproxy/global.h>
#include <haproxy/tools.h>
#include <haproxy/ticks.h>
#include <haproxy/time.h>
#include <proto/stream_interface.h>
#include <proto/task.h>
-#include <types/global.h>
-
#if defined(USE_LINUX_SPLICE)
#include <string.h>
#include <haproxy/api.h>
-#include <types/global.h>
#include <haproxy/regex.h>
#include <haproxy/tools.h>
#include <proto/log.h>
#include <stdio.h>
#include <haproxy/api.h>
-#include <types/global.h>
#include <haproxy/auth.h>
#include <haproxy/buf.h>
#include <haproxy/chunk.h>
+#include <haproxy/global.h>
#include <haproxy/hash.h>
#include <haproxy/http.h>
#include <haproxy/net_helper.h>
#include <haproxy/dict-t.h>
#include <haproxy/dns.h>
#include <haproxy/errors.h>
+#include <haproxy/global.h>
#include <haproxy/namespace.h>
#include <haproxy/sample.h>
#include <haproxy/time.h>
#include <types/applet.h>
#include <types/cli.h>
-#include <types/global.h>
#include <types/cli.h>
#include <types/stats.h>
*/
#include <haproxy/api.h>
+#include <haproxy/global.h>
#include <haproxy/http.h>
#include <haproxy/listener.h>
#include <haproxy/pool.h>
#include <haproxy/vars.h>
-#include <types/global.h>
#include <types/session.h>
#include <proto/connection.h>
#include <sys/mman.h>
#include <arpa/inet.h>
#include <import/ebmbtree.h>
-#include <types/global.h>
#include <haproxy/list.h>
#include <haproxy/shctx.h>
#include <haproxy/chunk.h>
#include <haproxy/errors.h>
#include <haproxy/frontend.h>
+#include <haproxy/global.h>
#include <haproxy/http_rules.h>
#include <haproxy/openssl-compat.h>
#include <haproxy/pattern-t.h>
#include <types/applet.h>
#include <types/cli.h>
-#include <types/global.h>
#include <types/ssl_sock.h>
#include <types/stats.h>
#include <haproxy/debug.h>
#include <haproxy/dns.h>
#include <haproxy/frontend.h>
+#include <haproxy/global.h>
#include <haproxy/http.h>
#include <haproxy/http_htx.h>
#include <haproxy/htx.h>
#include <types/applet.h>
#include <types/cli.h>
-#include <types/global.h>
#include <types/stats.h>
#include <proto/backend.h>
#include <haproxy/api.h>
#include <common/cfgparse.h>
+#include <haproxy/global.h>
#include <haproxy/http_rules.h>
#include <haproxy/pool.h>
#include <haproxy/list.h>
#include <import/ebsttree.h>
#include <types/cli.h>
-#include <types/global.h>
#include <types/stats.h>
#include <haproxy/arg.h>
#include <haproxy/dns.h>
#include <haproxy/dynbuf.h>
#include <haproxy/frontend.h>
+#include <haproxy/global.h>
#include <haproxy/hlua.h>
#include <haproxy/http_rules.h>
#include <haproxy/istbuf.h>
#include <types/applet.h>
#include <types/cli.h>
#include <types/filters.h>
-#include <types/global.h>
#include <types/stats.h>
#include <proto/acl.h>
#include <haproxy/api.h>
#include <haproxy/capture-t.h>
#include <common/cfgparse.h>
+#include <haproxy/global.h>
#include <haproxy/list.h>
#include <haproxy/sample.h>
#include <haproxy/tools.h>
#include <haproxy/arg-t.h>
#include <types/connection.h>
-#include <types/global.h>
#include <proto/acl.h>
#include <proto/channel.h>
#include <common/cfgparse.h>
#include <haproxy/thread.h>
#include <haproxy/tools.h>
-#include <types/global.h>
+#include <haproxy/global.h>
#include <haproxy/fd.h>
struct thread_info ha_thread_info[MAX_THREADS] = { };
#include <haproxy/api.h>
#include <haproxy/chunk.h>
#include <haproxy/dns.h>
+#include <haproxy/global.h>
#include <haproxy/hlua.h>
#include <haproxy/listener.h>
#include <haproxy/namespace.h>
#include <haproxy/tools.h>
-#include <types/global.h>
#include <proto/applet.h>
#include <haproxy/proto_udp.h>
#include <proto/ssl_sock.h>
#include <haproxy/api.h>
#include <haproxy/debug.h>
+#include <haproxy/global.h>
#include <haproxy/thread.h>
#include <haproxy/tools.h>
-#include <types/global.h>
#include <types/signal.h>
#include <proto/log.h>
#include <common/cfgparse.h>
#include <haproxy/chunk.h>
#include <haproxy/errors.h>
+#include <haproxy/global.h>
#include <haproxy/http_htx.h>
-#include <types/global.h>
#include <haproxy/arg.h>
#include <proto/log.h>
#include <proto/http_ana.h>