~ubuntu-branches/ubuntu/hardy/php5/hardy-updates

« back to all changes in this revision

Viewing changes to Zend/zend_modules.h

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad
  • Date: 2005-10-09 03:14:32 UTC
  • Revision ID: james.westby@ubuntu.com-20051009031432-kspik3lobxstafv9
Tags: upstream-5.0.5
ImportĀ upstreamĀ versionĀ 5.0.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
   +----------------------------------------------------------------------+
 
3
   | Zend Engine                                                          |
 
4
   +----------------------------------------------------------------------+
 
5
   | Copyright (c) 1998-2004 Zend Technologies Ltd. (http://www.zend.com) |
 
6
   +----------------------------------------------------------------------+
 
7
   | This source file is subject to version 2.00 of the Zend 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.zend.com/license/2_00.txt.                                |
 
11
   | If you did not receive a copy of the Zend license and are unable to  |
 
12
   | obtain it through the world-wide-web, please send a note to          |
 
13
   | license@zend.com so we can mail you a copy immediately.              |
 
14
   +----------------------------------------------------------------------+
 
15
   | Authors: Andi Gutmans <andi@zend.com>                                |
 
16
   |          Zeev Suraski <zeev@zend.com>                                |
 
17
   +----------------------------------------------------------------------+
 
18
*/
 
19
 
 
20
/* $Id: zend_modules.h,v 1.59.2.3 2005/03/15 23:47:12 wez Exp $ */
 
21
 
 
22
#ifndef MODULES_H
 
23
#define MODULES_H
 
24
 
 
25
#include "zend.h"
 
26
#include "zend_compile.h"
 
27
 
 
28
#define INIT_FUNC_ARGS          int type, int module_number TSRMLS_DC
 
29
#define INIT_FUNC_ARGS_PASSTHRU type, module_number TSRMLS_CC
 
30
#define SHUTDOWN_FUNC_ARGS      int type, int module_number TSRMLS_DC
 
31
#define SHUTDOWN_FUNC_ARGS_PASSTHRU type, module_number TSRMLS_CC
 
32
#define ZEND_MODULE_INFO_FUNC_ARGS zend_module_entry *zend_module TSRMLS_DC
 
33
#define ZEND_MODULE_INFO_FUNC_ARGS_PASSTHRU zend_module TSRMLS_CC
 
34
 
 
35
extern struct _zend_arg_info first_arg_force_ref[2];
 
36
extern struct _zend_arg_info second_arg_force_ref[3];
 
37
extern struct _zend_arg_info third_arg_force_ref[4];
 
38
extern struct _zend_arg_info fourth_arg_force_ref[5];
 
39
extern struct _zend_arg_info all_args_by_ref[1];
 
40
 
 
41
#define ZEND_MODULE_API_NO 20041030
 
42
#ifdef ZTS
 
43
#define USING_ZTS 1
 
44
#else
 
45
#define USING_ZTS 0
 
46
#endif
 
47
 
 
48
#define STANDARD_MODULE_HEADER sizeof(zend_module_entry), ZEND_MODULE_API_NO, ZEND_DEBUG, USING_ZTS, NULL
 
49
#define ZE2_STANDARD_MODULE_HEADER sizeof(zend_module_entry), ZEND_MODULE_API_NO, ZEND_DEBUG, USING_ZTS, ini_entries
 
50
 
 
51
#define STANDARD_MODULE_PROPERTIES_EX 0, 0, 0, NULL, 0
 
52
 
 
53
#define STANDARD_MODULE_PROPERTIES \
 
54
        NULL, STANDARD_MODULE_PROPERTIES_EX
 
55
 
 
56
#define NO_VERSION_YET NULL
 
57
 
 
58
#define MODULE_PERSISTENT 1
 
59
#define MODULE_TEMPORARY 2
 
60
 
 
61
struct _zend_ini_entry;
 
62
typedef struct _zend_module_entry zend_module_entry;
 
63
 
 
64
struct _zend_module_entry {
 
65
    unsigned short size;
 
66
        unsigned int zend_api;
 
67
        unsigned char zend_debug;
 
68
        unsigned char zts;
 
69
        struct _zend_ini_entry *ini_entry;
 
70
        char *name;
 
71
        struct _zend_function_entry *functions;
 
72
        int (*module_startup_func)(INIT_FUNC_ARGS);
 
73
        int (*module_shutdown_func)(SHUTDOWN_FUNC_ARGS);
 
74
        int (*request_startup_func)(INIT_FUNC_ARGS);
 
75
        int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS);
 
76
        void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS);
 
77
        char *version;
 
78
        int (*post_deactivate_func)(void);
 
79
        int globals_id;
 
80
        int module_started;
 
81
        unsigned char type;
 
82
        void *handle;
 
83
        int module_number;
 
84
};
 
85
 
 
86
 
 
87
extern ZEND_API HashTable module_registry;
 
88
 
 
89
void module_destructor(zend_module_entry *module);
 
90
int module_registry_cleanup(zend_module_entry *module TSRMLS_DC);
 
91
int module_registry_request_startup(zend_module_entry *module TSRMLS_DC);
 
92
int module_registry_unload_temp(zend_module_entry *module TSRMLS_DC);
 
93
 
 
94
#define ZEND_MODULE_DTOR (void (*)(void *)) module_destructor
 
95
#endif
 
96
 
 
97
/*
 
98
 * Local variables:
 
99
 * tab-width: 4
 
100
 * c-basic-offset: 4
 
101
 * indent-tabs-mode: t
 
102
 * End:
 
103
 */