compile-r7rs/snow/retropikzel/pffi/chibi/pffi.c

1422 lines
64 KiB
C

/* Automatically generated by chibi-ffi; version: 0.5 */
#include <chibi/eval.h>
#include <stdint.h>
#include <dlfcn.h>
#include <ffi.h>
int size_of_int8_t() { return sizeof(int8_t); }
int size_of_uint8_t() { return sizeof(uint8_t); }
int size_of_int16_t() { return sizeof(int16_t); }
int size_of_uint16_t() { return sizeof(uint16_t); }
int size_of_int32_t() { return sizeof(int32_t); }
int size_of_uint32_t() { return sizeof(uint32_t); }
int size_of_int64_t() { return sizeof(int64_t); }
int size_of_uint64_t() { return sizeof(uint64_t); }
int size_of_char() { return sizeof(char); }
int size_of_unsigned_char() { return sizeof(unsigned char); }
int size_of_short() { return sizeof(short); }
int size_of_unsigned_short() { return sizeof(unsigned short); }
int size_of_int() { return sizeof(int); }
int size_of_unsigned_int() { return sizeof(unsigned int); }
int size_of_long() { return sizeof(long); }
int size_of_unsigned_long() { return sizeof(unsigned long); }
int size_of_float() { return sizeof(float); }
int size_of_double() { return sizeof(double); }
int size_of_pointer() { return sizeof(void*); }
void* pointer_null() { return NULL; }
int is_pointer_null(void* pointer) { if(pointer == NULL) { return 1; } else { return 0; }; }
void* pointer_allocate(int size) { return malloc(size); }
sexp is_pointer(struct sexp_struct* object) {
if(sexp_cpointerp(object)) {
return SEXP_TRUE;
} else {
return SEXP_FALSE;
}
}
intptr_t pointer_address(struct sexp_struct* pointer) {
return (intptr_t)&sexp_cpointer_value(pointer);
}
void pointer_free(void* pointer) { free(pointer); }
void pointer_set_c_int8_t(void* pointer, int offset, int8_t value) { *(int8_t*)((char*)pointer + offset) = value; }
void pointer_set_c_uint8_t(void* pointer, int offset, uint8_t value) { *(uint8_t*)((char*)pointer + offset) = value; }
void pointer_set_c_int16_t(void* pointer, int offset, int16_t value) { *(int16_t*)((char*)pointer + offset) = value; }
void pointer_set_c_uint16_t(void* pointer, int offset, uint16_t value) { *(uint16_t*)((char*)pointer + offset) = value; }
void pointer_set_c_int32_t(void* pointer, int offset, int32_t value) { *(int32_t*)((char*)pointer + offset) = value; }
void pointer_set_c_uint32_t(void* pointer, int offset, uint32_t value) { *(uint32_t*)((char*)pointer + offset) = value; }
void pointer_set_c_int64_t(void* pointer, int offset, int64_t value) { *(int64_t*)((char*)pointer + offset) = value; }
void pointer_set_c_uint64_t(void* pointer, int offset, uint64_t value) { *(uint64_t*)((char*)pointer + offset) = value; }
void pointer_set_c_char(void* pointer, int offset, char value) { *((char*)pointer + offset) = value; }
void pointer_set_c_unsigned_char(void* pointer, int offset, unsigned char value) { *(unsigned char*)((char*)pointer + offset) = value; }
void pointer_set_c_short(void* pointer, int offset, short value) { *(short*)((char*)pointer + offset) = value; }
void pointer_set_c_unsigned_short(void* pointer, int offset, unsigned short value) { *(unsigned short*)((char*)pointer + offset) = value; }
void pointer_set_c_int(void* pointer, int offset, int value) { *(int*)((char*)pointer + offset) = value; }
void pointer_set_c_unsigned_int(void* pointer, int offset, unsigned int value) { *(unsigned int*)((char*)pointer + offset) = value; }
void pointer_set_c_long(void* pointer, int offset, long value) { *(long*)((char*)pointer + offset) = value; }
void pointer_set_c_unsigned_long(void* pointer, int offset, unsigned long value) { *(unsigned long*)((char*)pointer + offset) = value; }
void pointer_set_c_float(void* pointer, int offset, float value) { *(float*)((char*)pointer + offset) = value; }
void pointer_set_c_double(void* pointer, int offset, double value) { *(double*)((char*)pointer + offset) = value; }
void pointer_set_c_pointer(void* pointer, int offset, void* value) { char* p = (char*)pointer + offset; *(char**)p = value; }
int8_t pointer_ref_c_int8_t(void* pointer, int offset) { return *(int8_t*)((char*)pointer + offset); }
uint8_t pointer_ref_c_uint8_t(void* pointer, int offset) { return *(uint8_t*)((char*)pointer + offset); }
int16_t pointer_ref_c_int16_t(void* pointer, int offset) { return *(int16_t*)((char*)pointer + offset); }
uint16_t pointer_ref_c_uint16_t(void* pointer, int offset) { return *(uint16_t*)((char*)pointer + offset); }
int32_t pointer_ref_c_int32_t(void* pointer, int offset) { return *(int32_t*)((char*)pointer + offset); }
uint32_t pointer_ref_c_uint32_t(void* pointer, int offset) { return *(uint32_t*)((char*)pointer + offset); }
int64_t pointer_ref_c_int64_t(void* pointer, int offset) { return *(int64_t*)((char*)pointer + offset); }
uint64_t pointer_ref_c_uint64_t(void* pointer, int offset) { return *(uint64_t*)((char*)pointer + offset); }
char pointer_ref_c_char(void* pointer, int offset) { return *(char*)((char*)pointer + offset); }
unsigned char pointer_ref_c_unsigned_char(void* pointer, int offset) { return *(unsigned char*)((char*)pointer + offset); }
short pointer_ref_c_short(void* pointer, int offset) { return *(short*)((char*)pointer + offset); }
unsigned short pointer_ref_c_unsigned_short(void* pointer, int offset) { return *(unsigned short*)((char*)pointer + offset); }
int pointer_ref_c_int(void* pointer, int offset) { return *(int*)((char*)pointer + offset); }
unsigned int pointer_ref_c_unsigned_int(void* pointer, int offset) { return *(unsigned int*)((char*)pointer + offset); }
long pointer_ref_c_long(void* pointer, int offset) { return *(long*)((char*)pointer + offset); }
unsigned long pointer_ref_c_unsigned_long(void* pointer, int offset) { return *(unsigned long*)((char*)pointer + offset); }
float pointer_ref_c_float(void* pointer, int offset) { return *(float*)((char*)pointer + offset); }
double pointer_ref_c_double(void* pointer, int offset) { return *(double*)((char*)pointer + offset); }
void* pointer_ref_c_pointer(void* pointer, int offset) { char* p = (char*)pointer + offset; return *(char**)p; }
ffi_cif cif;
void* get_ffi_type_int8() { return &ffi_type_sint8; }
void* get_ffi_type_uint8() { return &ffi_type_uint8; }
void* get_ffi_type_int16() { return &ffi_type_sint16; }
void* get_ffi_type_uint16() { return &ffi_type_uint16; }
void* get_ffi_type_int32() { return &ffi_type_sint32; }
void* get_ffi_type_uint32() { return &ffi_type_uint32; }
void* get_ffi_type_int64() { return &ffi_type_sint64; }
void* get_ffi_type_uint64() { return &ffi_type_uint64; }
void* get_ffi_type_char() { return &ffi_type_schar; }
void* get_ffi_type_uchar() { return &ffi_type_uchar; }
void* get_ffi_type_short() { return &ffi_type_sshort; }
void* get_ffi_type_ushort() { return &ffi_type_ushort; }
void* get_ffi_type_int() { return &ffi_type_sint; }
void* get_ffi_type_uint() { return &ffi_type_uint; }
void* get_ffi_type_long() { return &ffi_type_slong; }
void* get_ffi_type_ulong() { return &ffi_type_ulong; }
void* get_ffi_type_float() { return &ffi_type_float; }
void* get_ffi_type_double() { return &ffi_type_double; }
void* get_ffi_type_void() { return &ffi_type_void; }
void* get_ffi_type_pointer() { return &ffi_type_pointer; }
int internal_ffi_prep_cif(unsigned int nargs, void* rtype, void* atypes[]) {
printf("A1: %u, A2: %u, nargs: %u\n", &ffi_type_pointer, atypes[0], nargs);
return ffi_prep_cif(&cif, FFI_DEFAULT_ABI, nargs, (ffi_type*)rtype, (ffi_type**)atypes);
}
void internal_ffi_call(unsigned int nargs, void* rtype, void** atypes, void* fn, void* rvalue, struct sexp_struct* avalues[]) {
ffi_prep_cif(&cif, FFI_DEFAULT_ABI, nargs, (ffi_type*)rtype, (ffi_type**)atypes);
void* c_avalues[nargs];
for(int i = 0; i < nargs; i++) {
c_avalues[i] = sexp_cpointer_value(avalues[i]);
}
ffi_call(&cif, FFI_FN(fn), rvalue, c_avalues);
}
void* scheme_procedure_to_pointer(sexp proc) {
if(sexp_procedurep(proc) == 1) {
return 0; //&sexp_unbox_fixnum(proc);
} else {
printf("NOT A FUNCTION\n");
}
return (void*)proc;
}
/*
types: ()
enums: ()
*/
sexp sexp_scheme_procedure_to_pointer_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0) {
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, scheme_procedure_to_pointer(arg0), SEXP_FALSE, 0);
return res;
}
sexp sexp_internal_ffi_call_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2, sexp arg3, sexp arg4, sexp arg5) {
int i = 0;
void* *tmp2;
sexp *tmp5;
sexp res;
if (! sexp_exact_integerp(arg0))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg0);
if (! (sexp_pointerp(arg1) && (sexp_pointer_tag(arg1) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg1);
for (res=arg2; sexp_pairp(res); res=sexp_cdr(res))
if (! (sexp_pointerp(sexp_car(res)) && (sexp_pointer_tag(sexp_car(res)) == SEXP_CPOINTER)))
return sexp_xtype_exception(ctx, self, "not a list of void*s", arg2);
if (! sexp_nullp(res))
return sexp_xtype_exception(ctx, self, "not a list of void*s", arg2);
if (! (sexp_pointerp(arg3) && (sexp_pointer_tag(arg3) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg3);
if (! (sexp_pointerp(arg4) && (sexp_pointer_tag(arg4) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg4);
for (res=arg5; sexp_pairp(res); res=sexp_cdr(res))
if (! 1)
return sexp_xtype_exception(ctx, self, "not a list of sexps", arg5);
if (! sexp_nullp(res))
return sexp_xtype_exception(ctx, self, "not a list of sexps", arg5);
tmp2 = (void**) calloc((sexp_unbox_fixnum(sexp_length(ctx, arg2))+1), sizeof(tmp2[0]));
for (i=0, res=arg2; sexp_pairp(res); res=sexp_cdr(res), i++) {
tmp2[i] = (void*)sexp_cpointer_value(sexp_car(res));
}
tmp2[i] = 0;
tmp5 = (sexp*) calloc((sexp_unbox_fixnum(sexp_length(ctx, arg5))+1), sizeof(tmp5[0]));
for (i=0, res=arg5; sexp_pairp(res); res=sexp_cdr(res), i++) {
tmp5[i] = sexp_car(res);
}
tmp5[i] = 0;
res = ((internal_ffi_call(sexp_uint_value(arg0), (void**)sexp_cpointer_value(arg1), tmp2, (void**)sexp_cpointer_value(arg3), (void**)sexp_cpointer_value(arg4), tmp5)), SEXP_VOID);
free(tmp2);
free(tmp5);
return res;
}
sexp sexp_internal_ffi_prep_cif_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
int i = 0;
void* *tmp2;
sexp res;
if (! sexp_exact_integerp(arg0))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg0);
if (! (sexp_pointerp(arg1) && (sexp_pointer_tag(arg1) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg1);
for (res=arg2; sexp_pairp(res); res=sexp_cdr(res))
if (! (sexp_pointerp(sexp_car(res)) && (sexp_pointer_tag(sexp_car(res)) == SEXP_CPOINTER)))
return sexp_xtype_exception(ctx, self, "not a list of void*s", arg2);
if (! sexp_nullp(res))
return sexp_xtype_exception(ctx, self, "not a list of void*s", arg2);
tmp2 = (void**) calloc((sexp_unbox_fixnum(sexp_length(ctx, arg2))+1), sizeof(tmp2[0]));
for (i=0, res=arg2; sexp_pairp(res); res=sexp_cdr(res), i++) {
tmp2[i] = (void*)sexp_cpointer_value(sexp_car(res));
}
tmp2[i] = 0;
res = sexp_make_integer(ctx, internal_ffi_prep_cif(sexp_uint_value(arg0), (void**)sexp_cpointer_value(arg1), tmp2));
free(tmp2);
return res;
}
sexp sexp_get_ffi_type_pointer_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_pointer(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_void_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_void(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_double_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_double(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_float_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_float(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_ulong_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_ulong(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_long_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_long(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_uint_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_uint(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_int_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_int(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_ushort_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_ushort(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_short_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_short(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_uchar_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_uchar(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_char_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_char(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_uint64_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_uint64(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_int64_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_int64(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_uint32_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_uint32(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_int32_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_int32(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_uint16_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_uint16(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_int16_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_int16(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_uint8_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_uint8(), SEXP_FALSE, 0);
return res;
}
sexp sexp_get_ffi_type_int8_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, get_ffi_type_int8(), SEXP_FALSE, 0);
return res;
}
sexp sexp_dlsym_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
void* *tmp;
sexp res;
if (! ((sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)) || sexp_not(arg0)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_stringp(arg1))
return sexp_type_exception(ctx, self, SEXP_STRING, arg1);
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, dlsym((void**)sexp_cpointer_maybe_null_value(arg0), sexp_string_data(arg1)), SEXP_FALSE, 0);
return res;
}
sexp sexp_pointer_ref_c_pointer_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
void* *tmp;
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, pointer_ref_c_pointer((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)), SEXP_FALSE, 0);
return res;
}
sexp sexp_pointer_ref_c_double_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_flonum(ctx, pointer_ref_c_double((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_float_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_flonum(ctx, pointer_ref_c_float((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_unsigned_long_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_unsigned_integer(ctx, pointer_ref_c_unsigned_long((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_long_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_integer(ctx, pointer_ref_c_long((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_unsigned_int_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_unsigned_integer(ctx, pointer_ref_c_unsigned_int((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_int_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_integer(ctx, pointer_ref_c_int((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_unsigned_short_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_unsigned_integer(ctx, pointer_ref_c_unsigned_short((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_short_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_integer(ctx, pointer_ref_c_short((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_unsigned_char_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_unsigned_integer(ctx, pointer_ref_c_unsigned_char((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_char_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_character(pointer_ref_c_char((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_uint64_t_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_unsigned_integer(ctx, pointer_ref_c_uint64_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_int64_t_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_integer(ctx, pointer_ref_c_int64_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_uint32_t_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_unsigned_integer(ctx, pointer_ref_c_uint32_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_int32_t_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_integer(ctx, pointer_ref_c_int32_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_uint16_t_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_unsigned_integer(ctx, pointer_ref_c_uint16_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_int16_t_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_integer(ctx, pointer_ref_c_int16_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_uint8_t_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_unsigned_integer(ctx, pointer_ref_c_uint8_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_ref_c_int8_t_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_integer(ctx, pointer_ref_c_int8_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1)));
return res;
}
sexp sexp_pointer_set_c_pointer_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! ((sexp_pointerp(arg2) && (sexp_pointer_tag(arg2) == SEXP_CPOINTER)) || sexp_not(arg2)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg2);
res = ((pointer_set_c_pointer((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), (void**)sexp_cpointer_maybe_null_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_double_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_flonump(arg2))
return sexp_type_exception(ctx, self, SEXP_FLONUM, arg2);
res = ((pointer_set_c_double((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_flonum_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_float_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_flonump(arg2))
return sexp_type_exception(ctx, self, SEXP_FLONUM, arg2);
res = ((pointer_set_c_float((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_flonum_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_unsigned_long_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_unsigned_long((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_uint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_long_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_long((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_sint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_unsigned_int_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_unsigned_int((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_uint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_int_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_int((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_sint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_unsigned_short_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_unsigned_short((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_uint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_short_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_short((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_sint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_unsigned_char_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_unsigned_char((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_uint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_char_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_charp(arg2))
return sexp_type_exception(ctx, self, SEXP_CHAR, arg2);
res = ((pointer_set_c_char((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_unbox_character(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_uint64_t_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_uint64_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_uint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_int64_t_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_int64_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_sint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_uint32_t_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_uint32_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_uint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_int32_t_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_int32_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_sint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_uint16_t_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_uint16_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_uint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_int16_t_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_int16_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_sint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_uint8_t_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_uint8_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_uint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_set_c_int8_t_x_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1, sexp arg2) {
sexp res;
if (! (sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
if (! sexp_exact_integerp(arg2))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg2);
res = ((pointer_set_c_int8_t((void**)sexp_cpointer_value(arg0), sexp_sint_value(arg1), sexp_sint_value(arg2))), SEXP_VOID);
return res;
}
sexp sexp_pointer_free_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0) {
sexp res;
if (! ((sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)) || sexp_not(arg0)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
res = ((pointer_free((void**)sexp_cpointer_maybe_null_value(arg0))), SEXP_VOID);
return res;
}
sexp sexp_pointer_address_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0) {
sexp res;
res = sexp_make_unsigned_integer(ctx, pointer_address(arg0));
return res;
}
sexp sexp_pointer_p_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0) {
sexp res;
res = is_pointer(arg0);
return res;
}
sexp sexp_pointer_allocate_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0) {
void* *tmp;
sexp res;
if (! sexp_exact_integerp(arg0))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg0);
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, pointer_allocate(sexp_sint_value(arg0)), SEXP_FALSE, 0);
return res;
}
sexp sexp_is_pointer_null_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0) {
sexp res;
if (! ((sexp_pointerp(arg0) && (sexp_pointer_tag(arg0) == SEXP_CPOINTER)) || sexp_not(arg0)))
return sexp_type_exception(ctx, self, SEXP_CPOINTER, arg0);
res = sexp_make_boolean(is_pointer_null((void**)sexp_cpointer_maybe_null_value(arg0)));
return res;
}
sexp sexp_pointer_null_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, pointer_null(), SEXP_FALSE, 0);
return res;
}
sexp sexp_dlerror_stub (sexp ctx, sexp self, sexp_sint_t n) {
void* *tmp;
sexp res;
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, dlerror(), SEXP_FALSE, 0);
return res;
}
sexp sexp_dlopen_stub (sexp ctx, sexp self, sexp_sint_t n, sexp arg0, sexp arg1) {
void* *tmp;
sexp res;
if (! sexp_stringp(arg0))
return sexp_type_exception(ctx, self, SEXP_STRING, arg0);
if (! sexp_exact_integerp(arg1))
return sexp_type_exception(ctx, self, SEXP_FIXNUM, arg1);
res = sexp_make_cpointer(ctx, SEXP_CPOINTER, dlopen(sexp_string_data(arg0), sexp_sint_value(arg1)), SEXP_FALSE, 0);
return res;
}
sexp sexp_size_of_pointer_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_pointer());
return res;
}
sexp sexp_size_of_double_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_double());
return res;
}
sexp sexp_size_of_float_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_float());
return res;
}
sexp sexp_size_of_unsigned_long_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_unsigned_long());
return res;
}
sexp sexp_size_of_long_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_long());
return res;
}
sexp sexp_size_of_unsigned_int_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_unsigned_int());
return res;
}
sexp sexp_size_of_int_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_int());
return res;
}
sexp sexp_size_of_unsigned_short_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_unsigned_short());
return res;
}
sexp sexp_size_of_short_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_short());
return res;
}
sexp sexp_size_of_unsigned_char_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_unsigned_char());
return res;
}
sexp sexp_size_of_char_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_char());
return res;
}
sexp sexp_size_of_uint64_t_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_uint64_t());
return res;
}
sexp sexp_size_of_int64_t_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_int64_t());
return res;
}
sexp sexp_size_of_uint32_t_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_uint32_t());
return res;
}
sexp sexp_size_of_int32_t_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_int32_t());
return res;
}
sexp sexp_size_of_uint16_t_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_uint16_t());
return res;
}
sexp sexp_size_of_int16_t_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_int16_t());
return res;
}
sexp sexp_size_of_uint8_t_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_uint8_t());
return res;
}
sexp sexp_size_of_int8_t_stub (sexp ctx, sexp self, sexp_sint_t n) {
sexp res;
res = sexp_make_integer(ctx, size_of_int8_t());
return res;
}
sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) {
sexp_gc_var3(name, tmp, op);
if (!(sexp_version_compatible(ctx, version, sexp_version)
&& sexp_abi_compatible(ctx, abi, SEXP_ABI_IDENTIFIER)))
return SEXP_ABI_ERROR;
sexp_gc_preserve3(ctx, name, tmp, op);
name = sexp_intern(ctx, "FFI-OK", 6);
sexp_env_define(ctx, env, name, tmp=sexp_make_integer(ctx, FFI_OK));
name = sexp_intern(ctx, "RTLD-NOW", 8);
sexp_env_define(ctx, env, name, tmp=sexp_make_integer(ctx, RTLD_NOW));
op = sexp_define_foreign(ctx, env, "scheme-procedure-to-pointer", 1, sexp_scheme_procedure_to_pointer_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "internal-ffi-call", 6, sexp_internal_ffi_call_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_argn_type(op) = sexp_make_vector(ctx, SEXP_THREE, sexp_make_fixnum(SEXP_OBJECT));
sexp_vector_set(sexp_opcode_argn_type(op), SEXP_ZERO, sexp_make_fixnum(SEXP_CPOINTER));
sexp_vector_set(sexp_opcode_argn_type(op), SEXP_ONE, sexp_make_fixnum(SEXP_CPOINTER));
}
op = sexp_define_foreign(ctx, env, "internal-ffi-prep-cif", 3, sexp_internal_ffi_prep_cif_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-pointer", 0, sexp_get_ffi_type_pointer_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-void", 0, sexp_get_ffi_type_void_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-double", 0, sexp_get_ffi_type_double_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-float", 0, sexp_get_ffi_type_float_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-ulong", 0, sexp_get_ffi_type_ulong_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-long", 0, sexp_get_ffi_type_long_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-uint", 0, sexp_get_ffi_type_uint_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-int", 0, sexp_get_ffi_type_int_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-ushort", 0, sexp_get_ffi_type_ushort_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-short", 0, sexp_get_ffi_type_short_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-uchar", 0, sexp_get_ffi_type_uchar_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-char", 0, sexp_get_ffi_type_char_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-uint64", 0, sexp_get_ffi_type_uint64_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-int64", 0, sexp_get_ffi_type_int64_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-uint32", 0, sexp_get_ffi_type_uint32_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-int32", 0, sexp_get_ffi_type_int32_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-uint16", 0, sexp_get_ffi_type_uint16_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-int16", 0, sexp_get_ffi_type_int16_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-uint8", 0, sexp_get_ffi_type_uint8_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "get-ffi-type-int8", 0, sexp_get_ffi_type_int8_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "dlsym", 2, sexp_dlsym_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_STRING);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-pointer", 2, sexp_pointer_ref_c_pointer_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-double", 2, sexp_pointer_ref_c_double_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FLONUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-float", 2, sexp_pointer_ref_c_float_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FLONUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-unsigned-long", 2, sexp_pointer_ref_c_unsigned_long_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-long", 2, sexp_pointer_ref_c_long_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-unsigned-int", 2, sexp_pointer_ref_c_unsigned_int_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-int", 2, sexp_pointer_ref_c_int_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-unsigned-short", 2, sexp_pointer_ref_c_unsigned_short_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-short", 2, sexp_pointer_ref_c_short_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-unsigned-char", 2, sexp_pointer_ref_c_unsigned_char_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-char", 2, sexp_pointer_ref_c_char_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CHAR);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-uint64_t", 2, sexp_pointer_ref_c_uint64_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-int64_t", 2, sexp_pointer_ref_c_int64_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-uint32_t", 2, sexp_pointer_ref_c_uint32_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-int32_t", 2, sexp_pointer_ref_c_int32_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-uint16_t", 2, sexp_pointer_ref_c_uint16_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-int16_t", 2, sexp_pointer_ref_c_int16_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-uint8_t", 2, sexp_pointer_ref_c_uint8_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-ref-c-int8_t", 2, sexp_pointer_ref_c_int8_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-pointer!", 3, sexp_pointer_set_c_pointer_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-double!", 3, sexp_pointer_set_c_double_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FLONUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-float!", 3, sexp_pointer_set_c_float_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FLONUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-unsigned-long!", 3, sexp_pointer_set_c_unsigned_long_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-long!", 3, sexp_pointer_set_c_long_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-unsigned-int!", 3, sexp_pointer_set_c_unsigned_int_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-int!", 3, sexp_pointer_set_c_int_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-unsigned-short!", 3, sexp_pointer_set_c_unsigned_short_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-short!", 3, sexp_pointer_set_c_short_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-unsigned-char!", 3, sexp_pointer_set_c_unsigned_char_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-char!", 3, sexp_pointer_set_c_char_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_CHAR);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-uint64_t!", 3, sexp_pointer_set_c_uint64_t_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-int64_t!", 3, sexp_pointer_set_c_int64_t_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-uint32_t!", 3, sexp_pointer_set_c_uint32_t_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-int32_t!", 3, sexp_pointer_set_c_int32_t_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-uint16_t!", 3, sexp_pointer_set_c_uint16_t_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-int16_t!", 3, sexp_pointer_set_c_int16_t_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-uint8_t!", 3, sexp_pointer_set_c_uint8_t_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-set-c-int8_t!", 3, sexp_pointer_set_c_int8_t_x_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
sexp_opcode_arg3_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer-free", 1, sexp_pointer_free_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = SEXP_VOID;
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "pointer-address", 1, sexp_pointer_address_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "pointer?", 1, sexp_pointer_p_stub);
op = sexp_define_foreign(ctx, env, "pointer-allocate", 1, sexp_pointer_allocate_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "is-pointer-null", 1, sexp_is_pointer_null_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_BOOLEAN);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "pointer-null", 0, sexp_pointer_null_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "dlerror", 0, sexp_dlerror_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
}
op = sexp_define_foreign(ctx, env, "dlopen", 2, sexp_dlopen_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_CPOINTER);
sexp_opcode_arg1_type(op) = sexp_make_fixnum(SEXP_STRING);
sexp_opcode_arg2_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-pointer", 0, sexp_size_of_pointer_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-double", 0, sexp_size_of_double_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-float", 0, sexp_size_of_float_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-unsigned-long", 0, sexp_size_of_unsigned_long_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-long", 0, sexp_size_of_long_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-unsigned-int", 0, sexp_size_of_unsigned_int_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-int", 0, sexp_size_of_int_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-unsigned-short", 0, sexp_size_of_unsigned_short_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-short", 0, sexp_size_of_short_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-unsigned-char", 0, sexp_size_of_unsigned_char_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-char", 0, sexp_size_of_char_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-uint64_t", 0, sexp_size_of_uint64_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-int64_t", 0, sexp_size_of_int64_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-uint32_t", 0, sexp_size_of_uint32_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-int32_t", 0, sexp_size_of_int32_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-uint16_t", 0, sexp_size_of_uint16_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-int16_t", 0, sexp_size_of_int16_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-uint8_t", 0, sexp_size_of_uint8_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
op = sexp_define_foreign(ctx, env, "size-of-int8_t", 0, sexp_size_of_int8_t_stub);
if (sexp_opcodep(op)) {
sexp_opcode_return_type(op) = sexp_make_fixnum(SEXP_FIXNUM);
}
sexp_gc_release3(ctx);
return SEXP_VOID;
}