SILENT KILLERPanel

Current Path: > > opt > cloudlinux > alt-php82 > 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-php82/root/usr//include/php/Zend

NameTypeSizeLast ModifiedActions
Optimizer Directory - -
zend.h File 15639 bytes July 11 2025 10:22:04.
zend_API.h File 100375 bytes July 11 2025 10:22:04.
zend_alloc.h File 19278 bytes July 11 2025 10:22:04.
zend_alloc_sizes.h File 2629 bytes July 11 2025 10:22:04.
zend_arena.h File 6063 bytes July 11 2025 10:22:04.
zend_ast.h File 13000 bytes July 11 2025 10:22:04.
zend_atomic.h File 5704 bytes July 11 2025 10:22:04.
zend_attributes.h File 5609 bytes July 11 2025 10:22:04.
zend_attributes_arginfo.h File 10755 bytes July 11 2025 10:22:04.
zend_bitset.h File 7925 bytes July 11 2025 10:22:04.
zend_build.h File 1626 bytes July 11 2025 10:22:04.
zend_builtin_functions.h File 1513 bytes July 11 2025 10:22:04.
zend_builtin_functions_arginfo.h File 14184 bytes July 11 2025 10:22:04.
zend_closures.h File 2290 bytes July 11 2025 10:22:04.
zend_closures_arginfo.h File 2084 bytes July 11 2025 10:22:04.
zend_compile.h File 48832 bytes July 11 2025 10:22:04.
zend_config.h File 32 bytes July 11 2025 10:22:06.
zend_constants.h File 6706 bytes July 11 2025 10:22:04.
zend_constants_arginfo.h File 1352 bytes July 11 2025 10:22:04.
zend_cpuinfo.h File 7556 bytes July 11 2025 10:22:04.
zend_dtrace.h File 2051 bytes July 11 2025 10:22:04.
zend_enum.h File 2842 bytes July 11 2025 10:22:04.
zend_enum_arginfo.h File 1704 bytes July 11 2025 10:22:04.
zend_errors.h File 2400 bytes July 11 2025 10:22:04.
zend_exceptions.h File 4551 bytes July 11 2025 10:22:04.
zend_exceptions_arginfo.h File 17760 bytes July 11 2025 10:22:04.
zend_execute.h File 20556 bytes July 11 2025 10:22:04.
zend_extensions.h File 6352 bytes July 11 2025 10:22:04.
zend_fibers.h File 4962 bytes July 11 2025 10:22:04.
zend_fibers_arginfo.h File 3569 bytes July 11 2025 10:22:04.
zend_float.h File 15438 bytes July 11 2025 10:22:04.
zend_gc.h File 3912 bytes July 11 2025 10:22:04.
zend_gdb.h File 1420 bytes July 11 2025 10:22:04.
zend_generators.h File 7512 bytes July 11 2025 10:22:04.
zend_generators_arginfo.h File 2787 bytes July 11 2025 10:22:04.
zend_globals.h File 9201 bytes July 11 2025 10:22:04.
zend_globals_macros.h File 2810 bytes July 11 2025 10:22:04.
zend_hash.h File 51311 bytes July 11 2025 10:22:04.
zend_highlight.h File 2296 bytes July 11 2025 10:22:04.
zend_inheritance.h File 2426 bytes July 11 2025 10:22:04.
zend_ini.h File 11927 bytes July 11 2025 10:22:04.
zend_ini_parser.h File 2730 bytes July 11 2025 10:22:04.
zend_ini_scanner.h File 1889 bytes July 11 2025 10:22:06.
zend_ini_scanner_defs.h File 225 bytes July 11 2025 10:22:04.
zend_interfaces.h File 4118 bytes July 11 2025 10:22:04.
zend_interfaces_arginfo.h File 8029 bytes July 11 2025 10:22:04.
zend_istdiostream.h File 1537 bytes July 11 2025 10:22:04.
zend_iterators.h File 3786 bytes July 11 2025 10:22:04.
zend_language_parser.h File 6102 bytes July 11 2025 10:22:04.
zend_language_scanner.h File 3044 bytes July 11 2025 10:22:06.
zend_language_scanner_defs.h File 310 bytes July 11 2025 10:22:04.
zend_list.h File 3475 bytes July 11 2025 10:22:04.
zend_llist.h File 4001 bytes July 11 2025 10:22:04.
zend_long.h File 4227 bytes July 11 2025 10:22:04.
zend_map_ptr.h File 3006 bytes July 11 2025 10:22:04.
zend_max_execution_timer.h File 1484 bytes July 11 2025 10:22:04.
zend_mmap.h File 1509 bytes July 11 2025 10:22:04.
zend_modules.h File 4826 bytes July 11 2025 10:22:04.
zend_multibyte.h File 4897 bytes July 11 2025 10:22:04.
zend_multiply.h File 10208 bytes July 11 2025 10:22:05.
zend_object_handlers.h File 14355 bytes July 11 2025 10:22:05.
zend_objects.h File 1814 bytes July 11 2025 10:22:05.
zend_objects_API.h File 4651 bytes July 11 2025 10:22:05.
zend_observer.h File 6398 bytes July 11 2025 10:22:05.
zend_operators.h File 33808 bytes July 11 2025 10:22:05.
zend_portability.h File 22790 bytes July 11 2025 10:22:05.
zend_ptr_stack.h File 4296 bytes July 11 2025 10:22:05.
zend_range_check.h File 3000 bytes July 11 2025 10:22:05.
zend_signal.h File 4074 bytes July 11 2025 10:22:05.
zend_smart_str.h File 6922 bytes July 11 2025 10:22:05.
zend_smart_str_public.h File 1159 bytes July 11 2025 10:22:05.
zend_smart_string.h File 4207 bytes July 11 2025 10:22:05.
zend_smart_string_public.h File 1240 bytes July 11 2025 10:22:05.
zend_sort.h File 1535 bytes July 11 2025 10:22:05.
zend_stack.h File 2359 bytes July 11 2025 10:22:05.
zend_stream.h File 3616 bytes July 11 2025 10:22:05.
zend_string.h File 20716 bytes July 11 2025 10:22:05.
zend_strtod.h File 2151 bytes July 11 2025 10:22:05.
zend_strtod_int.h File 3414 bytes July 11 2025 10:22:05.
zend_system_id.h File 1404 bytes July 11 2025 10:22:05.
zend_type_info.h File 4544 bytes July 11 2025 10:22:05.
zend_types.h File 47590 bytes July 11 2025 10:22:05.
zend_variables.h File 3065 bytes July 11 2025 10:22:05.
zend_virtual_cwd.h File 12990 bytes July 11 2025 10:22:05.
zend_vm.h File 1994 bytes July 11 2025 10:22:05.
zend_vm_def.h File 288209 bytes July 11 2025 10:22:05.
zend_vm_execute.h File 2118914 bytes July 11 2025 10:22:05.
zend_vm_handlers.h File 91506 bytes July 11 2025 10:22:05.
zend_vm_opcodes.h File 12684 bytes July 11 2025 10:22:05.
zend_vm_trace_handlers.h File 3216 bytes July 11 2025 10:22:05.
zend_vm_trace_lines.h File 1755 bytes July 11 2025 10:22:05.
zend_vm_trace_map.h File 2665 bytes July 11 2025 10:22:06.
zend_weakrefs.h File 2804 bytes July 11 2025 10:22:06.
zend_weakrefs_arginfo.h File 3479 bytes July 11 2025 10:22:06.

