00001 /* Licensed to the Apache Software Foundation (ASF) under one or more 00002 * contributor license agreements. See the NOTICE file distributed with 00003 * this work for additional information regarding copyright ownership. 00004 * The ASF licenses this file to You under the Apache License, Version 2.0 00005 * (the "License"); you may not use this file except in compliance with 00006 * the License. You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 00027 #ifndef MOD_CORE_H 00028 #define MOD_CORE_H 00029 00030 #include "apr.h" 00031 #include "apr_buckets.h" 00032 00033 #include "httpd.h" 00034 #include "util_filter.h" 00035 00036 00037 #ifdef __cplusplus 00038 extern "C" { 00039 #endif 00040 00041 /* Handles for core filters */ 00042 extern AP_DECLARE_DATA ap_filter_rec_t *ap_http_input_filter_handle; 00043 extern AP_DECLARE_DATA ap_filter_rec_t *ap_http_header_filter_handle; 00044 extern AP_DECLARE_DATA ap_filter_rec_t *ap_chunk_filter_handle; 00045 extern AP_DECLARE_DATA ap_filter_rec_t *ap_http_outerror_filter_handle; 00046 extern AP_DECLARE_DATA ap_filter_rec_t *ap_byterange_filter_handle; 00047 00048 /* 00049 * These (input) filters are internal to the mod_core operation. 00050 */ 00051 apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b, 00052 ap_input_mode_t mode, apr_read_type_e block, 00053 apr_off_t readbytes); 00054 00055 /* HTTP/1.1 chunked transfer encoding filter. */ 00056 apr_status_t ap_http_chunk_filter(ap_filter_t *f, apr_bucket_brigade *b); 00057 00058 /* Filter to handle any error buckets on output */ 00059 apr_status_t ap_http_outerror_filter(ap_filter_t *f, 00060 apr_bucket_brigade *b); 00061 00062 char *ap_response_code_string(request_rec *r, int error_index); 00063 00073 AP_DECLARE(void) ap_basic_http_header(request_rec *r, apr_bucket_brigade *bb); 00074 00082 AP_DECLARE_NONSTD(int) ap_send_http_trace(request_rec *r); 00083 00088 AP_DECLARE(int) ap_send_http_options(request_rec *r); 00089 00090 #ifdef __cplusplus 00091 } 00092 #endif 00093 00094 #endif /* !MOD_CORE_H */ 00095