Lines Matching defs:sym

2284 	zend_ffi_symbol *sym = Z_PTR_P(zv);
2285 zend_ffi_type_dtor(sym->type);
2286 efree(sym);
2292 zend_ffi_symbol *sym = Z_PTR_P(zv);
2293 zend_ffi_type_dtor(sym->type);
2294 free(sym);
2397 zend_ffi_symbol *sym = NULL;
2400 sym = zend_hash_find_ptr(ffi->symbols, var_name);
2401 if (sym && sym->kind != ZEND_FFI_SYM_VAR && sym->kind != ZEND_FFI_SYM_CONST && sym->kind != ZEND_FFI_SYM_FUNC) {
2402 sym = NULL;
2405 if (!sym) {
2410 if (sym->kind == ZEND_FFI_SYM_VAR) {
2411 zend_ffi_cdata_to_zval(NULL, sym->addr, ZEND_FFI_TYPE(sym->type), read_type, rv, (zend_ffi_flags)sym->is_const, 0, 0);
2412 } else if (sym->kind == ZEND_FFI_SYM_FUNC) {
2420 new_type->pointer.type = ZEND_FFI_TYPE(sym->type);
2427 cdata->ptr_holder = sym->addr;
2431 ZVAL_LONG(rv, sym->value);
2441 zend_ffi_symbol *sym = NULL;
2444 sym = zend_hash_find_ptr(ffi->symbols, var_name);
2445 if (sym && sym->kind != ZEND_FFI_SYM_VAR) {
2446 sym = NULL;
2449 if (!sym) {
2454 if (sym->is_const) {
2459 zend_ffi_zval_to_cdata(sym->addr, ZEND_FFI_TYPE(sym->type), value);
2789 zend_ffi_symbol *sym = NULL;
2813 sym = zend_hash_find_ptr(ffi->symbols, name);
2814 if (sym && sym->kind != ZEND_FFI_SYM_FUNC) {
2815 sym = NULL;
2818 if (!sym) {
2823 type = ZEND_FFI_TYPE(sym->type);
2847 func->internal_function.reserved[1] = sym->addr;
2934 zend_ffi_symbol *sym;
2936 ZEND_HASH_FOREACH_STR_KEY_PTR(FFI_G(symbols), name, sym) {
2937 if (sym->kind == ZEND_FFI_SYM_VAR) {
2943 sym->addr = addr;
2944 } else if (sym->kind == ZEND_FFI_SYM_FUNC) {
2945 zend_string *mangled_name = zend_ffi_mangled_func_name(name, ZEND_FFI_TYPE(sym->type));
2953 sym->addr = addr;
3053 static int zend_ffi_same_symbols(zend_ffi_symbol *old, zend_ffi_symbol *sym) /* {{{ */
3055 if (old->kind != sym->kind || old->is_const != sym->is_const) {
3060 if (old->value != sym->value) {
3065 return zend_ffi_same_types(ZEND_FFI_TYPE(old->type), ZEND_FFI_TYPE(sym->type));
3123 zend_ffi_symbol *sym;
3127 ZEND_HASH_FOREACH_PTR(FFI_G(symbols), sym) {
3128 zend_ffi_subst_old_type(&sym->type, old, type);
3162 zend_ffi_symbol *sym;
3255 ZEND_HASH_FOREACH_STR_KEY_PTR(FFI_G(symbols), name, sym) {
3256 if (sym->kind == ZEND_FFI_SYM_VAR) {
3269 sym->addr = addr;
3270 } else if (sym->kind == ZEND_FFI_SYM_FUNC) {
3271 zend_string *mangled_name = zend_ffi_mangled_func_name(name, ZEND_FFI_TYPE(sym->type));
3286 sym->addr = addr;
3292 if (zend_ffi_same_symbols(old_sym, sym)) {
3293 if (ZEND_FFI_TYPE_IS_OWNED(sym->type)
3294 && ZEND_FFI_TYPE(old_sym->type) != ZEND_FFI_TYPE(sym->type)) {
3295 zend_ffi_type *type = ZEND_FFI_TYPE(sym->type);
3352 ZEND_HASH_FOREACH_STR_KEY_PTR(FFI_G(symbols), name, sym) {
3353 if (!zend_hash_add_ptr(scope->symbols, name, sym)) {
3354 zend_ffi_type_dtor(sym->type);
3355 free(sym);
3531 zend_ffi_symbol *sym;
3533 ZEND_HASH_FOREACH_STR_KEY_PTR(FFI_G(symbols), key, sym) {
3534 if (type == ZEND_FFI_TYPE(sym->type)) {
5366 zend_ffi_symbol *sym;
5370 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
5371 if (sym) {
5372 return (sym->kind == ZEND_FFI_SYM_TYPE);
5385 zend_ffi_symbol *sym;
5389 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
5390 if (sym && sym->kind == ZEND_FFI_SYM_TYPE) {
5391 dcl->type = ZEND_FFI_TYPE(sym->type);;
5392 if (sym->is_const) {
5409 zend_ffi_symbol *sym;
5417 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
5418 if (sym && sym->kind == ZEND_FFI_SYM_CONST) {
5419 val->i64 = sym->value;
5420 switch (sym->type->kind) {
5469 zend_ffi_symbol *sym;
5564 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
5565 if (sym) {
5568 sym = pemalloc(sizeof(zend_ffi_symbol), FFI_G(persistent));
5569 sym->kind = ZEND_FFI_SYM_CONST;
5570 sym->type = (zend_ffi_type*)sym_type;
5571 sym->value = value;
5572 zend_hash_str_add_new_ptr(FFI_G(symbols), name, name_len, sym);
6134 zend_ffi_symbol *sym;
6141 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
6142 if (sym) {
6144 && sym->kind == ZEND_FFI_SYM_TYPE
6145 && zend_ffi_is_same_type(ZEND_FFI_TYPE(sym->type), ZEND_FFI_TYPE(dcl->type))
6146 && sym->is_const == (zend_bool)(dcl->attr & ZEND_FFI_ATTR_CONST)) {
6155 if (sym->kind == ZEND_FFI_SYM_FUNC
6156 && zend_ffi_same_types(ZEND_FFI_TYPE(sym->type), type)) {
6162 if (sym->kind == ZEND_FFI_SYM_VAR
6163 && zend_ffi_is_same_type(ZEND_FFI_TYPE(sym->type), type)
6164 && sym->is_const == (zend_bool)(dcl->attr & ZEND_FFI_ATTR_CONST)) {
6190 sym = pemalloc(sizeof(zend_ffi_symbol), FFI_G(persistent));
6191 sym->kind = ZEND_FFI_SYM_TYPE;
6192 sym->type = dcl->type;
6193 sym->is_const = (zend_bool)(dcl->attr & ZEND_FFI_ATTR_CONST);
6195 zend_hash_str_add_new_ptr(FFI_G(symbols), name, name_len, sym);
6206 sym = pemalloc(sizeof(zend_ffi_symbol), FFI_G(persistent));
6207 sym->kind = (type->kind == ZEND_FFI_TYPE_FUNC) ? ZEND_FFI_SYM_FUNC : ZEND_FFI_SYM_VAR;
6208 sym->type = dcl->type;
6209 sym->is_const = (zend_bool)(dcl->attr & ZEND_FFI_ATTR_CONST);
6211 zend_hash_str_add_new_ptr(FFI_G(symbols), name, name_len, sym);