Reading File: //opt/cloudlinux/alt-php82/root/usr//include/php/Zend/zend_fibers.h

/*
   +----------------------------------------------------------------------+
   | Zend Engine                                                          |
   +----------------------------------------------------------------------+
   | Copyright (c) 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: Aaron Piotrowski <aaron@trowski.com>                        |
   |          Martin Schröder <m.schroeder2007@gmail.com>                 |
   +----------------------------------------------------------------------+
*/

#ifndef ZEND_FIBERS_H
#define ZEND_FIBERS_H

#include "zend_API.h"
#include "zend_types.h"

#define ZEND_FIBER_GUARD_PAGES 1

#define ZEND_FIBER_DEFAULT_C_STACK_SIZE (4096 * (((sizeof(void *)) < 8) ? 256 : 512))
#define ZEND_FIBER_VM_STACK_SIZE (1024 * sizeof(zval))

BEGIN_EXTERN_C()

typedef enum {
	ZEND_FIBER_STATUS_INIT,
	ZEND_FIBER_STATUS_RUNNING,
	ZEND_FIBER_STATUS_SUSPENDED,
	ZEND_FIBER_STATUS_DEAD,
} zend_fiber_status;

typedef enum {
	ZEND_FIBER_FLAG_THREW     = 1 << 0,
	ZEND_FIBER_FLAG_BAILOUT   = 1 << 1,
	ZEND_FIBER_FLAG_DESTROYED = 1 << 2,
} zend_fiber_flag;

