SILENT KILLERPanel

Current Path: > > opt > cloudlinux > alt-php73 > root > usr > include > > php > Zend


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/cloudlinux/alt-php73/root/usr/include//php/Zend

NameTypeSizeLast ModifiedActions
zend.h File 13344 bytes July 18 2025 00:24:36.
zend_API.h File 59684 bytes July 18 2025 00:24:36.
zend_alloc.h File 19284 bytes July 18 2025 00:24:36.
zend_alloc_sizes.h File 2779 bytes July 18 2025 00:24:36.
zend_arena.h File 4008 bytes July 18 2025 00:24:36.
zend_ast.h File 11518 bytes July 18 2025 00:24:36.
zend_bitset.h File 7027 bytes July 18 2025 00:24:36.
zend_build.h File 1776 bytes July 18 2025 00:24:36.
zend_builtin_functions.h File 1655 bytes July 18 2025 00:24:36.
zend_closures.h File 2359 bytes July 18 2025 00:24:36.
zend_compile.h File 40544 bytes July 18 2025 00:24:36.
zend_config.h File 107 bytes July 18 2025 00:24:37.
zend_config.nw.h File 2542 bytes July 18 2025 00:24:36.
zend_config.w32.h File 2657 bytes July 18 2025 00:24:36.
zend_constants.h File 6452 bytes July 18 2025 00:24:36.
zend_cpuinfo.h File 7256 bytes July 18 2025 00:24:36.
zend_dtrace.h File 2087 bytes July 18 2025 00:24:36.
zend_errors.h File 2200 bytes July 18 2025 00:24:36.
zend_exceptions.h File 4003 bytes July 18 2025 00:24:36.
zend_execute.h File 15529 bytes July 18 2025 00:24:36.
zend_extensions.h File 6111 bytes July 18 2025 00:24:36.
zend_float.h File 15690 bytes July 18 2025 00:24:36.
zend_gc.h File 2952 bytes July 18 2025 00:24:36.
zend_generators.h File 7499 bytes July 18 2025 00:24:36.
zend_globals.h File 7592 bytes July 18 2025 00:24:36.
zend_globals_macros.h File 2817 bytes July 18 2025 00:24:36.
zend_hash.h File 35458 bytes July 18 2025 00:24:36.
zend_highlight.h File 2418 bytes July 18 2025 00:24:36.
zend_inheritance.h File 2008 bytes July 18 2025 00:24:36.
zend_ini.h File 9963 bytes July 18 2025 00:24:36.
zend_ini_parser.h File 2752 bytes July 18 2025 00:24:37.
zend_ini_scanner.h File 2023 bytes July 18 2025 00:24:37.
zend_ini_scanner_defs.h File 225 bytes July 18 2025 00:24:36.
zend_interfaces.h File 4416 bytes July 18 2025 00:24:36.
zend_istdiostream.h File 1687 bytes July 18 2025 00:24:36.
zend_iterators.h File 3596 bytes July 18 2025 00:24:36.
zend_language_parser.h File 8148 bytes July 18 2025 00:24:37.
zend_language_scanner.h File 2882 bytes July 18 2025 00:24:37.
zend_language_scanner_defs.h File 251 bytes July 18 2025 00:24:36.
zend_list.h File 3582 bytes July 18 2025 00:24:36.
zend_llist.h File 3940 bytes July 18 2025 00:24:36.
zend_long.h File 4448 bytes July 18 2025 00:24:36.
zend_modules.h File 4940 bytes July 18 2025 00:24:36.
zend_multibyte.h File 4989 bytes July 18 2025 00:24:36.
zend_multiply.h File 9987 bytes July 18 2025 00:24:36.
zend_object_handlers.h File 11426 bytes July 18 2025 00:24:36.
zend_objects.h File 1957 bytes July 18 2025 00:24:36.
zend_objects_API.h File 4284 bytes July 18 2025 00:24:36.
zend_operators.h File 31432 bytes July 18 2025 00:24:36.
zend_portability.h File 19237 bytes July 18 2025 00:24:36.
zend_ptr_stack.h File 4456 bytes July 18 2025 00:24:36.
zend_range_check.h File 3150 bytes July 18 2025 00:24:36.
zend_signal.h File 4140 bytes July 18 2025 00:24:36.
zend_smart_str.h File 5680 bytes July 18 2025 00:24:36.
zend_smart_str_public.h File 1429 bytes July 18 2025 00:24:36.
zend_smart_string.h File 4539 bytes July 18 2025 00:24:36.
zend_smart_string_public.h File 1542 bytes July 18 2025 00:24:36.
zend_sort.h File 1786 bytes July 18 2025 00:24:36.
zend_stack.h File 2510 bytes July 18 2025 00:24:36.
zend_stream.h File 3446 bytes July 18 2025 00:24:36.
zend_string.h File 16347 bytes July 18 2025 00:24:36.
zend_strtod.h File 2004 bytes July 18 2025 00:24:36.
zend_strtod_int.h File 3649 bytes July 18 2025 00:24:36.
zend_ts_hash.h File 5759 bytes July 18 2025 00:24:36.
zend_type_info.h File 3241 bytes July 18 2025 00:24:36.
zend_types.h File 38388 bytes July 18 2025 00:24:37.
zend_variables.h File 3441 bytes July 18 2025 00:24:37.
zend_virtual_cwd.h File 12432 bytes July 18 2025 00:24:37.
zend_vm.h File 2102 bytes July 18 2025 00:24:37.
zend_vm_def.h File 258030 bytes July 18 2025 00:24:37.
zend_vm_execute.h File 2198670 bytes July 18 2025 00:24:37.
zend_vm_handlers.h File 99975 bytes July 18 2025 00:24:37.
zend_vm_opcodes.h File 13167 bytes July 18 2025 00:24:37.
zend_vm_trace_handlers.h File 3212 bytes July 18 2025 00:24:37.
zend_vm_trace_map.h File 2654 bytes July 18 2025 00:24:37.

