Products Support Documentation Download
pspplatos.h
Go to the documentation of this file.
1 /*
2  * Raima Database Manager
3  *
4  * Copyright (C) 2016 Raima Inc., All rights reserved.
5  *
6  * Use of this software, whether in source code format, or in executable,
7  * binary object code form, is governed by the Raima LICENSE which
8  * is fully described in the LICENSE.TXT file, included within this
9  * distribution of files.
10  */
11 
16 #include "pspplatcpu.h"
17 
18 #ifndef RDM_DOXYGEN
19 #if !defined(PSPPLATOS_H_INCLUDED_)
20 #define PSPPLATOS_H_INCLUDED_
21 
22 #define RDM_NEED_C99_VSNPRINTF /* default to using our own vsnprintf */
23 #define RDM_NEED_C99_VSNWPRINTF /* default to using our own vsnwprintf */
24 #define RDM_HAS_SHARED_MEMORY /* default to having shared memory */
25 #define RDM_HAS_TCP /* default to having TCP */
26 
27 #if defined(RDM_NO_THREADS)
28 #undef RDM_HAS_SHARED_MEMORY
29 #undef RDM_HAS_TCP
30 #endif
31 
32 #if defined(RDM_LINUX)
33  #define RDM_UNIX
34  #define RDM_HAVE_CLOCK_GETTIME
35  #define RDM_WCHAR_IS_UCS4
36  #define RDM_NEED_TIME64_T
37  #define RDM_NEED_STRUPR
38  #define RDM_LOCAL_LOCALE
39  #define RDM_DEFINE_REENTRANT
40  #define RDM_DEFINE_GNU_SOURCE
41  #define RDM_HAVE_FORK
42  #define RDM_VALGRIND_CHECK
43  #define RDM_HAVE_PAGE_OUT
44  #define RDM_HAVE_PUNCH_HOLE
45  #define RDM_HAVE_DIR_SYNC
46  #define RDM_HAVE_POLL
47  #define RDM_HAVE_QOS
48  #define RDM_TCP_ACCEPT_NO_DELAY
49  #define RDM_HAVE_VARIABLE_SIZE_ARRAY
50  #define RDM_USE_MMAP_FOR_MALLOC
51  #define RDM_HAVE_FFSLL
52 
53 #elif defined(RDM_NEUTRINO)
54  #define RDM_UNIX
55  #define RDM_HAVE_CLOCK_GETTIME
56  #define RDM_WCHAR_IS_UCS4
57  #define RDM_NEED_TIME64_T
58  #define RDM_NEED_WCSNCASECMP
59  #define RDM_NEED_WCSCASECMP
60  #define RDM_NEED_STRUPR
61  #define RDM_NEED_STRCASESTR
62  #define RDM_USE_SMALL_PSP_BLOCKSIZE
63  #define RDM_VALGRIND_CHECK
64  #define RDM_DBL_MIN_NOT_CONSTANT
65  #define RDM_HAVE_DIR_SYNC
66  #define RDM_HAVE_POLL
67  #define RDM_HAVE_QOS
68  #define RDM_TCP_ACCEPT_NO_DELAY
69  #define RDM_HAVE_FFSLL
70 
71 #elif defined (RDM_IPHONE)
72  #define RDM_UNIX
73  #define RDM_DARWIN
74  #define RDM_WCHAR_IS_UCS4
75  #define RDM_NEED_TIME64_T
76  #define RDM_NEED_WCSCASECMP
77  #define RDM_NEED_WCSNCASECMP
78  #undef RDM_HAS_SHARED_MEMORY
79  #define RDM_USE_SMALL_PSP_BLOCKSIZE
80  #define RDM_VALGRIND_CHECK
81  #define RDM_HAVE_DIR_SYNC
82  #define RDM_HAVE_POLL
83  #define RDM_HAVE_FFSLL
84 
85 #elif defined(RDM_OSX)
86  #define RDM_UNIX
87  #define RDM_DARWIN
88  #define RDM_WCHAR_IS_UCS4
89  #define RDM_NEED_TIME64_T
90  #define RDM_NEED_STRUPR
91  #define RDM_NEED_WCSCASECMP
92  #define RDM_NEED_WCSNCASECMP
93  #define RDM_HAVE_DIR_SYNC
94  #define RDM_HAVE_POLL
95  #define RDM_HAVE_FFSLL
96 
97 #elif defined(RDM_SOLARIS)
98  #define RDM_UNIX
99  #define RDM_WCHAR_IS_UCS4
100  #define RDM_NEED_TIME64_T
101  #define RDM_NEED_STRCASESTR
102  #define RDM_VALGRIND_CHECK
103  #define RDM_HAVE_DIR_SYNC
104  #define RDM_HAVE_POLL
105  #define RDM_DEFINE_POSIX_C_SOURCE 200112
106  #define RDM_DEFINE__EXTENSIONS__
107  #define RDM_HAVE_FFSLL
108 
109 #elif defined(RDM_AIX)
110  #define RDM_UNIX
111  #define RDM_WCHAR_IS_UTF16
112  #define RDM_NEED_STRCASESTR
113  #define RDM_VALGRIND_CHECK
114  #define RDM_HAVE_DIR_SYNC
115  #define RDM_ONLY_INT_BITFIELDS
116  #define RDM_HAVE_POLL
117  #define RDM_HAVE_FFSLL
118 
119 #elif defined(RDM_HPUX)
120  #define RDM_UNIX
121  #define RDM_WCHAR_IS_UCS4
122  #define RDM_NEED_TIME64_T
123  #define RDM_NEED_STRCASESTR
124  #define RDM_NEED_WCSCASECMP
125  #define RDM_NEED_WCSNCASECMP
126  #define RDM_DEFINE_XOPEN_SOURCE 500
127  #define RDM_DEFINE_XOPEN_SOURCE_EXTENDED
128  #define RDM_DEFINE_LARGEFILE64_SOURCE
129  #define RDM_DEFINE_REENTRANT
130  #if defined(__HP_cc) && __HP_cc < 60000
131  #define RDM_NO_ATOMIC
132  #elif defined(__HP_aCC) && __HP_aCC < 60000
133  #define RDM_NO_ATOMIC
134  #endif
135  #define RDM_VALGRIND_CHECK
136  #define RDM_HAVE_DIR_SYNC
137  #define RDM_HAVE_POLL
138  #define RDM_HAVE_FFSLL
139 
140 #elif defined(RDM_WINCE)
141  #define RDM_WCHAR_IS_UTF16
142  #define RDM_NO_DAEMON
143  #define NO_PREPRO
144  #define RDM_NEED_TIME64_T
145  #define RDM_NO_LOCALE
146  #define RDM_NO_SIGNAL
147  #define RDM_NEED_ALTERNATE_STDFILES
148  #define RDM_NEED_WMEMCPY
149  #define RDM_NEED_STRCASESTR
150  #define RDM_HAVE_POLL
151  #define RDM_DONT_USE_KEEPALIVES
152  #define RDM_NEED_PSP_ATOUI64
153 
154 #elif defined(RDM_WINDOWS)
155  #define RDM_WCHAR_IS_UTF16
156  #define RDM_NO_DAEMON
157  #define RDM_NEED_STRCASESTR
158  #define RDM_NEED_TIME64_T
159  #define RDM_LOCAL_LOCALE
160  #define RDM_DEFINE_CRT_NONSTDC_NO_DEPRECATE
161  #define RDM_DEFINE_CRT_SECURE_NO_DEPRECATE
162  #define RDM_DEFINE_CRT_SECURE_NO_WARNINGS
163  #define RDM_HAVE_POLL
164  #define RDM_DONT_USE_KEEPALIVES
165  #define RDM_TCP_CONNECT_NO_DELAY
166  #define RDM_HAVE_ALLOCA
167  #define RDM_PURIFY_CHECK
168 
169 #elif defined(RDM_FREEBSD)
170  #define RDM_UNIX
171  #define RDM_WCHAR_IS_UCS4
172  #define RDM_NEED_TIME64_T
173  #define RDM_NEED_WCSCASECMP
174  #define RDM_NEED_WCSNCASECMP
175  #define RDM_DEFINE_REENTRANT
176  #define RDM_VALGRIND_CHECK
177  #define RDM_HAVE_DIR_SYNC
178  #define RDM_HAVE_POLL
179  #define RDM_HAVE_FFSLL
180 
181 #elif defined(RDM_NETBSD)
182  #define RDM_UNIX
183  #define RDM_WCHAR_IS_UCS4
184  #define RDM_NEED_TIME64_T
185  #define RDM_NEED_WCSNCASECMP
186  #undef RDM_HAS_SHARED_MEMORY
187  #define RDM_DEFINE_REENTRANT
188  #define RDM_VALGRIND_CHECK
189  #define RDM_HAVE_DIR_SYNC
190  #define RDM_HAVE_POLL
191  #define RDM_HAVE_FFSLL
192 
193 #elif defined(RDM_OPENBSD)
194  #define RDM_UNIX
195  #define RDM_WCHAR_IS_UCS4
196  #define RDM_NEED_TIME64_T
197  #define RDM_NEED_WCSNCASECMP
198  #define RDM_DEFINE_REENTRANT
199  #define RDM_VALGRIND_CHECK
200  #define RDM_HAVE_DIR_SYNC
201  #define RDM_HAVE_POLL
202  #define RDM_HAVE_FFSLL
203 
204 #elif defined(RDM_VXWORKS_RTP)
205  #define RDM_UNIX
206  #define RDM_HAVE_CLOCK_GETTIME
207  #define RDM_NO_UNICODE
208  #define RDM_WCHAR_IS_UCS4
209  #define RDM_NEED_TIME64_T
210  #define RDM_ALIGN4
211  #define RDM_NEED_PREAD_PWRITE
212  #define RDM_NO_DAEMON
213  #define RDM_NEED_STRCASESTR
214  #define RDM_NEED_DIRNAME
215  #define RDM_NO_IPV6
216  #undef RDM_HAS_SHARED_MEMORY
217  #define RDM_DEFINE_REENTRANT
218  #define RDM_DEFINE_RW_MULTI_THREAD
219  #if defined(__DCC__)
220  #define RDM_NO_ATOMIC
221  #endif
222  #define RDM_USE_SMALL_PSP_BLOCKSIZE
223  #define RDM_NO_DYNLOAD
224  #define RDM_NEED_PSP_ATOI64
225  #define RDM_NEED_PSP_ATOUI64
226  #define RDM_NO_FILE_LOCK
227  #define RDM_HAVE_DIR_SYNC
228  #define RDM_DONT_USE_KEEPALIVES
229 
230 #elif defined(RDM_VXWORKS)
231  #define RDM_UNIX
232  #define RDM_HAVE_CLOCK_GETTIME
233  #define RDM_NO_UNICODE
234  #define RDM_WCHAR_IS_UCS4
235  #define RDM_NEED_STRCASECMP
236  #define RDM_NEED_STRNCASECMP
237  #define RDM_NEED_STRNCMP
238  #define RDM_NO_TLS
239  #define RDM_NO_ATOMIC
240  #define RDM_NEED_DIRNAME
241  #define RDM_NEED_TIME64_T
242  #define RDM_NO_DAEMON
243  #define RDM_NEED_STRCASESTR
244  #undef RDM_HAS_SHARED_MEMORY
245  #define RDM_NO_LOCALE
246  #define RDM_NO_IPV6
247  #define RDM_NEED_ISFINITE
248  #undef RDM_NEED_C99_VSNWPRINTF
249  #define RDM_NEED_PREAD_PWRITE
250  #define RDM_DEFINE_REENTRANT
251  #define RDM_DEFINE_RW_MULTI_THREAD
252  #define RDM_USE_SMALL_PSP_BLOCKSIZE
253  #define RDM_NO_DYNLOAD
254  #define RDM_NEED_PSP_ATOI64
255  #define RDM_NEED_PSP_ATOUI64
256  #define RDM_NO_FILE_LOCK
257  #define RDM_NO_CEILF
258  #define RDM_NO_FLOORF
259  #define RDM_NO_VACOPY
260  #define RDM_DONT_USE_KEEPALIVES
261  #define RDM_THREADS_BASE_PRIORITY 120
262  #define RDM_THREADS_INC_PRIORITY -2
263 
264 #elif defined(RDM_INTEGRITY)
265  #define RDM_UNIX
266  #define RDM_INTEGRITY_TASKS
267  #define RDM_WCHAR_IS_UCS4
268  #define RDM_LOCALHOST "127.0.0.1"
269  #define RDM_NEED_STRCASECMP
270  #define RDM_NEED_STRNCASECMP
271  #define RDM_NEED_WCSCASECMP
272  #define RDM_NEED_WCSNCASECMP
273  #define RDM_NEED_STRCASESTR
274  #define NO_PREPRO
275  #define RDM_NEED_TIME64_T
276  #define RDM_NO_DAEMON
277  #undef RDM_HAS_SHARED_MEMORY
278  #define RDM_DEFINE_REENTRANT
279  #define RDM_USE_SMALL_PSP_BLOCKSIZE
280  #define RDM_NO_DYNLOAD
281  #define RDM_NO_FILE_LOCK
282  #define RDM_NEED_VALIDATE_FLOAT
283  #define RDM_NEED_VALIDATE_DOUBLE
284  #define RDM_HAVE_DIR_SYNC
285  #define RDM_HAVE_POLL
286  #define RDM_THREADS_BASE_PRIORITY 127
287 
288 #elif defined(RDM_ANDROID)
289  #define RDM_UNIX
290  #define RDM_NO_UNICODE
291  #define RDM_WCHAR_IS_UCS4
292  #define RDM_NO_LOCALE
293  #define RDM_NEED_TIME64_T
294  #define RDM_DEFINE_REENTRANT
295  #define RDM_DEFINE_GNU_SOURCE
296  #define RDM_USE_SMALL_PSP_BLOCKSIZE
297  #define RDM_HAVE_DIR_SYNC
298 
299 #elif defined(RDM_NO_OS)
300  #define RDM_NO_CPP_STD_STRING
301  #define RDM_NO_TFS_LISTEN
302  #define RDM_NO_UNICODE
303  #define RDM_NO_LOCALE
304  #define RDM_NO_THREADS
305  #define RDM_NO_FILESYSTEM
306  #define RDM_NO_TFS_DISK
307  #define RDM_NEED_PSP_ATOI64
308  #define RDM_NEED_PSP_ATOUI64
309  #define RDM_NEED_TIME64_T
310  #define RDM_NO_DAEMON
311  #define RDM_NEED_STRUPR
312  #define RDM_NEED_STRCASECMP
313  #define RDM_NEED_STRNCASECMP
314  #define RDM_NO_LOGGING
315  #define RDM_NEED_STRCASESTR
316  #define RDM_NO_ENV
317  #define RDM_NO_TIME
318  #undef RDM_HAS_TCP
319  #undef RDM_HAS_SHARED_MEMORY
320 
321 #else
322  #error No OS specific section found
323 #endif
324 
325 #if defined(RDM_UNIX)
326  #define RDM_UNIX_FILE_SYSTEM
327  #define RDM_UNIX_DIR
328 #elif defined(RDM_WINDOWS)
329  #define RDM_WINDOWS_FILE_SYSTEM
330 #endif
331 
332 #endif /* PSPPLATOS_H_INCLUDED_ */
333 #endif
Header for the Platform Support Package - Dependent settings for each CPU for each OS...