mod_core.h revision ed6608b05c17ad82dd9391739af837256bdffb42
6de8046f8f7e07cd83895a528df25d977e502c76nd/* Licensed to the Apache Software Foundation (ASF) under one or more
f062ed7bd262a37a909dd77ce5fc23b446818823fielding * contributor license agreements. See the NOTICE file distributed with
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd * this work for additional information regarding copyright ownership.
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd * The ASF licenses this file to You under the Apache License, Version 2.0
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd * (the "License"); you may not use this file except in compliance with
2d2eda71267231c2526be701fe655db125852c1ffielding * the License. You may obtain a copy of the License at
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd * Unless required by applicable law or agreed to in writing, software
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd * distributed under the License is distributed on an "AS IS" BASIS,
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd * See the License for the specific language governing permissions and
2d2eda71267231c2526be701fe655db125852c1ffielding * limitations under the License.
b980ad7fdc218b4855cde9f75a747527f50c554dwrowe * @brief mod_core private header file
92f3af936ce61f25358a3ee4f28df2f6d62040dfdreid * @defgroup MOD_CORE mod_core
fcc25eda7b150e226d3c1cdaea66a943d3fdee4erbb * @ingroup APACHE_MODS
52de7a47876ce1748910cf3a0ee97f78842fab54rederpjextern "C" {
fd492f9543f14fb5bae78e04b135c3448eb9cc56rbb/* Handles for core filters */
fd492f9543f14fb5bae78e04b135c3448eb9cc56rbbAP_DECLARE_DATA extern ap_filter_rec_t *ap_http_input_filter_handle;
fd492f9543f14fb5bae78e04b135c3448eb9cc56rbbAP_DECLARE_DATA extern ap_filter_rec_t *ap_http_header_filter_handle;
fd492f9543f14fb5bae78e04b135c3448eb9cc56rbbAP_DECLARE_DATA extern ap_filter_rec_t *ap_chunk_filter_handle;
fd492f9543f14fb5bae78e04b135c3448eb9cc56rbbAP_DECLARE_DATA extern ap_filter_rec_t *ap_http_outerror_filter_handle;
2d2eda71267231c2526be701fe655db125852c1ffieldingAP_DECLARE_DATA extern ap_filter_rec_t *ap_byterange_filter_handle;
2d2eda71267231c2526be701fe655db125852c1ffielding * These (input) filters are internal to the mod_core operation.
61fd0cab072a05b855cbef9c585702401ac5ae29rbbapr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b,
61fd0cab072a05b855cbef9c585702401ac5ae29rbb/* HTTP/1.1 chunked transfer encoding filter. */
2d2eda71267231c2526be701fe655db125852c1ffieldingapr_status_t ap_http_chunk_filter(ap_filter_t *f, apr_bucket_brigade *b);
8af88bd6958b80c224e964892b8237720b13ab1ajerenkrantz/* Filter to handle any error buckets on output */
8af88bd6958b80c224e964892b8237720b13ab1ajerenkrantzapr_status_t ap_http_outerror_filter(ap_filter_t *f,
50e60f30bdc074fbc887f0b98f4d570457ac97c9brianpchar *ap_response_code_string(request_rec *r, int error_index);
50e60f30bdc074fbc887f0b98f4d570457ac97c9brianp * Send the minimal part of an HTTP response header.
50e60f30bdc074fbc887f0b98f4d570457ac97c9brianp * @param r The current request
50e60f30bdc074fbc887f0b98f4d570457ac97c9brianp * @param bb The brigade to add the header to.
50e60f30bdc074fbc887f0b98f4d570457ac97c9brianp * @warning Modules should be very careful about using this, and should
50e60f30bdc074fbc887f0b98f4d570457ac97c9brianp * the default behavior. Much of the HTTP/1.1 implementation
50e60f30bdc074fbc887f0b98f4d570457ac97c9brianp * correctness depends on the full headers.
50e60f30bdc074fbc887f0b98f4d570457ac97c9brianp * @fn void ap_basic_http_header(request_rec *r, apr_bucket_brigade *bb)
bfb62a96023822c56c9120e4ee627d4091cc59c2rbbAP_DECLARE(void) ap_basic_http_header(request_rec *r, apr_bucket_brigade *bb);
61fd0cab072a05b855cbef9c585702401ac5ae29rbb * Send an appropriate response to an http TRACE request.
61fd0cab072a05b855cbef9c585702401ac5ae29rbb * @param r The current request
61fd0cab072a05b855cbef9c585702401ac5ae29rbb * @note returns DONE or the HTTP status error if it handles the TRACE,
61fd0cab072a05b855cbef9c585702401ac5ae29rbb * or DECLINED if the request was not for TRACE.
61fd0cab072a05b855cbef9c585702401ac5ae29rbb * request method was not TRACE.
2d2eda71267231c2526be701fe655db125852c1ffieldingAP_DECLARE_NONSTD(int) ap_send_http_trace(request_rec *r);
61fd0cab072a05b855cbef9c585702401ac5ae29rbb * Send an appropriate response to an http OPTIONS request.
61fd0cab072a05b855cbef9c585702401ac5ae29rbb * @param r The current request
61fd0cab072a05b855cbef9c585702401ac5ae29rbb/* Used for multipart/byteranges boundary string */
61fd0cab072a05b855cbef9c585702401ac5ae29rbbAP_DECLARE_DATA extern const char *ap_multipart_boundary;
3d96ee83babeec32482c9082c9426340cee8c44dwrowe/* Init RNG at startup */
2d2eda71267231c2526be701fe655db125852c1ffielding/* Update RNG state in parent after fork */
2d2eda71267231c2526be701fe655db125852c1ffieldingAP_CORE_DECLARE(void) ap_random_parent_after_fork(void);
61fd0cab072a05b855cbef9c585702401ac5ae29rbb#endif /* !MOD_CORE_H */