upload apache
[bottlenecks.git] / rubbos / app / apache2 / include / mod_log_config.h
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 #include "apr_optional.h"
18 #include "httpd.h"
19 #include "scoreboard.h"
20
21 #ifndef _MOD_LOG_CONFIG_H
22 #define _MOD_LOG_CONFIG_H 1
23
24 /** 
25  * callback function prototype for a external log handler
26  */
27 typedef const char *ap_log_handler_fn_t(request_rec *r, char *a);
28
29 /**
30  * callback function prototype for external writer initialization.
31  */
32 typedef void *ap_log_writer_init(apr_pool_t *p, server_rec *s, 
33                                  const char *name);
34 /**
35  * callback which gets called where there is a log line to write.
36  */
37 typedef apr_status_t ap_log_writer(
38                             request_rec *r,
39                             void *handle, 
40                             const char **portions,
41                             int *lengths,
42                             int nelts,
43                             apr_size_t len);
44
45 typedef struct ap_log_handler {
46     ap_log_handler_fn_t *func;
47     int want_orig_default;
48 } ap_log_handler;
49
50 APR_DECLARE_OPTIONAL_FN(void, ap_register_log_handler, 
51                         (apr_pool_t *p, char *tag, ap_log_handler_fn_t *func,
52                          int def));
53 /**
54  * you will need to set your init handler *BEFORE* the open_logs 
55  * in mod_log_config gets executed
56  */
57 APR_DECLARE_OPTIONAL_FN(void, ap_log_set_writer_init,(ap_log_writer_init *func));
58 /** 
59  * you should probably set the writer at the same time (ie..before open_logs)
60  */
61 APR_DECLARE_OPTIONAL_FN(void, ap_log_set_writer, (ap_log_writer* func));
62
63 #endif /* MOD_LOG_CONFIG */