Home | History | Annotate | Download | only in src

Lines Matching full:cif

88 ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
95 FFI_ASSERT(cif != NULL);
98 cif->abi = abi;
99 cif->arg_types = atypes;
100 cif->nargs = nargs;
101 cif->rtype = rtype;
103 cif->flags = 0;
106 if ((cif->rtype->size == 0) && (initialize_aggregate(cif->rtype) != FFI_OK))
110 FFI_ASSERT_VALID_TYPE(cif->rtype);
115 if (cif->rtype->type == FFI_TYPE_STRUCT
117 && (cif->abi != FFI_V9 || cif->rtype->size > 32)
120 && (cif->rtype->size > 8)
126 for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
140 && ((*ptr)->size > 16 || cif->abi != FFI_V9))
142 && cif->abi != FFI_V9))
156 cif->bytes = bytes;
158 /* Perform machine dependent cif processing */
159 return ffi_prep_cif_machdep(cif);
167 ffi_cif* cif,
171 return ffi_prep_closure_loc (closure, cif, fun, user_data, closure);