Reading File: //opt/cloudlinux/alt-php73/root/usr/include//php/Zend/zend_object_handlers.h

/*
   +----------------------------------------------------------------------+
   | Zend Engine                                                          |
   +----------------------------------------------------------------------+
   | Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
   +----------------------------------------------------------------------+
   | This source file is subject to version 2.00 of the Zend license,     |
   | that is bundled with this package in the file LICENSE, and is        |
   | available through the world-wide-web at the following url:           |
   | http://www.zend.com/license/2_00.txt.                                |
   | If you did not receive a copy of the Zend license and are unable to  |
   | obtain it through the world-wide-web, please send a note to          |
   | license@zend.com so we can mail you a copy immediately.              |
   +----------------------------------------------------------------------+
   | Authors: Andi Gutmans <andi@php.net>                                 |
   |          Zeev Suraski <zeev@php.net>                                 |
   +----------------------------------------------------------------------+
*/

#ifndef ZEND_OBJECT_HANDLERS_H
#define ZEND_OBJECT_HANDLERS_H

struct _zend_property_info;

#define ZEND_WRONG_PROPERTY_INFO \
	((struct _zend_property_info*)((intptr_t)-1))

#define ZEND_DYNAMIC_PROPERTY_OFFSET               ((uintptr_t)(intptr_t)(-1))

#define IS_VALID_PROPERTY_OFFSET(offset)           ((intptr_t)(offset) > 0)
#define IS_WRONG_PROPERTY_OFFSET(offset)           ((intptr_t)(offset) == 0)
#define IS_DYNAMIC_PROPERTY_OFFSET(offset)         ((intptr_t)(offset) < 0)

#define IS_UNKNOWN_DYNAMIC_PROPERTY_OFFSET(offset) (offset == ZEND_DYNAMIC_PROPERTY_OFFSET)
#define ZEND_DECODE_DYN_PROP_OFFSET(offset)        ((uintptr_t)(-(intptr_t)(offset) - 2))
#define ZEND_ENCODE_DYN_PROP_OFFSET(offset)        ((uintptr_t)(-((intptr_t)(offset) + 2)))


/* The following rule applies to read_property() and read_dimension() implementations:
   If you return a zval which is not otherwise referenced by the extension or the engine's
   symbol table, its reference count should be 0.
*/
/* Used to fetch property from the object, read-only */
typedef zval *(*zend_object_read_property_t)(zval *object, zval *member, int type, void **cache_slot, zval *rv);

/* Used to fetch dimension from the object, read-only */
typedef zval *(*zend_object_read_dimension_t)(zval *object, zval *offset, int type, zval *rv);


/* The following rule applies to write_property() and write_dimension() implementations:
   If you receive a value zval in write_property/write_dimension, you may only modify it if
   its reference count is 1.  Otherwise, you must create a copy of that zval before making
   any changes.  You should NOT modify the reference count of the value passed to you.
*/
/* Used to set property of the object */
typedef void (*zend_object_write_property_t)(zval *object, zval *member, zval *value, void **cache_slot);

