3#if !defined(__EGTTYPESH__) && !defined(__RADTYPESH__) && !defined(__RADRR_COREH__)
8#if !defined(__RADRES__)
61 #define RADDEFFUNC extern "C"
62 #define RADDEFSTART extern "C" {
64 #define RADDEFAULT( val ) =val
69 #define RADDEFAULT( val )
74#define RR_STRINGIZE( L ) #L
75#define RR_DO_MACRO( M, X ) M(X)
76#define RR_STRINGIZE_DELAY( X ) RR_DO_MACRO( RR_STRINGIZE, X )
78#define RR_STRING_JOIN(arg1, arg2) RR_STRING_JOIN_DELAY(arg1, arg2)
79#define RR_STRING_JOIN_DELAY(arg1, arg2) RR_STRING_JOIN_IMMEDIATE(arg1, arg2)
80#define RR_STRING_JOIN_IMMEDIATE(arg1, arg2) arg1 ## arg2
83#define RR_PLATFORM_PATH_STR( plat, file ) RR_STRINGIZE_DELAY( RR_STRING_JOIN( plat, file ) )
89#ifdef __RAD_NDA_PLATFORM__
91 #include RR_PLATFORM_PATH_STR( __RAD_NDA_PLATFORM__, _egttypes.h )
96 #define __RADANDROID__ 1
97 #define __RADDETECTED__ __RADANDROID__
102 #define __RADDETECTED__ __RADQNX__
105 #if defined(_Windows) || defined(WIN32) || defined(__WINDOWS__) || defined(_WIN32) || defined(_WIN64) || defined(WINAPI_FAMILY)
112 #include <winapifamily.h>
113 #define RAD_WINAPI_IS_APP (!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP))
114 #if RAD_WINAPI_IS_APP
115 #define __RADWINRTAPI__
116 #define __RADWINRT__ 13
117 #define __RADDETECTED__ __RADWINRT__
120 #define RAD_WINAPI_IS_APP 0
126 #define __RADDETECTED__ __RADNT__
130 #if defined(__APPLE__)
131 #include "TargetConditionals.h"
132 #if defined(TARGET_IPHONE_SIMULATOR) && TARGET_IPHONE_SIMULATOR
133 #define __RADIPHONE__ 15
134 #define __RADIPHONESIM__ 16
135 #define __RADDETECTED__ __RADIPHONESIM__
136 #elif defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
137 #define __RADIPHONE__ 15
138 #define __RADDETECTED__ __RADIPHONE__
140 #define __RADMAC__ 17
141 #define __RADDETECTED__ __RADMAC__
144 #if defined(TARGET_OS_IOS) && TARGET_OS_IOS
145 #define __RADIOS__ 18
147 #if defined(TARGET_OS_TVOS) && TARGET_OS_TVOS
148 #define __RADTVOS__ 19
150 #if defined(TARGET_OS_WATCHOS) && TARGET_OS_WATCHOS
151 #define __RADWATCHOS__ 20
155 #if defined(__EMSCRIPTEN__)
156 #define __RADEMSCRIPTEN__ 22
157 #define __RADDETECTED__ __RADEMSCRIPTEN__
161 #if defined(__linux__) && !defined(ANDROID)
162 #define __RADLINUX__ 3
163 #define __RADDETECTED__ __RADLINUX__
166 #if !defined( __RADDETECTED__) && !defined( USING_EGT )
168 #define __RADUNKNOWN__ 99
169 #define __RADDETECTED__ __RADUNKNOWN__
175#if !defined(__RADDETECTED__)
176 #error "egttypes.h did not detect your platform."
184#if defined(__arm__) || defined( _M_ARM )
186 #define __RADDETECTEDPROC__ __RADARM__
187 #define __RADLITTLEENDIAN__
188 #if defined(__ARM_NEON__) || defined(__ARM_NEON)
191 #if !defined(__RADSOFTFP__) && !defined( __ARM_PCS_VFP )
192 #define __RADSOFTFP__
195#if defined(__i386) || defined( __i386__ ) || defined( _M_IX86 ) || defined( _X86_ )
197 #if !defined __RADIPHONESIM__
201 #define __RADDETECTEDPROC__ __RADX86__
202 #define __RADLITTLEENDIAN__
204#if defined(_x86_64) || defined( __x86_64__ ) || defined( _M_X64 ) || defined( _M_AMD64 )
207 #if !defined __RADIPHONESIM__
210 #define __RADDETECTEDPROC__ __RADX64__
211 #define __RADLITTLEENDIAN__
213#if defined(__powerpc) || defined( _M_PPC )
215 #define __RADALTIVEC__
216 #define __RADDETECTEDPROC__ __RADPPC__
217 #define __RADBIGENDIAN__
219#if defined( __aarch64__ ) || defined( __arm64__ ) || defined(_M_ARM64)
221 #define __RADARM64__ 6
222 #define __RADDETECTEDPROC__ __RADARM64__
223 #define __RADLITTLEENDIAN__
226#if defined(__EMSCRIPTEN__)
227 #define __RADDETECTEDPROC__
228 #define __RADLITTLEENDIAN__
231#if !defined(__RADDETECTEDPROC__)
232 #error "egttypes.h did not detect your processor type."
235#if defined(__ppc64__) || defined(__aarch64__) || defined(_M_X64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_ARM64)
237 #define __RAD64REGS__
248#if ( defined(__RADINSTATICLIB__) || defined(__RADNOEXPORTS__ ) || ( defined(__RADNOEXEEXPORTS__) && ( !defined(__RADINDLL__) ) && ( !defined(__RADINSTATICLIB__) ) ) )
251 #define RADEXPFUNC RADDEFFUNC
254 #if defined(__RADINDLL__)
255 #define RADEXPFUNC RADDEFFUNC RADDLLEXPORTDLL
257 #define RADEXPFUNC RADDEFFUNC RADDLLIMPORTDLL
261#if defined(__RADANDROID__)
262 #define RADRESTRICT __restrict
263 #define RADSTRUCT struct __attribute__((__packed__))
267 #define RADDLLEXPORTDLL __attribute__((visibility("default")))
268 #define RADDLLIMPORTDLL
271#if defined(__RADQNX__)
272 #define RADRESTRICT __restrict
273 #define RADSTRUCT struct __attribute__((__packed__))
276 #define RADEXPLINK RADLINK
277 #define RADDLLEXPORTDLL
278 #define RADDLLIMPORTDLL
281#if defined(__RADLINUX__) || defined(__RADUNKNOWN__)
282 #define RADRESTRICT __restrict
283 #define RADSTRUCT struct __attribute__((__packed__))
285 #if defined(__RADX86__) && !defined(__RADX64__)
286 #define RADLINK __attribute__((cdecl))
287 #define RADEXPLINK __attribute__((cdecl))
294 #define RADDLLEXPORTDLL __attribute__((visibility("default")))
295 #define RADDLLIMPORTDLL
298#if defined(__RADNT__)
301 #define RADRESTRICT __restrict
305 #define __RADNOVARARGMACROS__
307 #define RADSTRUCT struct
309 #define RADLINK __stdcall
310 #define RADEXPLINK __stdcall
312 #define RADDLLEXPORTDLL __declspec(dllexport)
315 #define RADDLLIMPORTDLL
318 #define RADDLLIMPORTDLL __declspec(dllimport)
322#if defined(__RADWINRT__)
324 #if defined(__RADARM__)
327 #define RADRESTRICT __restrict
328 #define RADSTRUCT struct
330 #define RADLINK __stdcall
331 #define RADEXPLINK __stdcall
332 #define RADDLLEXPORTDLL __declspec(dllexport)
333 #define RADDLLIMPORTDLL __declspec(dllimport)
336#if defined(__RADIPHONE__)
337 #define __RADMACAPI__
338 #define RADRESTRICT __restrict
339 #define RADSTRUCT struct __attribute__((__packed__))
343 #define RADDLLEXPORTDLL
344 #define RADDLLIMPORTDLL
347#if defined(__RADMAC__)
349 #define __RADMACAPI__
350 #define RADRESTRICT __restrict
351 #define RADSTRUCT struct __attribute__((__packed__))
357 #define RADDLLEXPORTDLL __attribute__((visibility("default")))
358 #define RADDLLIMPORTDLL
360 #ifdef TARGET_API_MAC_CARBON
361 #if TARGET_API_MAC_CARBON
362 #ifndef __RADCARBON__
363 #define __RADCARBON__
369#if defined(__RADEMSCRIPTEN__)
370 #include <emscripten.h>
371 #define RADRESTRICT __restrict
372 #define RADSTRUCT struct __attribute__((__packed__))
375 #define RADEXPLINK EMSCRIPTEN_KEEPALIVE
376 #define RADDLLEXPORTDLL
377 #define RADDLLIMPORTDLL
381 #error RADLINK was not defined.
385 #define RADINLINE __inline
387 #define RADINLINE inline
396 #define RR_NUMBERNAME(name) RR_STRING_JOIN(name,__COUNTER__)
398 #define RR_NUMBERNAME(name) RR_STRING_JOIN(name,__LINE__)
404#ifndef RR_COMPILER_ASSERT
405 #if defined(__clang__)
406 #define RR_COMPILER_ASSERT_UNUSED __attribute__((unused))
408 #define RR_COMPILER_ASSERT_UNUSED
411 #define RR_COMPILER_ASSERT(exp) typedef char RR_NUMBERNAME(_dummy_array) [ (exp) ? 1 : -1 ] RR_COMPILER_ASSERT_UNUSED
418#define RAD_S8 signed char
419#define RAD_U8 unsigned char
420#define RAD_U16 unsigned short
421#define RAD_S16 signed short
423#if defined(__RAD64__)
424 #define RAD_U32 unsigned int
425 #define RAD_S32 signed int
428 #if ( defined(_MSC_VER) && _MSC_VER >= 1300 && defined(_Wp64) && _Wp64 )
429 #define RAD_SINTa __w64 signed __int64
430 #define RAD_UINTa __w64 unsigned __int64
433 #define RAD_UINTa unsigned long long
434 #define RAD_SINTa signed long long
438#if defined(__RAD32__) && !defined(__RAD64__)
439 #define RAD_U32 unsigned int
440 #define RAD_S32 signed int
442 #if ( ( defined(_MSC_VER) && (_MSC_VER >= 1300 ) ) && ( defined(_Wp64) && ( _Wp64 ) ) )
443 #define RAD_SINTa __w64 signed long
444 #define RAD_UINTa __w64 unsigned long
448 #define RAD_SINTa signed long
449 #define RAD_UINTa unsigned long
451 #define RAD_SINTa signed int
452 #define RAD_UINTa unsigned int
458#define RAD_F64 double
461 #define RAD_U64 unsigned __int64
462 #define RAD_S64 signed __int64
464 #define RAD_U64 unsigned long long
465 #define RAD_S64 signed long long
472#if !defined(RADNOTYPEDEFS)
524 #ifndef SINTa_DEFINED
525 #define SINTa_DEFINED
529 #ifndef UINTa_DEFINED
530 #define UINTa_DEFINED
534 #ifndef RRBOOL_DEFINED
535 #define RRBOOL_DEFINED
540#elif !defined(RADNOTYPEDEFINES)
592 #ifndef SINTa_DEFINED
593 #define SINTa_DEFINED
594 #define SINTa RAD_SINTa
597 #ifndef UINTa_DEFINED
598 #define UINTa_DEFINED
599 #define UINTa RAD_UINTa
602 #ifndef RRBOOL_DEFINED
603 #define RRBOOL_DEFINED
#define RAD_F64
Definition egttypes.h:458
RAD_S16 S16
Definition egttypes.h:486
RAD_SINTa SINTa
Definition egttypes.h:526
#define RAD_F32
Definition egttypes.h:457
RAD_S8 S8
Definition egttypes.h:476
#define RAD_U32
Definition egttypes.h:439
RAD_U32 U32
Definition egttypes.h:501
RAD_U8 U8
Definition egttypes.h:481
RAD_UINTa UINTa
Definition egttypes.h:531
#define RAD_UINTa
Definition egttypes.h:452
S32 rrbool
Definition egttypes.h:536
S32 RRBOOL
Definition egttypes.h:537
#define RAD_S16
Definition egttypes.h:421
#define RAD_S64
Definition egttypes.h:465
RAD_U64 U64
Definition egttypes.h:511
#define RAD_U16
Definition egttypes.h:420
#define RAD_S32
Definition egttypes.h:440
#define RAD_U8
Definition egttypes.h:419
#define RAD_S8
Definition egttypes.h:418
RAD_F64 F64
Definition egttypes.h:521
#define RAD_U64
Definition egttypes.h:464
RAD_F32 F32
Definition egttypes.h:516
RAD_S64 S64
Definition egttypes.h:506
RAD_S32 S32
Definition egttypes.h:496
RAD_U16 U16
Definition egttypes.h:491
#define RAD_SINTa
Definition egttypes.h:451