github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/include/mod_log_config.h (about) 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 mod_log_config.h 19 * @brief Logging Configuration Extension Module for Apache 20 * 21 * @defgroup MOD_LOG_CONFIG mod_log_config 22 * @ingroup APACHE_MODS 23 * @{ 24 */ 25 26 #include "apr_optional.h" 27 #include "httpd.h" 28 #include "scoreboard.h" 29 30 #ifndef _MOD_LOG_CONFIG_H 31 #define _MOD_LOG_CONFIG_H 1 32 33 /** 34 * callback function prototype for a external log handler 35 */ 36 typedef const char *ap_log_handler_fn_t(request_rec *r, char *a); 37 38 /** 39 * callback function prototype for external writer initialization. 40 */ 41 typedef void *ap_log_writer_init(apr_pool_t *p, server_rec *s, 42 const char *name); 43 /** 44 * callback which gets called where there is a log line to write. 45 */ 46 typedef apr_status_t ap_log_writer( 47 request_rec *r, 48 void *handle, 49 const char **portions, 50 int *lengths, 51 int nelts, 52 apr_size_t len); 53 54 typedef struct ap_log_handler { 55 ap_log_handler_fn_t *func; 56 int want_orig_default; 57 } ap_log_handler; 58 59 APR_DECLARE_OPTIONAL_FN(void, ap_register_log_handler, 60 (apr_pool_t *p, char *tag, ap_log_handler_fn_t *func, 61 int def)); 62 /** 63 * you will need to set your init handler *BEFORE* the open_logs 64 * in mod_log_config gets executed 65 */ 66 APR_DECLARE_OPTIONAL_FN(ap_log_writer_init*, ap_log_set_writer_init,(ap_log_writer_init *func)); 67 /** 68 * you should probably set the writer at the same time (ie..before open_logs) 69 */ 70 APR_DECLARE_OPTIONAL_FN(ap_log_writer*, ap_log_set_writer, (ap_log_writer* func)); 71 72 #endif /* MOD_LOG_CONFIG */ 73 /** @} */ 74