/* Used to set dimension of the object */
typedef void (*zend_object_write_dimension_t)(zval *object, zval *offset, zval *value);


/* Used to create pointer to the property of the object, for future direct r/w access */
typedef zval *(*zend_object_get_property_ptr_ptr_t)(zval *object, zval *member, int type, void **cache_slot);

/* Used to set object value. Can be used to override assignments and scalar
   write ops (like ++, +=) on the object */
typedef void (*zend_object_set_t)(zval *object, zval *value);

/* Used to get object value. Can be used when converting object value to
 * one of the basic types and when using scalar ops (like ++, +=) on the object
 */
typedef zval* (*zend_object_get_t)(zval *object, zval *rv);

/* Used to check if a property of the object exists */
/* param has_set_exists:
 * 0 (has) whether property exists and is not NULL
 * 1 (set) whether property exists and is true
 * 2 (exists) whether property exists
 */
typedef int (*zend_object_has_property_t)(zval *object, zval *member, int has_set_exists, void **cache_slot);

/* Used to check if a dimension of the object exists */
typedef int (*zend_object_has_dimension_t)(zval *object, zval *member, int check_empty);

/* Used to remove a property of the object */
typedef void (*zend_object_unset_property_t)(zval *object, zval *member, void **cache_slot);

/* Used to remove a dimension of the object */
typedef void (*zend_object_unset_dimension_t)(zval *object, zval *offset);

/* Used to get hash of the properties of the object, as hash of zval's */
typedef HashTable *(*zend_object_get_properties_t)(zval *object);

typedef HashTable *(*zend_object_get_debug_info_t)(zval *object, int *is_temp);

/* Used to call methods */
/* args on stack! */
/* Andi - EX(fbc) (function being called) needs to be initialized already in the INIT fcall opcode so that the parameters can be parsed the right way. We need to add another callback for this.
 */
typedef int (*zend_object_call_method_t)(zend_string *method, zend_object *object, INTERNAL_FUNCTION_PARAMETERS);
typedef zend_function *(*zend_object_get_method_t)(zend_object **object, zend_string *method, const zval *key);
typedef zend_function *(*zend_object_get_constructor_t)(zend_object *object);

/* Object maintenance/destruction */
typedef void (*zend_object_dtor_obj_t)(zend_object *object);
typedef void (*zend_object_free_obj_t)(zend_object *object);
typedef zend_object* (*zend_object_clone_obj_t)(zval *object);

/* Get class name for display in var_dump and other debugging functions.
 * Must be defined and must return a non-NULL value. */
typedef zend_string *(*zend_object_get_class_name_t)(const zend_object *object);

typedef int (*zend_object_compare_t)(zval *object1, zval *object2);
typedef int (*zend_object_compare_zvals_t)(zval *resul, zval *op1, zval *op2);

/* Cast an object to some other type.
 * readobj and retval must point to distinct zvals.
 */
typedef int (*zend_object_cast_t)(zval *readobj, zval *retval, int type);

/* updates *count to hold the number of elements present and returns SUCCESS.
 * Returns FAILURE if the object does not have any sense of overloaded dimensions */
typedef int (*zend_object_count_elements_t)(zval *object, zend_long *count);

typedef int (*zend_object_get_closure_t)(zval *obj, zend_class_entry **ce_ptr, zend_function **fptr_ptr, zend_object **obj_ptr);

typedef HashTable *(*zend_object_get_gc_t)(zval *object, zval **table, int *n);

typedef int (*zend_object_do_operation_t)(zend_uchar opcode, zval *result, zval *op1, zval *op2);

struct _zend_object_handlers {
	/* offset of real object header (usually zero) */
	int										offset;
	/* general object functions */
	zend_object_free_obj_t					free_obj;
	zend_object_dtor_obj_t					dtor_obj;
	zend_object_clone_obj_t					clone_obj;
	/* individual object functions */
	zend_object_read_property_t				read_property;
	zend_object_write_property_t			write_property;
	zend_object_read_dimension_t			read_dimension;
	zend_object_write_dimension_t			write_dimension;
	zend_object_get_property_ptr_ptr_t		get_property_ptr_ptr;
	zend_object_get_t						get;
	zend_object_set_t						set;
	zend_object_has_property_t				has_property;
	zend_object_unset_property_t			unset_property;
	zend_object_has_dimension_t				has_dimension;
	zend_object_unset_dimension_t			unset_dimension;
	zend_object_get_properties_t			get_properties;
	zend_object_get_method_t				get_method;
	zend_object_call_method_t				call_method;
	zend_object_get_constructor_t			get_constructor;
	zend_object_get_class_name_t			get_class_name;
	zend_object_compare_t					compare_objects;
	zend_object_cast_t						cast_object;
	zend_object_count_elements_t			count_elements;
	zend_object_get_debug_info_t			get_debug_info;
	zend_object_get_closure_t				get_closure;
	zend_object_get_gc_t					get_gc;
	zend_object_do_operation_t				do_operation;
	zend_object_compare_zvals_t				compare;
};

