diff src/http/ngx_http_log_handler.h @ 176:c0552e5ab567

nginx-0.0.1-2003-11-09-23:03:38 import; separate building
author Igor Sysoev <igor@sysoev.ru>
date Sun, 09 Nov 2003 20:03:38 +0000
parents src/http/modules/ngx_http_log_handler.h@a059e1aa65d4
children 4db54fdbcbe7
line wrap: on
line diff
copy from src/http/modules/ngx_http_log_handler.h
copy to src/http/ngx_http_log_handler.h
--- a/src/http/modules/ngx_http_log_handler.h
+++ b/src/http/ngx_http_log_handler.h
@@ -7,35 +7,53 @@
 #include <ngx_http.h>
 
 
-typedef struct {
-    int   dummy;
-} ngx_http_log_conf_t;
+typedef char *(*ngx_http_log_op_pt) (ngx_http_request_t *r, char *buf,
+                                     uintptr_t data);
+
+#define NGX_HTTP_LOG_COPY_SHORT  (ngx_http_log_op_pt) 0
+#define NGX_HTTP_LOG_COPY_LONG   (ngx_http_log_op_pt) -1
+
+#define NGX_HTTP_LOG_ARG         (u_int) -1
+
+/* STUB */
+#define NGX_INT32_LEN      sizeof("4294967296") - 1
+#define NGX_OFF_LEN        sizeof("18446744073709551616") - 1
 
 
-typedef enum {
-
-    NGX_HTTP_LOG_HANDLER = 0,
-
-#if 0
-    /* the ngx_str_t field of the request */
-    NGX_HTTP_LOG_REQUEST_STR_FIELD,
-
-    /* the ngx_str_t field of the r->headers_in */
-    NGX_HTTP_LOG_REQUEST_HEADER_IN_FIELD,
-
-    /* the ngx_str_t field of the r->headers_out */
-    NGX_HTTP_LOG_REQUEST_HEADER_OUT_FIELD,
-#endif
-
-} ngx_http_log_code_e;
+typedef struct {
+    size_t               len;
+    ngx_http_log_op_pt   op;
+    uintptr_t            data;
+} ngx_http_log_op_t;
 
 
 typedef struct {
-    int      type;
-    int      size;
-    char  *(*handler) (ngx_http_request_t *r, char *p);
-    int      offset;
-} ngx_http_log_code_t;
+    ngx_str_t            name;
+    ngx_array_t         *ops;        /* array of ngx_http_log_op_t */
+} ngx_http_log_fmt_t;
+
+
+typedef struct {
+    ngx_str_t            name;
+    size_t               len;
+    ngx_http_log_op_pt   op;
+} ngx_http_log_op_name_t;
+
+
+typedef struct {
+    ngx_array_t          formats;    /* array of ngx_http_log_fmt_t */
+} ngx_http_log_main_conf_t;
+
+
+typedef struct {
+    ngx_open_file_t     *file;
+    ngx_array_t         *ops;        /* array of ngx_http_log_op_t */
+} ngx_http_log_t;
+
+
+typedef struct {
+    ngx_array_t         *logs;       /* array of ngx_http_log_t */
+} ngx_http_log_loc_conf_t;
 
 
 #endif /* _NGX_HTTP_LOG_HANDLER_H_INCLUDED_ */