Lines Matching full:cif
35 ffi_raw_size (ffi_cif *cif)
40 ffi_type **at = cif->arg_types;
42 for (i = cif->nargs-1; i >= 0; i--, at++)
57 ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args)
60 ffi_type **tp = cif->arg_types;
64 for (i = 0; i < cif->nargs; i++, tp++, args++)
106 for (i = 0; i < cif->nargs; i++, tp++, args++)
129 ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw)
132 ffi_type **tp = cif->arg_types;
134 for (i = 0; i < cif->nargs; i++, tp++, args++)
191 void ffi_raw_call (ffi_cif *cif, void (*fn)(void), void *rvalue, ffi_raw *raw)
193 void **avalue = (void**) alloca (cif->nargs * sizeof (void*));
194 ffi_raw_to_ptrarray (cif, raw, avalue);
195 ffi_call (cif, fn, rvalue, avalue);
201 ffi_translate_args (ffi_cif *cif, void *rvalue,
204 ffi_raw *raw = (ffi_raw*)alloca (ffi_raw_size (cif));
207 ffi_ptrarray_to_raw (cif, avalue, raw);
208 (*cl->fun) (cif, rvalue, raw, cl->user_data);
213 ffi_cif *cif,
221 cif,
245 ffi_cif *cif,
249 return ffi_prep_raw_closure_loc (cl, cif, fun, user_data, cl);