Update and clean Tomato RAF files
[tomato.git] / release / src / router / nginx / src / http / modules / perl / ngx_http_perl_module.h
blob5e60b031ec2e3ddd00497aacdf1869e9f6a575c2
2 /*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) Nginx, Inc.
5 */
8 #ifndef _NGX_HTTP_PERL_MODULE_H_INCLUDED_
9 #define _NGX_HTTP_PERL_MODULE_H_INCLUDED_
12 #include <ngx_config.h>
13 #include <ngx_core.h>
14 #include <ngx_http.h>
15 #include <nginx.h>
17 #include <EXTERN.h>
18 #include <perl.h>
21 typedef ngx_http_request_t *nginx;
23 typedef struct {
24 ngx_str_t filename;
25 ngx_str_t redirect_uri;
26 ngx_str_t redirect_args;
28 SV *next;
30 ngx_uint_t done; /* unsigned done:1; */
32 ngx_array_t *variables; /* array of ngx_http_perl_var_t */
34 #if (NGX_HTTP_SSI)
35 ngx_http_ssi_ctx_t *ssi;
36 #endif
37 } ngx_http_perl_ctx_t;
40 typedef struct {
41 ngx_uint_t hash;
42 ngx_str_t name;
43 ngx_str_t value;
44 } ngx_http_perl_var_t;
47 extern ngx_module_t ngx_http_perl_module;
51 * workaround for "unused variable `Perl___notused'" warning
52 * when building with perl 5.6.1
54 #ifndef PERL_IMPLICIT_CONTEXT
55 #undef dTHXa
56 #define dTHXa(a)
57 #endif
60 extern void boot_DynaLoader(pTHX_ CV* cv);
63 void ngx_http_perl_handle_request(ngx_http_request_t *r);
64 void ngx_http_perl_sleep_handler(ngx_http_request_t *r);
67 #endif /* _NGX_HTTP_PERL_MODULE_H_INCLUDED_ */