Sha256: b3ea0e4284185b5986cdcfb0a944b7a8a21f00c5b33242aa223465522cd9ca46
Contents?: true
Size: 1.18 KB
Versions: 2
Compression:
Stored size: 1.18 KB
Contents
#include <sys/param.h> #include <sys/types.h> #include <stdbool.h> #include <ruby.h> #include <ctype.h> #include "Platform.h" static VALUE modulePlatform = Qnil; /* * Determine the cpu type at compile time - useful for MacOSX where the the * system installed ruby incorrectly reports 'host_cpu' as 'powerpc' when running * on intel. */ #ifdef __i386__ #define CPU "i386" #elif defined(__ppc__) || defined(__powerpc__) #define CPU "powerpc" #elif defined(__x86_64__) #define CPU "x86_64" #elif defined(__sparc__) #define CPU "sparc" #elif defined(__sparcv9__) #define CPU "sparcv9" #else #error "Unknown cpu type" #endif void rb_FFI_Platform_Init() { VALUE moduleFFI = rb_define_module("FFI"); VALUE platform = rb_define_module_under(moduleFFI, "Platform"); rb_define_const(platform, "LONG_SIZE", INT2FIX(sizeof(long) * 8)); rb_define_const(platform, "ADDRESS_SIZE", INT2FIX(sizeof(void *) * 8)); rb_define_const(platform, "BYTE_ORDER", INT2FIX(BYTE_ORDER)); rb_define_const(platform, "LITTLE_ENDIAN", INT2FIX(LITTLE_ENDIAN)); rb_define_const(platform, "BIG_ENDIAN", INT2FIX(BIG_ENDIAN)); rb_define_const(platform, "CPU", rb_str_new2(CPU)); modulePlatform = platform; }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ffi-0.1.1 | ext/Platform.c |
ffi-0.1.0 | ext/Platform.c |