3 * Copyright (C) Igor Sysoev
7 #ifndef _NGX_HTTP_LOG_MODULE_H_INCLUDED_
8 #define _NGX_HTTP_LOG_MODULE_H_INCLUDED_
11 #include <ngx_config.h>
16 typedef struct ngx_http_log_op_s ngx_http_log_op_t
;
18 typedef u_char
*(*ngx_http_log_op_run_pt
) (ngx_http_request_t
*r
, u_char
*buf
,
19 ngx_http_log_op_t
*op
);
21 typedef size_t (*ngx_http_log_op_getlen_pt
) (ngx_http_request_t
*r
,
24 typedef ngx_int_t (*ngx_http_log_op_compile_pt
) (ngx_conf_t
*cf
,
25 ngx_http_log_op_t
*op
, ngx_str_t
*value
);
28 struct ngx_http_log_op_s
{
30 ngx_http_log_op_getlen_pt getlen
;
31 ngx_http_log_op_run_pt run
;
38 ngx_array_t
*ops
; /* array of ngx_http_log_op_t */
45 ngx_http_log_op_compile_pt compile
;
46 ngx_http_log_op_getlen_pt getlen
;
47 ngx_http_log_op_run_pt run
;
48 } ngx_http_log_op_name_t
;
52 ngx_array_t formats
; /* array of ngx_http_log_fmt_t */
53 } ngx_http_log_main_conf_t
;
57 ngx_open_file_t
*file
;
58 ngx_array_t
*ops
; /* array of ngx_http_log_op_t */
63 ngx_array_t
*logs
; /* array of ngx_http_log_t */
64 ngx_uint_t off
; /* unsigned off:1 */
65 } ngx_http_log_loc_conf_t
;
68 extern ngx_http_log_op_name_t ngx_http_log_fmt_ops
[];
71 #endif /* _NGX_HTTP_LOG_MODULE_H_INCLUDED_ */