File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / sapi / apache2handler / php_apache.h
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue May 29 12:34:35 2012 UTC (12 years, 2 months ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_17p0, HEAD
php 5.4.3+patches

    1: /*
    2:    +----------------------------------------------------------------------+
    3:    | PHP Version 5                                                        |
    4:    +----------------------------------------------------------------------+
    5:    | Copyright (c) 1997-2012 The PHP Group                                |
    6:    +----------------------------------------------------------------------+
    7:    | This source file is subject to version 3.01 of the PHP license,      |
    8:    | that is bundled with this package in the file LICENSE, and is        |
    9:    | available through the world-wide-web at the following url:           |
   10:    | http://www.php.net/license/3_01.txt                                  |
   11:    | If you did not receive a copy of the PHP license and are unable to   |
   12:    | obtain it through the world-wide-web, please send a note to          |
   13:    | license@php.net so we can mail you a copy immediately.               |
   14:    +----------------------------------------------------------------------+
   15:    | Author: Sascha Schumann <sascha@schumann.cx>                         |
   16:    +----------------------------------------------------------------------+
   17:  */
   18: 
   19: /* $Id: php_apache.h,v 1.1.1.2 2012/05/29 12:34:35 misho Exp $ */
   20: 
   21: #ifndef PHP_APACHE_H
   22: #define PHP_APACHE_H
   23: 
   24: #include "httpd.h"
   25: #include "http_config.h"
   26: #include "http_core.h"
   27: 
   28: /* Declare this so we can get to it from outside the sapi_apache2.c file */
   29: extern module AP_MODULE_DECLARE_DATA php5_module;
   30: 
   31: /* A way to specify the location of the php.ini dir in an apache directive */
   32: extern char *apache2_php_ini_path_override;
   33: 
   34: /* The server_context used by PHP */
   35: typedef struct php_struct {
   36: 	int state;
   37: 	request_rec *r;
   38: 	apr_bucket_brigade *brigade;
   39: 	/* stat structure of the current file */
   40: #if defined(NETWARE) && defined(CLIB_STAT_PATCH)
   41: 	struct stat_libc finfo;
   42: #else
   43: 	struct stat finfo;
   44: #endif
   45: 	/* Whether or not we've processed PHP in the output filters yet. */
   46: 	int request_processed;
   47: 	/* final content type */
   48: 	char *content_type;
   49: } php_struct;
   50: 
   51: void *merge_php_config(apr_pool_t *p, void *base_conf, void *new_conf);
   52: void *create_php_config(apr_pool_t *p, char *dummy);
   53: char *get_php_config(void *conf, char *name, size_t name_len);
   54: void apply_config(void *);
   55: extern const command_rec php_dir_cmds[];
   56: void php_ap2_register_hook(apr_pool_t *p);
   57: 
   58: #define APR_ARRAY_FOREACH_OPEN(arr, key, val) 		\
   59: {													\
   60: 	apr_table_entry_t *elts;						\
   61: 	int i;											\
   62: 	elts = (apr_table_entry_t *) arr->elts;			\
   63: 	for (i = 0; i < arr->nelts; i++) {				\
   64: 		key = elts[i].key;							\
   65: 		val = elts[i].val;
   66: 
   67: #define APR_ARRAY_FOREACH_CLOSE() }}
   68: 
   69: typedef struct {
   70: 	long engine;
   71: 	long xbithack;
   72: 	long last_modified;
   73: } php_apache2_info_struct;
   74: 
   75: extern zend_module_entry apache2_module_entry;
   76: 
   77: #ifdef ZTS
   78: extern int php_apache2_info_id;
   79: #define AP2(v) TSRMG(php_apache2_info_id, php_apache2_info_struct *, v)
   80: #else
   81: extern php_apache2_info_struct php_apache2_info;
   82: #define AP2(v) (php_apache2_info.v)
   83: #endif
   84: 
   85: /* fix for gcc4 visibility patch */
   86: #ifndef PHP_WIN32
   87: # undef AP_MODULE_DECLARE_DATA
   88: # define AP_MODULE_DECLARE_DATA PHPAPI
   89: #endif
   90: 
   91: #endif /* PHP_APACHE_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>