typedef enum {
	ZEND_FIBER_TRANSFER_FLAG_ERROR = 1 << 0,
	ZEND_FIBER_TRANSFER_FLAG_BAILOUT = 1 << 1
} zend_fiber_transfer_flag;

void zend_register_fiber_ce(void);
void zend_fiber_init(void);
void zend_fiber_shutdown(void);

extern ZEND_API zend_class_entry *zend_ce_fiber;

typedef struct _zend_fiber_stack zend_fiber_stack;

/* Encapsulates data needed for a context switch. */
typedef struct _zend_fiber_transfer {
	/* Fiber that will be switched to / has resumed us. */
	zend_fiber_context *context;

	/* Value to that should be send to (or was received from) a fiber. */
	zval value;

	/* Bitmask of flags defined in enum zend_fiber_transfer_flag. */
	uint8_t flags;
} zend_fiber_transfer;

/* Coroutine functions must populate the given transfer with a new context
 * and (optional) data before they return. */
typedef void (*zend_fiber_coroutine)(zend_fiber_transfer *transfer);
typedef void (*zend_fiber_clean)(zend_fiber_context *context);

struct _zend_fiber_context {
	/* Pointer to boost.context or ucontext_t data. */
	void *handle;

	/* Pointer that identifies the fiber type. */
	void *kind;

	/* Entrypoint function of the fiber. */
	zend_fiber_coroutine function;

	/* Cleanup function for fiber. */
	zend_fiber_clean cleanup;

	/* Assigned C stack. */
	zend_fiber_stack *stack;

	/* Fiber status. */
	zend_fiber_status status;

	/* Observer state */
	zend_execute_data *top_observed_frame;

	/* Reserved for extensions */
	void *reserved[ZEND_MAX_RESERVED_RESOURCES];
};

struct _zend_fiber {
	/* PHP object handle. */
	zend_object std;

	/* Flags are defined in enum zend_fiber_flag. */
	uint8_t flags;

	/* Native C fiber context. */
	zend_fiber_context context;

	/* Fiber that resumed us. */
	zend_fiber_context *caller;

	/* Fiber that suspended us. */
	zend_fiber_context *previous;

	/* Callback and info / cache to be used when fiber is started. */
	zend_fcall_info fci;
	zend_fcall_info_cache fci_cache;

	/* Current Zend VM execute data being run by the fiber. */
	zend_execute_data *execute_data;

	/* Frame on the bottom of the fiber vm stack. */
	zend_execute_data *stack_bottom;

	/* Active fiber vm stack. */
	zend_vm_stack vm_stack;

	/* Storage for fiber return value. */
	zval result;
};

/* These functions may be used to create custom fiber objects using the bundled fiber switching context. */
ZEND_API bool zend_fiber_init_context(zend_fiber_context *context, void *kind, zend_fiber_coroutine coroutine, size_t stack_size);
ZEND_API void zend_fiber_destroy_context(zend_fiber_context *context);
ZEND_API void zend_fiber_switch_context(zend_fiber_transfer *transfer);

ZEND_API void zend_fiber_switch_block(void);
ZEND_API void zend_fiber_switch_unblock(void);
ZEND_API bool zend_fiber_switch_blocked(void);

END_EXTERN_C()

static zend_always_inline zend_fiber *zend_fiber_from_context(zend_fiber_context *context)
{
	ZEND_ASSERT(context->kind == zend_ce_fiber && "Fiber context does not belong to a Zend fiber");

	return (zend_fiber *)(((char *) context) - XtOffsetOf(zend_fiber, context));
}

static zend_always_inline zend_fiber_context *zend_fiber_get_context(zend_fiber *fiber)
{
	return &fiber->context;
}

#endif

SILENT KILLER Tool