xref: /php-src/sapi/fpm/fpm/fpm.h (revision 5b13e830)
1 	/* (c) 2007,2008 Andrei Nigmatulin */
2 
3 #ifndef FPM_H
4 #define FPM_H 1
5 
6 #include <unistd.h>
7 
8 #ifdef HAVE_SYSEXITS_H
9 #include <sysexits.h>
10 #endif
11 
12 #ifdef EX_OK
13 #define FPM_EXIT_OK EX_OK
14 #else
15 #define FPM_EXIT_OK 0
16 #endif
17 
18 #ifdef EX_USAGE
19 #define FPM_EXIT_USAGE EX_USAGE
20 #else
21 #define FPM_EXIT_USAGE 64
22 #endif
23 
24 #ifdef EX_SOFTWARE
25 #define FPM_EXIT_SOFTWARE EX_SOFTWARE
26 #else
27 #define FPM_EXIT_SOFTWARE 70
28 #endif
29 
30 #ifdef EX_CONFIG
31 #define FPM_EXIT_CONFIG EX_CONFIG
32 #else
33 #define FPM_EXIT_CONFIG 78
34 #endif
35 
36 
37 enum fpm_init_return_status {
38 	FPM_INIT_ERROR,
39 	FPM_INIT_CONTINUE,
40 	FPM_INIT_EXIT_OK,
41 };
42 
43 int fpm_run(int *max_requests);
44 enum fpm_init_return_status fpm_init(int argc, char **argv, char *config, char *prefix, char *pid, int test_conf, int run_as_root, int force_daemon, int force_stderr);
45 
46 struct fpm_globals_s {
47 	pid_t parent_pid;
48 	int argc;
49 	char **argv;
50 	char *config;
51 	char *prefix;
52 	char *pid;
53 	int running_children;
54 	int error_log_fd;
55 	int log_level;
56 	int listening_socket; /* for this child */
57 	int max_requests; /* for this child */
58 	int is_child;
59 	int test_successful;
60 	int heartbeat;
61 	int run_as_root;
62 	int force_stderr;
63 	int send_config_pipe[2];
64 };
65 
66 extern struct fpm_globals_s fpm_globals;
67 
68 #endif
69