--- /dev/null
+/*
+ * include/haproxy/mworker-t.h
+ * Master Worker type definitions.
+ *
+ * Copyright HAProxy Technologies 2019 - William Lallemand <wlallemand@haproxy.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ *
+ */
+
+#ifndef _HAPROXY_MWORKER_T_H_
+#define _HAPROXY_MWORKER_T_H_
+
+#include <haproxy/list.h>
+#include <types/signal.h>
+
+/* options for mworker_proc */
+
+#define PROC_O_TYPE_MASTER 0x00000001
+#define PROC_O_TYPE_WORKER 0x00000002
+#define PROC_O_TYPE_PROG 0x00000004
+/* 0x00000008 unused */
+#define PROC_O_LEAVING 0x00000010 /* this process should be leaving */
+/* 0x00000020 to 0x00000080 unused */
+#define PROC_O_START_RELOAD 0x00000100 /* Start the process even if the master was re-executed */
+
+/*
+ * Structure used to describe the processes in master worker mode
+ */
+struct server;
+struct mworker_proc {
+ int pid;
+ int options;
+ char *id;
+ char **command;
+ char *path;
+ char *version;
+ int ipc_fd[2]; /* 0 is master side, 1 is worker side */
+ int relative_pid;
+ int reloads;
+ int timestamp;
+ struct server *srv; /* the server entry in the master proxy */
+ struct list list;
+ int uid;
+ int gid;
+};
+
+#endif /* _HAPROXY_MWORKER_T_H_ */
/*
- * Master Worker
+ * include/haproxy/mworker-t.h
+ * Master Worker function prototypes.
*
* Copyright HAProxy Technologies 2019 - William Lallemand <wlallemand@haproxy.com>
*
*
*/
-#ifndef PROTO_MWORKER_H_
-#define PROTO_MWORKER_H_
+#ifndef _HAPROXY_MWORKER_H_
+#define _HAPROXY_MWORKER_H_
+#include <haproxy/mworker-t.h>
#include <types/signal.h>
void mworker_proc_list_to_env();
void mworker_free_child(struct mworker_proc *);
-#endif /* PROTO_MWORKER_H_ */
+#endif /* _HAPROXY_MWORKER_H_ */
#endif
};
-/* options for mworker_proc */
-
-#define PROC_O_TYPE_MASTER 0x00000001
-#define PROC_O_TYPE_WORKER 0x00000002
-#define PROC_O_TYPE_PROG 0x00000004
-/* 0x00000008 unused */
-#define PROC_O_LEAVING 0x00000010 /* this process should be leaving */
-/* 0x00000020 to 0x00000080 unused */
-#define PROC_O_START_RELOAD 0x00000100 /* Start the process even if the master was re-executed */
-
-/*
- * Structure used to describe the processes in master worker mode
- */
-struct mworker_proc {
- int pid;
- int options;
- char *id;
- char **command;
- char *path;
- char *version;
- int ipc_fd[2]; /* 0 is master side, 1 is worker side */
- int relative_pid;
- int reloads;
- int timestamp;
- struct server *srv; /* the server entry in the master proxy */
- struct list list;
- int uid;
- int gid;
-};
-
extern struct global global;
extern int pid; /* current process id */
extern int relative_pid; /* process id starting at 1 */
#include <haproxy/dns-t.h>
#include <haproxy/frontend.h>
#include <haproxy/list.h>
+#include <haproxy/mworker-t.h>
#include <haproxy/tools.h>
#include <haproxy/ticks.h>
#include <haproxy/time.h>
#include <haproxy/http_rules.h>
#include <haproxy/pool.h>
#include <haproxy/list.h>
+#include <haproxy/mworker.h>
#include <haproxy/namespace.h>
#include <haproxy/net_helper.h>
#include <haproxy/openssl-compat.h>
#include <proto/filters.h>
#include <proto/listener.h>
#include <proto/log.h>
-#include <proto/mworker.h>
#include <proto/pattern.h>
#include <haproxy/protocol.h>
#include <proto/http_ana.h>
#include <haproxy/api.h>
#include <common/cfgparse.h>
#include <haproxy/errors.h>
+#include <haproxy/mworker.h>
#include <proto/log.h>
-#include <proto/mworker.h>
static int use_program = 0; /* do we use the program section ? */
#include <haproxy/api.h>
#include <common/cfgparse.h>
#include <haproxy/list.h>
+#include <haproxy/mworker.h>
#include <haproxy/version.h>
#include <types/cli.h>
#include <haproxy/fd.h>
#include <proto/listener.h>
#include <proto/log.h>
-#include <proto/mworker.h>
#include <proto/proxy.h>
#include <proto/signal.h>
#include <proto/stream.h>