| |
| /* |
| * Copyright (C) Igor Sysoev |
| * Copyright (C) Nginx, Inc. |
| */ |
| |
| |
| #ifndef _NGX_HTTP_PERL_MODULE_H_INCLUDED_ |
| #define _NGX_HTTP_PERL_MODULE_H_INCLUDED_ |
| |
| |
| #include <ngx_config.h> |
| #include <ngx_core.h> |
| #include <ngx_http.h> |
| #include <nginx.h> |
| |
| #include <EXTERN.h> |
| #include <perl.h> |
| |
| |
| typedef ngx_http_request_t *nginx; |
| |
| typedef struct { |
| ngx_http_request_t *request; |
| |
| ngx_str_t filename; |
| ngx_str_t redirect_uri; |
| |
| SV *next; |
| |
| ngx_int_t status; |
| |
| unsigned done:1; |
| unsigned error:1; |
| unsigned variable:1; |
| unsigned header_sent:1; |
| |
| ngx_array_t *variables; /* array of ngx_http_perl_var_t */ |
| |
| #if (NGX_HTTP_SSI) |
| ngx_http_ssi_ctx_t *ssi; |
| #endif |
| } ngx_http_perl_ctx_t; |
| |
| |
| typedef struct { |
| ngx_uint_t hash; |
| ngx_str_t name; |
| ngx_str_t value; |
| } ngx_http_perl_var_t; |
| |
| |
| extern ngx_module_t ngx_http_perl_module; |
| |
| |
| /* |
| * workaround for "unused variable `Perl___notused'" warning |
| * when building with perl 5.6.1 |
| */ |
| #ifndef PERL_IMPLICIT_CONTEXT |
| #undef dTHXa |
| #define dTHXa(a) |
| #endif |
| |
| |
| extern void boot_DynaLoader(pTHX_ CV* cv); |
| |
| |
| void ngx_http_perl_handle_request(ngx_http_request_t *r); |
| void ngx_http_perl_sleep_handler(ngx_http_request_t *r); |
| |
| |
| #endif /* _NGX_HTTP_PERL_MODULE_H_INCLUDED_ */ |