]> granicus.if.org Git - apache/blob - include/http_main.h
Introduce a new set of APIs to allow MPMs to be proper modules instead
[apache] / include / http_main.h
1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2  * contributor license agreements.  See the NOTICE file distributed with
3  * this work for additional information regarding copyright ownership.
4  * The ASF licenses this file to You under the Apache License, Version 2.0
5  * (the "License"); you may not use this file except in compliance with
6  * the License.  You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 /**
18  * @file  http_main.h
19  * @brief Command line options
20  *
21  * @defgroup APACHE_CORE_MAIN Command line options
22  * @ingroup  APACHE_CORE
23  * @{
24  */
25
26 #ifndef APACHE_HTTP_MAIN_H
27 #define APACHE_HTTP_MAIN_H
28
29 #include "httpd.h"
30 #include "apr_optional.h"
31
32 /** AP_SERVER_BASEARGS is the command argument list parsed by http_main.c
33  * in apr_getopt() format.  Use this for default'ing args that the MPM
34  * can safely ignore and pass on from its rewrite_args() handler.
35  */
36 #define AP_SERVER_BASEARGS "C:c:D:d:E:e:f:vVlLtSMh?X"
37
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41
42 /** The name of the Apache executable */
43 AP_DECLARE_DATA extern const char *ap_server_argv0;
44 /** The global server's ServerRoot */
45 AP_DECLARE_DATA extern const char *ap_server_root;
46 /** The global server's server_rec */
47 AP_DECLARE_DATA extern server_rec *ap_server_conf;
48
49 /* for -C, -c and -D switches */
50 /** An array of all -C directives.  These are processed before the server's
51  *  config file */
52 AP_DECLARE_DATA extern apr_array_header_t *ap_server_pre_read_config;
53 /** An array of all -c directives.  These are processed after the server's
54  *  config file */
55 AP_DECLARE_DATA extern apr_array_header_t *ap_server_post_read_config;
56 /** An array of all -D defines on the command line.  This allows people to
57  *  effect the server based on command line options */
58 AP_DECLARE_DATA extern apr_array_header_t *ap_server_config_defines;
59
60 /**
61  * An optional function to send signal to server on presence of '-k'
62  * command line argument.
63  * Called if MPM defines AP_MPM_WANT_SIGNAL_SERVER
64  * @param status The exit status after sending signal
65  * @param pool Memory pool to allocate from
66  */
67 APR_DECLARE_OPTIONAL_FN(int, ap_signal_server, (int *, apr_pool_t *));
68
69 #ifdef __cplusplus
70 }
71 #endif
72
73 #endif  /* !APACHE_HTTP_MAIN_H */
74 /** @} */