12 void** args,
void* userdata __UNUSED__)
14 *(
unsigned long long *)resp= 0xfffffffffffffffLL ^ *(
unsigned long long *)args[0];
16 printf(
"%" PRIuLL ": %" PRIuLL "\n",*(
unsigned long long *)args[0],
17 *(
unsigned long long *)(resp));
25 ffi_closure *pcl = ffi_closure_alloc(
sizeof(ffi_closure), &code);
26 ffi_type * cl_arg_types[2];
27 unsigned long long res;
29 cl_arg_types[0] = &ffi_type_uint64;
30 cl_arg_types[1] =
NULL;
34 &ffi_type_uint64, cl_arg_types) == FFI_OK);
38 printf(
"res: %" PRIdLL "\n", res);
43 printf(
"res: %" PRIdLL "\n", res);
static void cls_ret_ulonglong_fn(ffi_cif *cif __UNUSED__, void *resp, void **args, void *userdata __UNUSED__)
ffi_status ffi_prep_closure_loc(ffi_closure *closure, ffi_cif *cif, void(*fun)(ffi_cif *, void *, void **, void *), void *user_data, void *codeloc)
unsigned long long(* cls_ret_ulonglong)(unsigned long long)
ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs, ffi_type *rtype, ffi_type **atypes)