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 /* Using chown */ 62 char *listen_owner; 63 char *listen_group; 64 char *listen_mode; 65 char *listen_allowed_clients; 66 int process_priority; 67 int process_dumpable; 68 int pm; 69 int pm_max_children; 70 int pm_start_servers; 71 int pm_min_spare_servers; 72 int pm_max_spare_servers; 73 int pm_process_idle_timeout; 74 int pm_max_requests; 75 char *pm_status_path; 76 char *ping_path; 77 char *ping_response; 78 char *access_log; 79 char *access_format; 80 char *slowlog; 81 int request_slowlog_timeout; 82 int request_terminate_timeout; 83 int rlimit_files; 84 int rlimit_core; 85 char *chroot; 86 char *chdir; 87 int catch_workers_output; 88 int clear_env; 89 char *security_limit_extensions; 90 struct key_value_s *env; 91 struct key_value_s *php_admin_values; 92 struct key_value_s *php_values; 93 #ifdef HAVE_APPARMOR 94 char *apparmor_hat; 95 #endif 96 #ifdef HAVE_FPM_ACL 97 /* Using Posix ACL */ 98 char *listen_acl_users; 99 char *listen_acl_groups; 100 #endif 101 }; 102 103 struct ini_value_parser_s { 104 char *name; 105 char *(*parser)(zval *, void **, intptr_t); 106 intptr_t offset; 107 }; 108 109 enum { 110 PM_STYLE_STATIC = 1, 111 PM_STYLE_DYNAMIC = 2, 112 PM_STYLE_ONDEMAND = 3 113 }; 114 115 int fpm_conf_init_main(int test_conf, int force_daemon); 116 int fpm_worker_pool_config_free(struct fpm_worker_pool_config_s *wpc); 117 int fpm_conf_write_pid(); 118 int fpm_conf_unlink_pid(); 119 120 #endif 121 122