|  |  | 
|  | /* | 
|  | * 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_str_t                 filename; | 
|  | ngx_str_t                 redirect_uri; | 
|  | ngx_str_t                 redirect_args; | 
|  |  | 
|  | SV                       *next; | 
|  |  | 
|  | ngx_uint_t                done;       /* unsigned  done: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_ */ |