php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_observer.h File Reference
#include "zend.h"
#include "zend_compile.h"
#include "zend_fibers.h"

Go to the source code of this file.

Data Structures

struct  _zend_observer_fcall_handlers
 

Macros

#define ZEND_OBSERVER_HANDLE(function)
 
#define ZEND_OBSERVER_DATA(function)
 
#define ZEND_OBSERVER_NONE_OBSERVED   ((void *) 3)
 
#define ZEND_OBSERVER_ENABLED   (zend_observer_fcall_op_array_extension != -1)
 
#define ZEND_OBSERVER_FCALL_BEGIN(execute_data)
 
#define ZEND_OBSERVER_FCALL_END(execute_data, return_value)
 

Typedefs

typedef void(* zend_observer_fcall_begin_handler) (zend_execute_data *execute_data)
 
typedef void(* zend_observer_fcall_end_handler) (zend_execute_data *execute_data, zval *retval)
 
typedef struct _zend_observer_fcall_handlers zend_observer_fcall_handlers
 
typedef zend_observer_fcall_handlers(* zend_observer_fcall_init) (zend_execute_data *execute_data)
 
typedef void(* zend_observer_function_declared_cb) (zend_op_array *op_array, zend_string *name)
 
typedef void(* zend_observer_class_linked_cb) (zend_class_entry *ce, zend_string *name)
 
typedef void(* zend_observer_error_cb) (int type, zend_string *error_filename, uint32_t error_lineno, zend_string *message)
 
typedef void(* zend_observer_fiber_init_handler) (zend_fiber_context *initializing)
 
typedef void(* zend_observer_fiber_switch_handler) (zend_fiber_context *from, zend_fiber_context *to)
 
typedef void(* zend_observer_fiber_destroy_handler) (zend_fiber_context *destroying)
 

Functions

ZEND_API void zend_observer_fcall_register (zend_observer_fcall_init)
 
ZEND_API void zend_observer_add_begin_handler (zend_function *function, zend_observer_fcall_begin_handler begin)
 
ZEND_API bool zend_observer_remove_begin_handler (zend_function *function, zend_observer_fcall_begin_handler begin, zend_observer_fcall_begin_handler *next)
 
ZEND_API void zend_observer_add_end_handler (zend_function *function, zend_observer_fcall_end_handler end)
 
ZEND_API bool zend_observer_remove_end_handler (zend_function *function, zend_observer_fcall_end_handler end, zend_observer_fcall_end_handler *next)
 
ZEND_API void zend_observer_startup (void)
 
ZEND_API void zend_observer_post_startup (void)
 
ZEND_API void zend_observer_activate (void)
 
ZEND_API void zend_observer_shutdown (void)
 
ZEND_API void ZEND_FASTCALL zend_observer_fcall_begin (zend_execute_data *execute_data)
 
ZEND_API void ZEND_FASTCALL zend_observer_fcall_begin_prechecked (zend_execute_data *execute_data, zend_observer_fcall_begin_handler *observer_data)
 
ZEND_API void ZEND_FASTCALL zend_observer_generator_resume (zend_execute_data *execute_data)
 
ZEND_API void ZEND_FASTCALL zend_observer_fcall_end_prechecked (zend_execute_data *execute_data, zval *return_value)
 
ZEND_API void zend_observer_fcall_end_all (void)
 
ZEND_API void zend_observer_function_declared_register (zend_observer_function_declared_cb cb)
 
ZEND_API void ZEND_FASTCALL _zend_observer_function_declared_notify (zend_op_array *op_array, zend_string *name)
 
ZEND_API void zend_observer_class_linked_register (zend_observer_class_linked_cb cb)
 
ZEND_API void ZEND_FASTCALL _zend_observer_class_linked_notify (zend_class_entry *ce, zend_string *name)
 
ZEND_API void zend_observer_error_register (zend_observer_error_cb callback)
 
ZEND_API void _zend_observer_error_notify (int type, zend_string *error_filename, uint32_t error_lineno, zend_string *message)
 
ZEND_API void zend_observer_fiber_init_register (zend_observer_fiber_init_handler handler)
 
ZEND_API void zend_observer_fiber_switch_register (zend_observer_fiber_switch_handler handler)
 
ZEND_API void zend_observer_fiber_destroy_register (zend_observer_fiber_destroy_handler handler)
 
ZEND_API void ZEND_FASTCALL zend_observer_fiber_init_notify (zend_fiber_context *initializing)
 
ZEND_API void ZEND_FASTCALL zend_observer_fiber_switch_notify (zend_fiber_context *from, zend_fiber_context *to)
 
ZEND_API void ZEND_FASTCALL zend_observer_fiber_destroy_notify (zend_fiber_context *destroying)
 

Variables

ZEND_API int zend_observer_fcall_op_array_extension
 
ZEND_API int zend_observer_fcall_internal_function_extension
 
ZEND_API bool zend_observer_errors_observed
 
