Mercurial > hg > nginx
annotate src/http/ngx_http_script.h @ 507:cd3117ad9aab release-0.1.28
nginx-0.1.28-RELEASE import
*) Bugfix: nginx hogs CPU while proxying the huge files.
*) Bugfix: nginx could not be built by gcc 4.0 on Linux.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 08 Apr 2005 15:18:55 +0000 |
parents | c52408583801 |
children | 9b8c906f6e63 |
rev | line source |
---|---|
441
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
99
diff
changeset
|
1 |
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
99
diff
changeset
|
2 /* |
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
441
diff
changeset
|
3 * Copyright (C) Igor Sysoev |
441
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
99
diff
changeset
|
4 */ |
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
99
diff
changeset
|
5 |
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
99
diff
changeset
|
6 |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
7 #ifndef _NGX_HTTP_SCRIPT_H_INCLUDED_ |
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 #define _NGX_HTTP_SCRIPT_H_INCLUDED_ |
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
9 |
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
10 |
479 | 11 #include <ngx_config.h> |
12 #include <ngx_core.h> | |
13 #include <ngx_http.h> | |
14 | |
15 | |
507 | 16 typedef struct { |
17 u_char *ip; | |
18 u_char *pos; | |
19 ngx_http_request_t *request; | |
20 } ngx_http_script_lite_engine_t; | |
21 | |
22 | |
23 typedef struct { | |
24 ngx_http_script_lite_engine_t lite; | |
25 } ngx_http_script_engine_t; | |
26 | |
27 | |
28 typedef void (*ngx_http_script_code_pt) (ngx_http_script_engine_t *e); | |
29 typedef size_t (*ngx_http_script_len_code_pt) | |
30 (ngx_http_script_lite_engine_t *e); | |
31 | |
32 typedef ngx_int_t (*ngx_http_script_compile_lite_start_pt) (ngx_table_elt_t *h, | |
33 ngx_array_t *lengths, ngx_array_t *values, ngx_uint_t value); | |
34 typedef ngx_int_t (*ngx_http_script_compile_lite_end_pt) (ngx_array_t *lengths, | |
35 ngx_array_t *values); | |
36 | |
479 | 37 |
507 | 38 typedef struct { |
39 ngx_http_script_code_pt code; | |
40 uintptr_t len; | |
41 } ngx_http_script_copy_code_t; | |
42 | |
43 | |
44 typedef struct { | |
45 ngx_http_script_code_pt code; | |
46 uintptr_t index; | |
47 } ngx_http_script_var_code_t; | |
48 | |
49 | |
50 ngx_int_t ngx_http_script_compile_lite(ngx_conf_t *cf, ngx_array_t *sources, | |
51 ngx_array_t **lengths, ngx_array_t **values, | |
52 ngx_http_script_compile_lite_start_pt start, | |
53 ngx_http_script_compile_lite_end_pt end); | |
54 | |
55 | |
56 static void *ngx_http_script_start_code(ngx_pool_t *pool, ngx_array_t **codes, | |
57 size_t size); | |
58 | |
59 size_t ngx_http_script_copy_len(ngx_http_script_engine_t *e); | |
60 void ngx_http_script_copy(ngx_http_script_engine_t *e); | |
61 size_t ngx_http_script_copy_var_len(ngx_http_script_engine_t *e); | |
62 void ngx_http_script_copy_var(ngx_http_script_engine_t *e); | |
63 | |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
64 |
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
65 |
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
66 #endif /* _NGX_HTTP_SCRIPT_H_INCLUDED_ */ |