http_main.h revision 1e08691451a38410b81c55c40fe8555101443f50
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch/* Licensed to the Apache Software Foundation (ASF) under one or more
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * contributor license agreements. See the NOTICE file distributed with
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * this work for additional information regarding copyright ownership.
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * The ASF licenses this file to You under the Apache License, Version 2.0
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * (the "License"); you may not use this file except in compliance with
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * the License. You may obtain a copy of the License at
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch *
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * http://www.apache.org/licenses/LICENSE-2.0
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch *
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * Unless required by applicable law or agreed to in writing, software
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * distributed under the License is distributed on an "AS IS" BASIS,
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * See the License for the specific language governing permissions and
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * limitations under the License.
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch */
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch/**
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * @file http_main.h
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * @brief Command line options
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch *
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * @defgroup APACHE_CORE_MAIN Command line options
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * @ingroup APACHE_CORE
32a4456cc252689f51f383d150d34ed636bfec4dMichal Schmidt * @{
32a4456cc252689f51f383d150d34ed636bfec4dMichal Schmidt */
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch
32a4456cc252689f51f383d150d34ed636bfec4dMichal Schmidt#ifndef APACHE_HTTP_MAIN_H
32a4456cc252689f51f383d150d34ed636bfec4dMichal Schmidt#define APACHE_HTTP_MAIN_H
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch#include "httpd.h"
32a4456cc252689f51f383d150d34ed636bfec4dMichal Schmidt#include "apr_optional.h"
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch/** AP_SERVER_BASEARGS is the command argument list parsed by http_main.c
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * in apr_getopt() format. Use this for default'ing args that the MPM
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * can safely ignore and pass on from its rewrite_args() handler.
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch */
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch#define AP_SERVER_BASEARGS "C:c:D:d:E:e:f:vVlLtSMh?X"
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch#ifdef __cplusplus
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buchextern "C" {
32a4456cc252689f51f383d150d34ed636bfec4dMichal Schmidt#endif
32a4456cc252689f51f383d150d34ed636bfec4dMichal Schmidt
32a4456cc252689f51f383d150d34ed636bfec4dMichal Schmidt/** The name of the Apache executable */
32a4456cc252689f51f383d150d34ed636bfec4dMichal SchmidtAP_DECLARE_DATA extern const char *ap_server_argv0;
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch/** The global server's ServerRoot */
32a4456cc252689f51f383d150d34ed636bfec4dMichal SchmidtAP_DECLARE_DATA extern const char *ap_server_root;
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch/** The global server's server_rec */
32a4456cc252689f51f383d150d34ed636bfec4dMichal SchmidtAP_DECLARE_DATA extern server_rec *ap_server_conf;
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch
32a4456cc252689f51f383d150d34ed636bfec4dMichal Schmidt/* for -C, -c and -D switches */
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch/** An array of all -C directives. These are processed before the server's
32a4456cc252689f51f383d150d34ed636bfec4dMichal Schmidt * config file */
32a4456cc252689f51f383d150d34ed636bfec4dMichal SchmidtAP_DECLARE_DATA extern apr_array_header_t *ap_server_pre_read_config;
32a4456cc252689f51f383d150d34ed636bfec4dMichal Schmidt/** An array of all -c directives. These are processed after the server's
32a4456cc252689f51f383d150d34ed636bfec4dMichal Schmidt * config file */
32a4456cc252689f51f383d150d34ed636bfec4dMichal SchmidtAP_DECLARE_DATA extern apr_array_header_t *ap_server_post_read_config;
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch/** An array of all -D defines on the command line. This allows people to
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * effect the server based on command line options */
32a4456cc252689f51f383d150d34ed636bfec4dMichal SchmidtAP_DECLARE_DATA extern apr_array_header_t *ap_server_config_defines;
d06b3a9d70c6dee3371818931328e19876cc3259Ronny Chevalier
d06b3a9d70c6dee3371818931328e19876cc3259Ronny Chevalier/**
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch * An optional function to send signal to server on presence of '-k'
8097ab4f0cf7a52ac6ca45cb2b2dfe4850a2dee5Zbigniew Jędrzejewski-Szmek * command line argument.
8097ab4f0cf7a52ac6ca45cb2b2dfe4850a2dee5Zbigniew Jędrzejewski-Szmek * @param status The exit status after sending signal
8097ab4f0cf7a52ac6ca45cb2b2dfe4850a2dee5Zbigniew Jędrzejewski-Szmek * @param pool Memory pool to allocate from
8097ab4f0cf7a52ac6ca45cb2b2dfe4850a2dee5Zbigniew Jędrzejewski-Szmek */
8097ab4f0cf7a52ac6ca45cb2b2dfe4850a2dee5Zbigniew Jędrzejewski-SzmekAPR_DECLARE_OPTIONAL_FN(int, ap_signal_server, (int *, apr_pool_t *));
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch#ifdef __cplusplus
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch}
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch#endif
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch#endif /* !APACHE_HTTP_MAIN_H */
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch/** @} */
9341a4a167f348fc42cdd6f7ac8763bf3a0c5911Daniel Buch