ZEND_API bool zend_observer_function_declared_observed
 
ZEND_API bool zend_observer_class_linked_observed
 

Macro Definition Documentation

◆ ZEND_OBSERVER_DATA

#define ZEND_OBSERVER_DATA ( function)
Value:
#define ZEND_OP_ARRAY_EXTENSION(op_array, handle)
#define ZEND_OBSERVER_HANDLE(function)
void(* zend_observer_fcall_begin_handler)(zend_execute_data *execute_data)
function(EX_VAR(opline->result.var))

Definition at line 39 of file zend_observer.h.

◆ ZEND_OBSERVER_ENABLED

#define ZEND_OBSERVER_ENABLED   (zend_observer_fcall_op_array_extension != -1)

Definition at line 47 of file zend_observer.h.

◆ ZEND_OBSERVER_FCALL_BEGIN

#define ZEND_OBSERVER_FCALL_BEGIN ( execute_data)
Value:
do { \
zend_observer_fcall_begin(execute_data); \
} \
} while (0)
#define ZEND_OBSERVER_ENABLED
execute_data

Definition at line 49 of file zend_observer.h.

◆ ZEND_OBSERVER_FCALL_END

ZEND_OBSERVER_FCALL_END ( execute_data,
return_value )
Value:
do { \
zend_observer_fcall_end(execute_data, return_value); \
} \
} while (0)
zval * return_value

Definition at line 55 of file zend_observer.h.

◆ ZEND_OBSERVER_HANDLE

#define ZEND_OBSERVER_HANDLE ( function)
Value:
zend_ffi_type * type
Definition ffi.c:3812
#define ZEND_USER_CODE(type)
int zend_observer_fcall_op_array_extension
int zend_observer_fcall_internal_function_extension

Definition at line 36 of file zend_observer.h.

◆ ZEND_OBSERVER_NONE_OBSERVED

#define ZEND_OBSERVER_NONE_OBSERVED   ((void *) 3)

Definition at line 44 of file zend_observer.h.

Typedef Documentation

◆ zend_observer_class_linked_cb

typedef void(* zend_observer_class_linked_cb) (zend_class_entry *ce, zend_string *name)

Definition at line 142 of file zend_observer.h.

◆ zend_observer_error_cb

typedef void(* zend_observer_error_cb) (int type, zend_string *error_filename, uint32_t error_lineno, zend_string *message)

Definition at line 152 of file zend_observer.h.

◆ zend_observer_fcall_begin_handler

typedef void(* zend_observer_fcall_begin_handler) (zend_execute_data *execute_data)

Definition at line 61 of file zend_observer.h.

◆ zend_observer_fcall_end_handler

typedef void(* zend_observer_fcall_end_handler) (zend_execute_data *execute_data, zval *retval)

Definition at line 62 of file zend_observer.h.

◆ zend_observer_fcall_handlers

◆ zend_observer_fcall_init

typedef zend_observer_fcall_handlers(* zend_observer_fcall_init) (zend_execute_data *execute_data)

Definition at line 70 of file zend_observer.h.

◆ zend_observer_fiber_destroy_handler

typedef void(* zend_observer_fiber_destroy_handler) (zend_fiber_context *destroying)

Definition at line 164 of file zend_observer.h.

◆ zend_observer_fiber_init_handler

typedef void(* zend_observer_fiber_init_handler) (zend_fiber_context *initializing)

Definition at line 162 of file zend_observer.h.

◆ zend_observer_fiber_switch_handler

typedef void(* zend_observer_fiber_switch_handler) (zend_fiber_context *from, zend_fiber_context *to)

Definition at line 163 of file zend_observer.h.

◆ zend_observer_function_declared_cb

typedef void(* zend_observer_function_declared_cb) (zend_op_array *op_array, zend_string *name)

Definition at line 132 of file zend_observer.h.

Function Documentation

◆ _zend_observer_class_linked_notify()

ZEND_API void ZEND_FASTCALL _zend_observer_class_linked_notify ( zend_class_entry * ce,
zend_string * name )

Definition at line 355 of file zend_observer.c.

◆ _zend_observer_error_notify()

ZEND_API void _zend_observer_error_notify ( int type,
zend_string * error_filename,
uint32_t error_lineno,
zend_string * message )

Definition at line 373 of file zend_observer.c.

◆ _zend_observer_function_declared_notify()

ZEND_API void ZEND_FASTCALL _zend_observer_function_declared_notify ( zend_op_array * op_array,
zend_string * name )

Definition at line 337 of file zend_observer.c.

◆ zend_observer_activate()

ZEND_API void zend_observer_activate ( void )

Definition at line 100 of file zend_observer.c.

◆ zend_observer_add_begin_handler()

ZEND_API void zend_observer_add_begin_handler ( zend_function * function,
zend_observer_fcall_begin_handler begin )

Definition at line 182 of file zend_observer.c.

◆ zend_observer_add_end_handler()

ZEND_API void zend_observer_add_end_handler ( zend_function * function,
zend_observer_fcall_end_handler end )

