Lines Matching refs:ecif
42 void ffi_prep_args(void* stack, extended_cif* ecif) in ffi_prep_args() argument
49 if (ecif == NULL || ecif->cif == NULL) { in ffi_prep_args()
53 p_argv = ecif->avalue; in ffi_prep_args()
55 if ((ecif->cif->rtype != NULL) && in ffi_prep_args()
56 (ecif->cif->rtype->type == FFI_TYPE_STRUCT)) in ffi_prep_args()
62 memcpy(addr, &(ecif->rvalue), WORD_SIZE); in ffi_prep_args()
66 if (ecif->avalue == NULL) { in ffi_prep_args()
70 for (i = 0, p_arg = ecif->cif->arg_types; i < ecif->cif->nargs; in ffi_prep_args()
153 extended_cif ecif; in ffi_call() local
154 ecif.cif = cif; in ffi_call()
155 ecif.avalue = avalue; in ffi_call()
160 ecif.rvalue = alloca(cif->rtype->size); in ffi_call()
162 ecif.rvalue = rvalue; in ffi_call()
168 ffi_call_SYSV(ffi_prep_args, &ecif, cif->bytes, cif->flags, in ffi_call()
169 ecif.rvalue, fn, cif->rtype->type, cif->rtype->size); in ffi_call()