BEGIN_EXTERN_C()
extern const ZEND_API zend_object_handlers std_object_handlers;

#define zend_get_std_object_handlers() \
	(&std_object_handlers)

#define zend_get_function_root_class(fbc) \
	((fbc)->common.prototype ? (fbc)->common.prototype->common.scope : (fbc)->common.scope)

#define ZEND_PROPERTY_ISSET     0x0          /* Property exists and is not NULL */
#define ZEND_PROPERTY_NOT_EMPTY ZEND_ISEMPTY /* Property is not empty */
#define ZEND_PROPERTY_EXISTS    0x2          /* Property exists */

ZEND_API void zend_class_init_statics(zend_class_entry *ce);
ZEND_API zend_function *zend_std_get_static_method(zend_class_entry *ce, zend_string *function_name_strval, const zval *key);
ZEND_API zval *zend_std_get_static_property(zend_class_entry *ce, zend_string *property_name, zend_bool silent);
ZEND_API ZEND_COLD zend_bool zend_std_unset_static_property(zend_class_entry *ce, zend_string *property_name);
ZEND_API zend_function *zend_std_get_constructor(zend_object *object);
ZEND_API struct _zend_property_info *zend_get_property_info(zend_class_entry *ce, zend_string *member, int silent);
ZEND_API HashTable *zend_std_get_properties(zval *object);
ZEND_API HashTable *zend_std_get_gc(zval *object, zval **table, int *n);
ZEND_API HashTable *zend_std_get_debug_info(zval *object, int *is_temp);
ZEND_API int zend_std_cast_object_tostring(zval *readobj, zval *writeobj, int type);
ZEND_API zval *zend_std_get_property_ptr_ptr(zval *object, zval *member, int type, void **cache_slot);
ZEND_API zval *zend_std_read_property(zval *object, zval *member, int type, void **cache_slot, zval *rv);
ZEND_API void zend_std_write_property(zval *object, zval *member, zval *value, void **cache_slot);
ZEND_API int zend_std_has_property(zval *object, zval *member, int has_set_exists, void **cache_slot);
ZEND_API void zend_std_unset_property(zval *object, zval *member, void **cache_slot);
ZEND_API zval *zend_std_read_dimension(zval *object, zval *offset, int type, zval *rv);
ZEND_API void zend_std_write_dimension(zval *object, zval *offset, zval *value);
ZEND_API int zend_std_has_dimension(zval *object, zval *offset, int check_empty);
ZEND_API void zend_std_unset_dimension(zval *object, zval *offset);
ZEND_API zend_function *zend_std_get_method(zend_object **obj_ptr, zend_string *method_name, const zval *key);
ZEND_API zend_string *zend_std_get_class_name(const zend_object *zobj);
ZEND_API int zend_std_compare_objects(zval *o1, zval *o2);
ZEND_API int zend_std_get_closure(zval *obj, zend_class_entry **ce_ptr, zend_function **fptr_ptr, zend_object **obj_ptr);
ZEND_API void rebuild_object_properties(zend_object *zobj);

ZEND_API int zend_check_private(zend_function *fbc, zend_class_entry *ce, zend_string *function_name);

ZEND_API int zend_check_protected(zend_class_entry *ce, zend_class_entry *scope);

ZEND_API int zend_check_property_access(zend_object *zobj, zend_string *prop_info_name);

ZEND_API zend_function *zend_get_call_trampoline_func(zend_class_entry *ce, zend_string *method_name, int is_static);

ZEND_API uint32_t *zend_get_property_guard(zend_object *zobj, zend_string *member);

#define zend_free_trampoline(func) do { \
		if ((func) == &EG(trampoline)) { \
			EG(trampoline).common.function_name = NULL; \
		} else { \
			efree(func); \
		} \
	} while (0)

END_EXTERN_C()

#endif

/*
 * Local variables:
 * tab-width: 4
 * c-basic-offset: 4
 * indent-tabs-mode: t
 * End:
 * vim600: sw=4 ts=4 fdm=marker
 * vim<600: sw=4 ts=4
 */

SILENT KILLER Tool