php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_list.h
Go to the documentation of this file.
1/*
2 +----------------------------------------------------------------------+
3 | Zend Engine |
4 +----------------------------------------------------------------------+
5 | Copyright (c) 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@php.net> |
16 | Zeev Suraski <zeev@php.net> |
17 +----------------------------------------------------------------------+
18*/
19
20#ifndef ZEND_LIST_H
21#define ZEND_LIST_H
22
23#include "zend_hash.h"
24#include "zend_globals.h"
25
27
29#define ZEND_RSRC_DTOR_FUNC(name) void name(zend_resource *res)
30
40
41
42ZEND_API int zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, const char *type_name, int module_number);
43
46
47void zend_clean_module_rsrc_dtors(int module_number);
48ZEND_API void zend_init_rsrc_list(void); /* Exported for phar hack */
49void zend_init_rsrc_plist(void);
54
59
60ZEND_API zend_resource *zend_register_resource(void *rsrc_pointer, int rsrc_type);
61ZEND_API void *zend_fetch_resource(zend_resource *res, const char *resource_type_name, int resource_type);
62ZEND_API void *zend_fetch_resource2(zend_resource *res, const char *resource_type_name, int resource_type, int resource_type2);
63ZEND_API void *zend_fetch_resource_ex(zval *res, const char *resource_type_name, int resource_type);
64ZEND_API void *zend_fetch_resource2_ex(zval *res, const char *resource_type_name, int resource_type, int resource_type2);
65
67ZEND_API int zend_fetch_list_dtor_id(const char *type_name);
68
69ZEND_API zend_resource* zend_register_persistent_resource(const char *key, size_t key_len, void *rsrc_pointer, int rsrc_type);
71
72extern ZEND_API int le_index_ptr; /* list entry type for index pointers */
73
75
76#endif
zend_ffi_type * type
Definition ffi.c:3812
zend_string * res
Definition ffi.c:4692
void * ptr
Definition ffi.c:3814
HashTable * ht
Definition ffi.c:4838
unsigned char key[REFLECTION_KEY_LEN]
Definition zend_list.h:31
rsrc_dtor_func_t list_dtor_ex
Definition zend_list.h:32
int module_number
Definition zend_list.h:37
int resource_id
Definition zend_list.h:38
rsrc_dtor_func_t plist_dtor_ex
Definition zend_list.h:33
const char * type_name
Definition zend_list.h:35
struct _zval_struct zval
#define ZEND_API
ZEND_API int le_index_ptr
Definition zend_list.c:27
void zend_init_rsrc_list_dtors(void)
Definition zend_list.c:303
ZEND_API void * zend_fetch_resource(zend_resource *res, const char *resource_type_name, int resource_type)
Definition zend_list.c:117
struct _zend_rsrc_list_dtors_entry zend_rsrc_list_dtors_entry
void zend_clean_module_rsrc_dtors(int module_number)
Definition zend_list.c:259
ZEND_API int zend_fetch_list_dtor_id(const char *type_name)
Definition zend_list.c:285
ZEND_API zend_resource * zend_register_persistent_resource_ex(zend_string *key, void *rsrc_pointer, int rsrc_type)
Definition zend_list.c:328
void(* rsrc_dtor_func_t)(zend_resource *res)
Definition zend_list.h:28
void zend_destroy_rsrc_list_dtors(void)
Definition zend_list.c:310
void zend_init_rsrc_plist(void)
Definition zend_list.c:209
ZEND_API void zend_init_rsrc_list(void)
Definition zend_list.c:202
ZEND_API zend_resource * zend_register_resource(void *rsrc_pointer, int rsrc_type)
Definition zend_list.c:87
ZEND_API const char * zend_rsrc_list_get_rsrc_type(zend_resource *res)
Definition zend_list.c:316
ZEND_API zend_result ZEND_FASTCALL zend_list_delete(zend_resource *res)
Definition zend_list.c:46
ZEND_API void ZEND_FASTCALL zend_list_free(zend_resource *res)
Definition zend_list.c:55
ZEND_API zval *ZEND_FASTCALL zend_list_insert(void *ptr, int type)
Definition zend_list.c:32
void plist_entry_destructor(zval *ptr)
Definition zend_list.c:185
void zend_destroy_rsrc_list(HashTable *ht)
Definition zend_list.c:232
void zend_close_rsrc_list(HashTable *ht)
Definition zend_list.c:215
ZEND_API zend_resource * zend_register_persistent_resource(const char *key, size_t key_len, void *rsrc_pointer, int rsrc_type)
Definition zend_list.c:342
ZEND_API void ZEND_FASTCALL zend_list_close(zend_resource *res)
Definition zend_list.c:78
void list_entry_destructor(zval *ptr)
Definition zend_list.c:174
ZEND_API void * zend_fetch_resource2_ex(zval *res, const char *resource_type_name, int resource_type, int resource_type2)
Definition zend_list.c:153
ZEND_API void * zend_fetch_resource_ex(zval *res, const char *resource_type_name, int resource_type)
Definition zend_list.c:132
ZEND_API void * zend_fetch_resource2(zend_resource *res, const char *resource_type_name, int resource_type, int resource_type2)
Definition zend_list.c:96
ZEND_API int zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, const char *type_name, int module_number)
Definition zend_list.c:265
struct _zend_string zend_string
#define END_EXTERN_C()
#define ZEND_FASTCALL
#define BEGIN_EXTERN_C()
struct _zend_resource zend_resource
Definition zend_types.h:99
struct _zend_array HashTable
Definition zend_types.h:386
ZEND_RESULT_CODE zend_result
Definition zend_types.h:64