|
Z_PARAM_OPTIONAL | ZEND_PARSE_PARAMETERS_END () |
|
| if (lib) |
|
| FFI_G (symbols) = NULL |
|
| FFI_G (tags) = NULL |
|
| if (code &&ZSTR_LEN(code)) |
|
| if (CG(compiler_options) &ZEND_COMPILE_PRELOAD_IN_CHILD) |
|
| if (ffi) |
|
| if (FFI_G(scopes)) |
|
| if (!scope) |
|
void | zend_ffi_cleanup_dcl (zend_ffi_dcl *dcl) |
|
void | zend_ffi_validate_type_name (zend_ffi_dcl *dcl) |
|
| if (is_static_call) |
|
| if (persistent) |
|
| if (type_def) |
|
| if (ZEND_FFI_TYPE_IS_OWNED(type)) |
|
| if (type->size==0) |
|
| memset (ptr, 0, type->size) |
|
| if (type->kind< ZEND_FFI_TYPE_POINTER) |
|
| if (is_const) |
|
| Z_PARAM_OBJECT_OF_CLASS_EX (zv, zend_ffi_cdata_ce, 0, 1) |
|
| if (ZEND_FFI_TYPE(cdata->type) ->kind==ZEND_FFI_TYPE_POINTER) |
|
else | if (!(cdata->flags &ZEND_FFI_FLAG_OWNED)) |
|
| ZVAL_DEREF (zv) |
|
| if (Z_TYPE_P(zv) !=IS_OBJECT||Z_OBJCE_P(zv) !=zend_ffi_cdata_ce) |
|
| if (old_type->kind==ZEND_FFI_TYPE_POINTER &&type->kind !=ZEND_FFI_TYPE_POINTER &&ZEND_FFI_TYPE(old_type->pointer.type) ->kind==ZEND_FFI_TYPE_VOID) |
|
else | if (type->size > old_type->size) |
|
else | if (ptr !=&old_cdata->ptr_holder) |
|
| if (old_cdata->flags &ZEND_FFI_FLAG_OWNED) |
|
| Z_PARAM_STR (type_def) |
|
| FFI_G (default_type_attr)=0 |
|
| if (zend_ffi_parse_type(ZSTR_VAL(type_def), ZSTR_LEN(type_def), &dcl)==FAILURE) |
|
| if (clean_tags &&FFI_G(tags)) |
|
| if (clean_symbols &&FFI_G(symbols)) |
|
| Z_PARAM_ZVAL (zv) |
|
| if (Z_TYPE_P(zv)==IS_OBJECT &&Z_OBJCE_P(zv)==zend_ffi_cdata_ce) |
|
| RETURN_THROWS () |
|
else | if (type->attr &ZEND_FFI_ATTR_INCOMPLETE_TAG) |
|
| if (ZEND_FFI_TYPE_IS_OWNED(ctype->type)) |
|
| ZEND_HASH_REVERSE_FOREACH_VAL (dims, val) |
|
| ZEND_HASH_FOREACH_END () |
|
| if (GC_REFCOUNT(&cdata->std)==1 &&Z_REFCOUNT_P(arg)==1 &&type->kind==ZEND_FFI_TYPE_POINTER &&cdata->ptr==&cdata->ptr_holder) |
|
| RETURN_LONG (type->size) |
|
| Z_PARAM_OBJECT_OF_CLASS_EX (zv1, zend_ffi_cdata_ce, 0, 1) |
|
| if (type1->kind==ZEND_FFI_TYPE_POINTER) |
|
| if (type1->kind !=ZEND_FFI_TYPE_POINTER &&size > type1->size) |
|
| ZVAL_DEREF (zv2) |
|
| if (Z_TYPE_P(zv2)==IS_STRING) |
|
| memcpy (ptr1, ptr2, size) |
|
| Z_PARAM_ZVAL (zv1) |
|
| Z_PARAM_ZVAL (zv2) |
|
| ZVAL_DEREF (zv1) |
|
| if (Z_TYPE_P(zv1)==IS_STRING) |
|
| if (ret==0) |
|
| if (type->kind !=ZEND_FFI_TYPE_POINTER &&size > type->size) |
|
| memset (ptr, ch, size) |
|
| if (type->kind !=ZEND_FFI_TYPE_POINTER) |
|
| if (zend_parse_parameters_none()==FAILURE) |
|
| if (!zend_ffi_ctype_name(&buf, ZEND_FFI_TYPE(ctype->type))) |
|
| RETURN_STR (res) |
|
| RETURN_LONG (type->enumeration.kind) |
|
| RETURN_LONG (type->array.length) |
|
| RETVAL_ARR (ht) |
|
| zend_hash_next_index_insert_new (ht, &zv) |
|
| RETURN_LONG (ptr->offset) |
|
| RETURN_LONG (type->func.abi) |
|
| RETURN_LONG (type->func.args ? zend_hash_num_elements(type->func.args) :0) |
|
| if (!type->func.args) |
|
| ZEND_MINIT_FUNCTION (ffi) |
|
| ZEND_RSHUTDOWN_FUNCTION (ffi) |
|
| ZEND_MINFO_FUNCTION (ffi) |
|
void | zend_ffi_parser_error (const char *format,...) |
|
bool | zend_ffi_is_typedef_name (const char *name, size_t name_len) |
|
void | zend_ffi_resolve_typedef (const char *name, size_t name_len, zend_ffi_dcl *dcl) |
|
void | zend_ffi_resolve_const (const char *name, size_t name_len, zend_ffi_val *val) |
|
void | zend_ffi_make_enum_type (zend_ffi_dcl *dcl) |
|
void | zend_ffi_add_enum_val (zend_ffi_dcl *enum_dcl, const char *name, size_t name_len, zend_ffi_val *val, int64_t *min, int64_t *max, int64_t *last) |
|
void | zend_ffi_make_struct_type (zend_ffi_dcl *dcl) |
|
void | zend_ffi_add_field (zend_ffi_dcl *struct_dcl, const char *name, size_t name_len, zend_ffi_dcl *field_dcl) |
|
void | zend_ffi_add_anonymous_field (zend_ffi_dcl *struct_dcl, zend_ffi_dcl *field_dcl) |
|
void | zend_ffi_add_bit_field (zend_ffi_dcl *struct_dcl, const char *name, size_t name_len, zend_ffi_dcl *field_dcl, zend_ffi_val *bits) |
|
void | zend_ffi_adjust_struct_size (zend_ffi_dcl *dcl) |
|
void | zend_ffi_make_pointer_type (zend_ffi_dcl *dcl) |
|
void | zend_ffi_make_array_type (zend_ffi_dcl *dcl, zend_ffi_val *len) |
|
void | zend_ffi_make_func_type (zend_ffi_dcl *dcl, HashTable *args, zend_ffi_dcl *nested_dcl) |
|
void | zend_ffi_add_arg (HashTable **args, const char *name, size_t name_len, zend_ffi_dcl *arg_dcl) |
|
void | zend_ffi_declare (const char *name, size_t name_len, zend_ffi_dcl *dcl) |
|
void | zend_ffi_declare_tag (const char *name, size_t name_len, zend_ffi_dcl *dcl, bool incomplete) |
|
void | zend_ffi_set_abi (zend_ffi_dcl *dcl, uint16_t abi) |
|
void | zend_ffi_add_attribute (zend_ffi_dcl *dcl, const char *name, size_t name_len) |
|
void | zend_ffi_add_attribute_value (zend_ffi_dcl *dcl, const char *name, size_t name_len, int n, zend_ffi_val *val) |
|
void | zend_ffi_add_msvc_attribute_value (zend_ffi_dcl *dcl, const char *name, size_t name_len, zend_ffi_val *val) |
|
void | zend_ffi_nested_declaration (zend_ffi_dcl *dcl, zend_ffi_dcl *nested_dcl) |
|
void | zend_ffi_align_as_type (zend_ffi_dcl *dcl, zend_ffi_dcl *align_dcl) |
|
void | zend_ffi_align_as_val (zend_ffi_dcl *dcl, zend_ffi_val *align_val) |
|
void | zend_ffi_expr_conditional (zend_ffi_val *val, zend_ffi_val *op2, zend_ffi_val *op3) |
|
void | zend_ffi_expr_bool_or (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_bool_and (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_bw_or (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_bw_xor (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_bw_and (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_is_equal (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_is_not_equal (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_is_less (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_is_greater (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_is_less_or_equal (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_is_greater_or_equal (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_shift_left (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_shift_right (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_add (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_sub (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_mul (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_div (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_mod (zend_ffi_val *val, zend_ffi_val *op2) |
|
void | zend_ffi_expr_cast (zend_ffi_val *val, zend_ffi_dcl *dcl) |
|
void | zend_ffi_expr_plus (zend_ffi_val *val) |
|
void | zend_ffi_expr_neg (zend_ffi_val *val) |
|
void | zend_ffi_expr_bw_not (zend_ffi_val *val) |
|
void | zend_ffi_expr_bool_not (zend_ffi_val *val) |
|
void | zend_ffi_expr_sizeof_val (zend_ffi_val *val) |
|
void | zend_ffi_expr_sizeof_type (zend_ffi_val *val, zend_ffi_dcl *dcl) |
|
void | zend_ffi_expr_alignof_val (zend_ffi_val *val) |
|
void | zend_ffi_expr_alignof_type (zend_ffi_val *val, zend_ffi_dcl *dcl) |
|
void | zend_ffi_val_number (zend_ffi_val *val, int base, const char *str, size_t str_len) |
|
void | zend_ffi_val_float_number (zend_ffi_val *val, const char *str, size_t str_len) |
|
void | zend_ffi_val_string (zend_ffi_val *val, const char *str, size_t str_len) |
|
void | zend_ffi_val_character (zend_ffi_val *val, const char *str, size_t str_len) |
|