1 2 /* $Id: fpm_conf.h,v 1.12.2.2 2008/12/13 03:46:49 anight Exp $ */ 3 /* (c) 2007,2008 Andrei Nigmatulin */ 4 5 #ifndef FPM_CONF_H 6 #define FPM_CONF_H 1 7 8 #include <stdint.h> 9 #include "php.h" 10 11 #define PM2STR(a) (a == PM_STYLE_STATIC ? "static" : (a == PM_STYLE_DYNAMIC ? "dynamic" : "ondemand")) 12 13 #define FPM_CONF_MAX_PONG_LENGTH 64 14 15 struct key_value_s; 16 17 struct key_value_s { 18 struct key_value_s *next; 19 char *key; 20 char *value; 21 }; 22 23 /* 24 * Please keep the same order as in fpm_conf.c and in php-fpm.conf.in 25 */ 26 struct fpm_global_config_s { 27 char *pid_file; 28 char *error_log; 29 #ifdef HAVE_SYSLOG_H 30 char *syslog_ident; 31 int syslog_facility; 32 #endif 33 int log_level; 34 int emergency_restart_threshold; 35 int emergency_restart_interval; 36 int process_control_timeout; 37 int process_max; 38 int process_priority; 39 int daemonize; 40 int rlimit_files; 41 int rlimit_core; 42 char *events_mechanism; 43 #ifdef HAVE_SYSTEMD 44 int systemd_watchdog; 45 int systemd_interval; 46 #endif 47 }; 48 49 extern struct fpm_global_config_s fpm_global_config; 50 51 /* 52 * Please keep the same order as in fpm_conf.c and in php-fpm.conf.in 53 */ 54 struct fpm_worker_pool_config_s { 55 char *name; 56 char *prefix; 57 char *user; 58 char *group; 59 char *listen_address; 60 int listen_backlog; 61 char *listen_owner; 62 char *listen_group; 63 char *listen_mode; 64 char *listen_allowed_clients; 65 int process_priority; 66 int pm; 67 int pm_max_children; 68 int pm_start_servers; 69 int pm_min_spare_servers; 70 int pm_max_spare_servers; 71 int pm_process_idle_timeout; 72 int pm_max_requests; 73 char *pm_status_path; 74 char *ping_path; 75 char *ping_response; 76 char *access_log; 77 char *access_format; 78 char *slowlog; 79 int request_slowlog_timeout; 80 int request_terminate_timeout; 81 int rlimit_files; 82 int rlimit_core; 83 char *chroot; 84 char *chdir; 85 int catch_workers_output; 86 int clear_env; 87 char *security_limit_extensions; 88 struct key_value_s *env; 89 struct key_value_s *php_admin_values; 90 struct key_value_s *php_values; 91 }; 92 93 struct ini_value_parser_s { 94 char *name; 95 char *(*parser)(zval *, void **, intptr_t); 96 intptr_t offset; 97 }; 98 99 enum { 100 PM_STYLE_STATIC = 1, 101 PM_STYLE_DYNAMIC = 2, 102 PM_STYLE_ONDEMAND = 3 103 }; 104 105 int fpm_conf_init_main(int test_conf, int force_daemon); 106 int fpm_worker_pool_config_free(struct fpm_worker_pool_config_s *wpc); 107 int fpm_conf_write_pid(); 108 int fpm_conf_unlink_pid(); 109 110 #endif 111 112