Lines Matching defs:sym

2297 	zend_ffi_symbol *sym = Z_PTR_P(zv);
2298 zend_ffi_type_dtor(sym->type);
2299 efree(sym);
2305 zend_ffi_symbol *sym = Z_PTR_P(zv);
2306 zend_ffi_type_dtor(sym->type);
2307 free(sym);
2418 zend_ffi_symbol *sym = NULL;
2421 sym = zend_hash_find_ptr(ffi->symbols, var_name);
2422 if (sym && sym->kind != ZEND_FFI_SYM_VAR && sym->kind != ZEND_FFI_SYM_CONST && sym->kind != ZEND_FFI_SYM_FUNC) {
2423 sym = NULL;
2426 if (!sym) {
2431 if (sym->kind == ZEND_FFI_SYM_VAR) {
2432 zend_ffi_cdata_to_zval(NULL, sym->addr, ZEND_FFI_TYPE(sym->type), read_type, rv, (zend_ffi_flags)sym->is_const, 0, 0);
2433 } else if (sym->kind == ZEND_FFI_SYM_FUNC) {
2441 new_type->pointer.type = ZEND_FFI_TYPE(sym->type);
2448 cdata->ptr_holder = sym->addr;
2452 ZVAL_LONG(rv, sym->value);
2462 zend_ffi_symbol *sym = NULL;
2465 sym = zend_hash_find_ptr(ffi->symbols, var_name);
2466 if (sym && sym->kind != ZEND_FFI_SYM_VAR) {
2467 sym = NULL;
2470 if (!sym) {
2475 if (sym->is_const) {
2480 zend_ffi_zval_to_cdata(sym->addr, ZEND_FFI_TYPE(sym->type), value);
2810 zend_ffi_symbol *sym = NULL;
2834 sym = zend_hash_find_ptr(ffi->symbols, name);
2835 if (sym && sym->kind != ZEND_FFI_SYM_FUNC) {
2836 sym = NULL;
2839 if (!sym) {
2844 type = ZEND_FFI_TYPE(sym->type);
2868 func->internal_function.reserved[1] = sym->addr;
2955 zend_ffi_symbol *sym;
2957 ZEND_HASH_FOREACH_STR_KEY_PTR(FFI_G(symbols), name, sym) {
2958 if (sym->kind == ZEND_FFI_SYM_VAR) {
2964 sym->addr = addr;
2965 } else if (sym->kind == ZEND_FFI_SYM_FUNC) {
2966 zend_string *mangled_name = zend_ffi_mangled_func_name(name, ZEND_FFI_TYPE(sym->type));
2974 sym->addr = addr;
3074 static int zend_ffi_same_symbols(zend_ffi_symbol *old, zend_ffi_symbol *sym) /* {{{ */
3076 if (old->kind != sym->kind || old->is_const != sym->is_const) {
3081 if (old->value != sym->value) {
3086 return zend_ffi_same_types(ZEND_FFI_TYPE(old->type), ZEND_FFI_TYPE(sym->type));
3144 zend_ffi_symbol *sym;
3148 ZEND_HASH_FOREACH_PTR(FFI_G(symbols), sym) {
3149 zend_ffi_subst_old_type(&sym->type, old, type);
3183 zend_ffi_symbol *sym;
3276 ZEND_HASH_FOREACH_STR_KEY_PTR(FFI_G(symbols), name, sym) {
3277 if (sym->kind == ZEND_FFI_SYM_VAR) {
3290 sym->addr = addr;
3291 } else if (sym->kind == ZEND_FFI_SYM_FUNC) {
3292 zend_string *mangled_name = zend_ffi_mangled_func_name(name, ZEND_FFI_TYPE(sym->type));
3307 sym->addr = addr;
3313 if (zend_ffi_same_symbols(old_sym, sym)) {
3314 if (ZEND_FFI_TYPE_IS_OWNED(sym->type)
3315 && ZEND_FFI_TYPE(old_sym->type) != ZEND_FFI_TYPE(sym->type)) {
3316 zend_ffi_type *type = ZEND_FFI_TYPE(sym->type);
3373 ZEND_HASH_FOREACH_STR_KEY_PTR(FFI_G(symbols), name, sym) {
3374 if (!zend_hash_add_ptr(scope->symbols, name, sym)) {
3375 zend_ffi_type_dtor(sym->type);
3376 free(sym);
3552 zend_ffi_symbol *sym;
3554 ZEND_HASH_FOREACH_STR_KEY_PTR(FFI_G(symbols), key, sym) {
3555 if (type == ZEND_FFI_TYPE(sym->type)) {
5722 zend_ffi_symbol *sym;
5726 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
5727 if (sym) {
5728 return (sym->kind == ZEND_FFI_SYM_TYPE);
5741 zend_ffi_symbol *sym;
5745 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
5746 if (sym && sym->kind == ZEND_FFI_SYM_TYPE) {
5747 dcl->type = ZEND_FFI_TYPE(sym->type);;
5748 if (sym->is_const) {
5765 zend_ffi_symbol *sym;
5773 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
5774 if (sym && sym->kind == ZEND_FFI_SYM_CONST) {
5775 val->i64 = sym->value;
5776 switch (sym->type->kind) {
5825 zend_ffi_symbol *sym;
5920 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
5921 if (sym) {
5924 sym = pemalloc(sizeof(zend_ffi_symbol), FFI_G(persistent));
5925 sym->kind = ZEND_FFI_SYM_CONST;
5926 sym->type = (zend_ffi_type*)sym_type;
5927 sym->value = value;
5928 zend_hash_str_add_new_ptr(FFI_G(symbols), name, name_len, sym);
6490 zend_ffi_symbol *sym;
6497 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
6498 if (sym) {
6500 && sym->kind == ZEND_FFI_SYM_TYPE
6501 && zend_ffi_is_same_type(ZEND_FFI_TYPE(sym->type), ZEND_FFI_TYPE(dcl->type))
6502 && sym->is_const == (bool)(dcl->attr & ZEND_FFI_ATTR_CONST)) {
6511 if (sym->kind == ZEND_FFI_SYM_FUNC
6512 && zend_ffi_same_types(ZEND_FFI_TYPE(sym->type), type)) {
6518 if (sym->kind == ZEND_FFI_SYM_VAR
6519 && zend_ffi_is_same_type(ZEND_FFI_TYPE(sym->type), type)
6520 && sym->is_const == (bool)(dcl->attr & ZEND_FFI_ATTR_CONST)) {
6546 sym = pemalloc(sizeof(zend_ffi_symbol), FFI_G(persistent));
6547 sym->kind = ZEND_FFI_SYM_TYPE;
6548 sym->type = dcl->type;
6549 sym->is_const = (bool)(dcl->attr & ZEND_FFI_ATTR_CONST);
6551 zend_hash_str_add_new_ptr(FFI_G(symbols), name, name_len, sym);
6562 sym = pemalloc(sizeof(zend_ffi_symbol), FFI_G(persistent));
6563 sym->kind = (type->kind == ZEND_FFI_TYPE_FUNC) ? ZEND_FFI_SYM_FUNC : ZEND_FFI_SYM_VAR;
6564 sym->type = dcl->type;
6565 sym->is_const = (bool)(dcl->attr & ZEND_FFI_ATTR_CONST);
6567 zend_hash_str_add_new_ptr(FFI_G(symbols), name, name_len, sym);