blob: 5e60b031ec2e3ddd00497aacdf1869e9f6a575c2 [file] [log] [blame] [raw]
/*
* 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_ */