/* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * This file has been released into the public domain by *
 * Etienne M. Gagnon <etienne.gagnon@uqam.ca>            *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#ifndef SVM_JNI_SYSTEM_SPECIFIC_H
#define SVM_JNI_SYSTEM_SPECIFIC_H

/* system specific primitive types */

/* legend:
   u = unsigned intger,  s = signed integer, f = float, d = double
   8,16,32,64 = 8 bits, 16 bits, ...
   So, "u8" means an 8 bits unsigned integer. */

/* alpha and i386 are identical here */

#if ((defined (__ia64__) || defined (__alpha__) || defined (__i386__) || defined (__powerpc__)) && defined (__GNUC__))

#define JNICALL
#define JNIEXPORT

typedef unsigned char _svmt_u8;
typedef signed char _svmt_s8;
typedef unsigned short _svmt_u16;
typedef signed short _svmt_s16;
typedef unsigned int _svmt_u32;
typedef signed int _svmt_s32;
__extension__ typedef unsigned long long _svmt_u64;
__extension__ typedef signed long long _svmt_s64;
typedef float _svmt_f32;
typedef double _svmt_d64;

#else

#error "unknown system"

#endif

#endif /* NOT SVM_JNI_SYSTEM_SPECIFIC_H */