Definition at line 214 of file zend_observer.c.

◆ zend_observer_class_linked_register()

ZEND_API void zend_observer_class_linked_register ( zend_observer_class_linked_cb cb)

Definition at line 349 of file zend_observer.c.

◆ zend_observer_error_register()

ZEND_API void zend_observer_error_register ( zend_observer_error_cb callback)

Definition at line 367 of file zend_observer.c.

◆ zend_observer_fcall_begin()

ZEND_API void ZEND_FASTCALL zend_observer_fcall_begin ( zend_execute_data * execute_data)

Definition at line 288 of file zend_observer.c.

◆ zend_observer_fcall_begin_prechecked()

ZEND_API void ZEND_FASTCALL zend_observer_fcall_begin_prechecked ( zend_execute_data * execute_data,
zend_observer_fcall_begin_handler * observer_data )

Definition at line 257 of file zend_observer.c.

◆ zend_observer_fcall_end_all()

ZEND_API void zend_observer_fcall_end_all ( void )

Definition at line 319 of file zend_observer.c.

◆ zend_observer_fcall_end_prechecked()

ZEND_API void ZEND_FASTCALL zend_observer_fcall_end_prechecked ( zend_execute_data * execute_data,
zval * return_value )

Definition at line 313 of file zend_observer.c.

◆ zend_observer_fcall_register()

ZEND_API void zend_observer_fcall_register ( zend_observer_fcall_init init)

Definition at line 44 of file zend_observer.c.

◆ zend_observer_fiber_destroy_notify()

ZEND_API void ZEND_FASTCALL zend_observer_fiber_destroy_notify ( zend_fiber_context * destroying)

Definition at line 427 of file zend_observer.c.

◆ zend_observer_fiber_destroy_register()

ZEND_API void zend_observer_fiber_destroy_register ( zend_observer_fiber_destroy_handler handler)

Definition at line 391 of file zend_observer.c.

◆ zend_observer_fiber_init_notify()

ZEND_API void ZEND_FASTCALL zend_observer_fiber_init_notify ( zend_fiber_context * initializing)

Definition at line 396 of file zend_observer.c.

◆ zend_observer_fiber_init_register()

ZEND_API void zend_observer_fiber_init_register ( zend_observer_fiber_init_handler handler)

Definition at line 381 of file zend_observer.c.

◆ zend_observer_fiber_switch_notify()

ZEND_API void ZEND_FASTCALL zend_observer_fiber_switch_notify ( zend_fiber_context * from,
zend_fiber_context * to )

Definition at line 409 of file zend_observer.c.

◆ zend_observer_fiber_switch_register()

ZEND_API void zend_observer_fiber_switch_register ( zend_observer_fiber_switch_handler handler)

Definition at line 386 of file zend_observer.c.

◆ zend_observer_function_declared_register()

ZEND_API void zend_observer_function_declared_register ( zend_observer_function_declared_cb cb)

Definition at line 331 of file zend_observer.c.

◆ zend_observer_generator_resume()

ZEND_API void ZEND_FASTCALL zend_observer_generator_resume ( zend_execute_data * execute_data)

Definition at line 283 of file zend_observer.c.

◆ zend_observer_post_startup()

ZEND_API void zend_observer_post_startup ( void )

Definition at line 64 of file zend_observer.c.

◆ zend_observer_remove_begin_handler()

ZEND_API bool zend_observer_remove_begin_handler ( zend_function * function,
zend_observer_fcall_begin_handler begin,
zend_observer_fcall_begin_handler * next )

Definition at line 199 of file zend_observer.c.

◆ zend_observer_remove_end_handler()

ZEND_API bool zend_observer_remove_end_handler ( zend_function * function,
zend_observer_fcall_end_handler end,
zend_observer_fcall_end_handler * next )

Definition at line 229 of file zend_observer.c.

◆ zend_observer_shutdown()

ZEND_API void zend_observer_shutdown ( void )

Definition at line 105 of file zend_observer.c.

◆ zend_observer_startup()

ZEND_API void zend_observer_startup ( void )

Definition at line 50 of file zend_observer.c.

Variable Documentation

◆ zend_observer_class_linked_observed

ZEND_API bool zend_observer_class_linked_observed
extern

Definition at line 41 of file zend_observer.c.

◆ zend_observer_errors_observed

ZEND_API bool zend_observer_errors_observed
extern

Definition at line 39 of file zend_observer.c.

◆ zend_observer_fcall_internal_function_extension

ZEND_API int zend_observer_fcall_internal_function_extension
extern

Definition at line 38 of file zend_observer.c.

◆ zend_observer_fcall_op_array_extension

ZEND_API int zend_observer_fcall_op_array_extension
extern

Definition at line 37 of file zend_observer.c.

◆ zend_observer_function_declared_observed

ZEND_API bool zend_observer_function_declared_observed
extern

Definition at line 40 of file zend_observer.c.