1 /* $MirOS: src/usr.sbin/httpd/src/include/http_conf_globals.h,v 1.5 2008/12/03 11:22:57 tg Exp $ */ 2 /* $OpenBSD: http_conf_globals.h,v 1.16 2006/02/22 15:07:12 henning Exp $ */ 3 4 /* ==================================================================== 5 * The Apache Software License, Version 1.1 6 * 7 * Copyright (c) 2000-2003 The Apache Software Foundation. All rights 8 * reserved. 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted provided that the following conditions 12 * are met: 13 * 14 * 1. Redistributions of source code must retain the above copyright 15 * notice, this list of conditions and the following disclaimer. 16 * 17 * 2. Redistributions in binary form must reproduce the above copyright 18 * notice, this list of conditions and the following disclaimer in 19 * the documentation and/or other materials provided with the 20 * distribution. 21 * 22 * 3. The end-user documentation included with the redistribution, 23 * if any, must include the following acknowledgment: 24 * "This product includes software developed by the 25 * Apache Software Foundation (http://www.apache.org/)." 26 * Alternately, this acknowledgment may appear in the software itself, 27 * if and wherever such third-party acknowledgments normally appear. 28 * 29 * 4. The names "Apache" and "Apache Software Foundation" must 30 * not be used to endorse or promote products derived from this 31 * software without prior written permission. For written 32 * permission, please contact apache@apache.org. 33 * 34 * 5. Products derived from this software may not be called "Apache", 35 * nor may "Apache" appear in their name, without prior written 36 * permission of the Apache Software Foundation. 37 * 38 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 39 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 40 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 41 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 42 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 43 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 44 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 45 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 46 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 47 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 48 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 49 * SUCH DAMAGE. 50 * ==================================================================== 51 * 52 * This software consists of voluntary contributions made by many 53 * individuals on behalf of the Apache Software Foundation. For more 54 * information on the Apache Software Foundation, please see 55 * <http://www.apache.org/>. 56 * 57 * Portions of this software are based upon public domain software 58 * originally written at the National Center for Supercomputing Applications, 59 * University of Illinois, Urbana-Champaign. 60 */ 61 62 #ifndef APACHE_HTTP_CONF_GLOBALS_H 63 #define APACHE_HTTP_CONF_GLOBALS_H 64 65 #ifdef __cplusplus 66 extern "C" { 67 #endif 68 69 /* 70 * Process config --- what the process ITSELF is doing 71 */ 72 73 extern API_VAR_EXPORT int ap_standalone; 74 extern API_VAR_EXPORT int ap_configtestonly; 75 extern int ap_docrootcheck; 76 extern API_VAR_EXPORT uid_t ap_user_id; 77 extern API_VAR_EXPORT char *ap_user_name; 78 extern API_VAR_EXPORT gid_t ap_group_id; 79 extern API_VAR_EXPORT int ap_max_requests_per_child; 80 extern API_VAR_EXPORT int ap_max_cpu_per_child; 81 extern API_VAR_EXPORT int ap_max_data_per_child; 82 extern API_VAR_EXPORT int ap_max_nofile_per_child; 83 extern API_VAR_EXPORT int ap_max_rss_per_child; 84 extern API_VAR_EXPORT int ap_max_stack_per_child; 85 #ifdef RLIMIT_TIME 86 extern API_VAR_EXPORT int ap_max_time_per_child; 87 #endif 88 extern API_VAR_EXPORT int ap_threads_per_child; 89 extern API_VAR_EXPORT int ap_excess_requests_per_child; 90 extern API_VAR_EXPORT struct sockaddr_storage ap_bind_address; 91 extern API_VAR_EXPORT int ap_default_family; 92 extern listen_rec *ap_listeners; 93 extern API_VAR_EXPORT int ap_daemons_to_start; 94 extern API_VAR_EXPORT int ap_daemons_min_free; 95 extern API_VAR_EXPORT int ap_daemons_max_free; 96 extern API_VAR_EXPORT int ap_daemons_limit; 97 extern API_VAR_EXPORT int ap_suexec_enabled; 98 extern API_VAR_EXPORT int ap_listenbacklog; 99 extern int ap_dump_settings; 100 extern API_VAR_EXPORT int ap_extended_status; 101 extern API_VAR_EXPORT ap_ctx *ap_global_ctx; 102 103 extern API_VAR_EXPORT char *ap_pid_fname; 104 extern API_VAR_EXPORT char *ap_scoreboard_fname; 105 extern API_VAR_EXPORT char *ap_lock_fname; 106 extern API_VAR_EXPORT char *ap_server_argv0; 107 108 extern enum server_token_type ap_server_tokens; 109 110 extern API_VAR_EXPORT int ap_protocol_req_check; 111 extern API_VAR_EXPORT int ap_change_shmem_uid; 112 113 /* Trying to allocate these in the config pool gets us into some *nasty* 114 * chicken-and-egg problems in http_main.c --- where do you stick them 115 * when pconf gets cleared? Better to just allocate a little space 116 * statically... 117 */ 118 119 extern API_VAR_EXPORT char ap_server_root[MAX_STRING_LEN]; 120 extern API_VAR_EXPORT char ap_server_confname[MAX_STRING_LEN]; 121 122 /* for -C, -c and -D switches */ 123 extern API_VAR_EXPORT array_header *ap_server_pre_read_config; 124 extern API_VAR_EXPORT array_header *ap_server_post_read_config; 125 extern API_VAR_EXPORT array_header *ap_server_config_defines; 126 127 /* We want this to have the least chance of being corrupted if there 128 * is some memory corruption, so we allocate it statically. 129 */ 130 extern API_VAR_EXPORT char ap_coredump_dir[MAX_STRING_LEN]; 131 132 #ifdef __cplusplus 133 } 134 #endif 135 136 #endif /* !APACHE_HTTP_CONF_GLOBALS_H */ 137