xref: /titanic_52/usr/src/common/ficl/ficlplatform/unix.h (revision a1bf3f785ae05c419b339c3a2061f2b18c024f61)
1*a1bf3f78SToomas Soome /*
2*a1bf3f78SToomas Soome  * This file and its contents are supplied under the terms of the
3*a1bf3f78SToomas Soome  * Common Development and Distribution License ("CDDL"), version 1.0.
4*a1bf3f78SToomas Soome  * You may only use this file in accordance with the terms of version
5*a1bf3f78SToomas Soome  * 1.0 of the CDDL.
6*a1bf3f78SToomas Soome  *
7*a1bf3f78SToomas Soome  * A full copy of the text of the CDDL should have accompanied this
8*a1bf3f78SToomas Soome  * source.  A copy of the CDDL is also available via the Internet at
9*a1bf3f78SToomas Soome  * http://www.illumos.org/license/CDDL.
10*a1bf3f78SToomas Soome  */
11*a1bf3f78SToomas Soome 
12*a1bf3f78SToomas Soome /*
13*a1bf3f78SToomas Soome  * Copyright 2015 Toomas Soome <tsoome@me.com>
14*a1bf3f78SToomas Soome  */
15*a1bf3f78SToomas Soome 
16*a1bf3f78SToomas Soome #ifndef _UNIX_H
17*a1bf3f78SToomas Soome #define	_UNIX_H
18*a1bf3f78SToomas Soome 
19*a1bf3f78SToomas Soome #ifdef __cplusplus
20*a1bf3f78SToomas Soome extern "C" {
21*a1bf3f78SToomas Soome #endif
22*a1bf3f78SToomas Soome 
23*a1bf3f78SToomas Soome #define	FICL_WANT_PLATFORM (1)
24*a1bf3f78SToomas Soome 
25*a1bf3f78SToomas Soome #define	FICL_PLATFORM_OS		"Illumos"
26*a1bf3f78SToomas Soome #ifdef __sparc
27*a1bf3f78SToomas Soome #define	FICL_PLATFORM_ARCHITECTURE	"sparc"
28*a1bf3f78SToomas Soome #else
29*a1bf3f78SToomas Soome #define	FICL_PLATFORM_ARCHITECTURE	"i386"
30*a1bf3f78SToomas Soome #endif
31*a1bf3f78SToomas Soome 
32*a1bf3f78SToomas Soome #define	FICL_PLATFORM_BASIC_TYPES	(1)
33*a1bf3f78SToomas Soome #if defined(_LP64)
34*a1bf3f78SToomas Soome #define	FICL_PLATFORM_ALIGNMENT		(8)
35*a1bf3f78SToomas Soome #else
36*a1bf3f78SToomas Soome #define	FICL_PLATFORM_ALIGNMENT		(4)
37*a1bf3f78SToomas Soome #endif
38*a1bf3f78SToomas Soome #define	FICL_PLATFORM_INLINE		inline
39*a1bf3f78SToomas Soome 
40*a1bf3f78SToomas Soome #define	FICL_PLATFORM_HAS_FTRUNCATE	(1)
41*a1bf3f78SToomas Soome #if defined(_LP64)
42*a1bf3f78SToomas Soome #define	FICL_PLATFORM_HAS_2INTEGER	(0)
43*a1bf3f78SToomas Soome #else
44*a1bf3f78SToomas Soome #define	FICL_PLATFORM_HAS_2INTEGER	(1)
45*a1bf3f78SToomas Soome #endif
46*a1bf3f78SToomas Soome 
47*a1bf3f78SToomas Soome typedef int8_t ficlInteger8;
48*a1bf3f78SToomas Soome typedef uint8_t ficlUnsigned8;
49*a1bf3f78SToomas Soome typedef int16_t ficlInteger16;
50*a1bf3f78SToomas Soome typedef uint16_t ficlUnsigned16;
51*a1bf3f78SToomas Soome typedef int32_t ficlInteger32;
52*a1bf3f78SToomas Soome typedef uint32_t ficlUnsigned32;
53*a1bf3f78SToomas Soome typedef int64_t ficlInteger64;
54*a1bf3f78SToomas Soome typedef uint64_t ficlUnsigned64;
55*a1bf3f78SToomas Soome 
56*a1bf3f78SToomas Soome #if defined(_LP64)
57*a1bf3f78SToomas Soome typedef ficlInteger64 ficlInteger;
58*a1bf3f78SToomas Soome typedef ficlUnsigned64 ficlUnsigned;
59*a1bf3f78SToomas Soome 
60*a1bf3f78SToomas Soome typedef double ficlFloat;
61*a1bf3f78SToomas Soome #else /* default */
62*a1bf3f78SToomas Soome typedef ficlInteger32 ficlInteger;
63*a1bf3f78SToomas Soome typedef ficlUnsigned32 ficlUnsigned;
64*a1bf3f78SToomas Soome 
65*a1bf3f78SToomas Soome typedef float ficlFloat;
66*a1bf3f78SToomas Soome #endif
67*a1bf3f78SToomas Soome 
68*a1bf3f78SToomas Soome #if defined(FICL_PLATFORM_HAS_2INTEGER) && FICL_PLATFORM_HAS_2INTEGER
69*a1bf3f78SToomas Soome typedef ficlInteger64 ficl2Integer;
70*a1bf3f78SToomas Soome typedef ficlUnsigned64 ficl2Unsigned;
71*a1bf3f78SToomas Soome #endif
72*a1bf3f78SToomas Soome 
73*a1bf3f78SToomas Soome #ifdef __cplusplus
74*a1bf3f78SToomas Soome }
75*a1bf3f78SToomas Soome #endif
76*a1bf3f78SToomas Soome 
77*a1bf3f78SToomas Soome #endif /* _UNIX_H */
78