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