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_COLLATE_LOCAL
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 #if 0
51  #define RDM_MEM_MALLOC
52 #else
53  #define RDM_MEM_MMAP
54  #define RDM_MEM_ALIGN_4K
55 #endif
56  #define RDM_HAVE_FFSLL
57  #define RDM_HAVE_FLOCK
58  #define RDM_HAVE_MSG_NOSIGNAL
59  #define RDM_HAVE_SIOCGIFHWADDR
60 
61 #elif defined(RDM_NEUTRINO)
62  #define RDM_UNIX
63  #define RDM_HAVE_CLOCK_GETTIME
64  #define RDM_WCHAR_IS_UCS4
65  #define RDM_NEED_TIME64_T
66  #define RDM_NEED_WCSNCASECMP
67  #define RDM_NEED_WCSCASECMP
68  #define RDM_NEED_STRUPR
69  #define RDM_NEED_STRCASESTR
70  #define RDM_USE_SMALL_PSP_BLOCKSIZE
71  #define RDM_VALGRIND_CHECK
72  #define RDM_DBL_MIN_NOT_CONSTANT
73  #define RDM_HAVE_DIR_SYNC
74  #define RDM_HAVE_POLL
75  #define RDM_HAVE_QOS
76  #define RDM_TCP_ACCEPT_NO_DELAY
77  #define RDM_HAVE_FFSLL
78  #define RDM_HAVE_FLOCK
79  #define RDM_HAVE_MSG_NOSIGNAL
80 
81 #elif defined(RDM_IPHONE)
82  #define RDM_UNIX
83  #define RDM_DARWIN
84  #define RDM_WCHAR_IS_UCS4
85  #define RDM_NEED_TIME64_T
86  #define RDM_NEED_WCSCASECMP
87  #define RDM_NEED_WCSNCASECMP
88  #undef RDM_HAS_SHARED_MEMORY
89  #define RDM_USE_SMALL_PSP_BLOCKSIZE
90  #define RDM_VALGRIND_CHECK
91  #define RDM_HAVE_DIR_SYNC
92  #define RDM_HAVE_POLL
93  #define RDM_HAVE_FFSLL
94  #define RDM_HAVE_FLOCK
95 
96 #elif defined(RDM_OSX)
97  #define RDM_UNIX
98  #define RDM_DARWIN
99  #define RDM_WCHAR_IS_UCS4
100  #define RDM_NEED_TIME64_T
101  #define RDM_NEED_STRUPR
102  #define RDM_COLLATE_LOCAL
103  #define RDM_NEED_WCSCASECMP
104  #define RDM_NEED_WCSNCASECMP
105  #define RDM_HAVE_DIR_SYNC
106  #define RDM_HAVE_POLL
107  #define RDM_MEM_MMAP
108  #define RDM_MEM_ALIGN_4K
109  #define RDM_HAVE_FFSLL
110  #define RDM_HAVE_FLOCK
111  #define RDM_HAVE_GETIFADDRS
112 
113 #elif defined(RDM_SOLARIS)
114  #define RDM_UNIX
115  #define RDM_WCHAR_IS_UCS4
116  #define RDM_NEED_TIME64_T
117  #define RDM_NEED_STRCASESTR
118  #define RDM_VALGRIND_CHECK
119  #define RDM_HAVE_DIR_SYNC
120  #define RDM_HAVE_POLL
121  #define RDM_DEFINE_POSIX_C_SOURCE 200112
122  #define RDM_DEFINE__EXTENSIONS__
123  #define RDM_MEM_MMAP
124  #define RDM_MEM_ALIGN_4K
125  #define RDM_HAVE_FFSLL
126  #define RDM_HAVE_LOCKF
127  #define RDM_HAVE_MSG_NOSIGNAL
128  #define RDM_HAVE_SIOCGIFHWADDR
129 
130 #elif defined(RDM_WINDOWS)
131  #define RDM_WCHAR_IS_UTF16
132  #define RDM_NO_DAEMON
133  #define RDM_NEED_STRCASESTR
134  #define RDM_NEED_TIME64_T
135  #define RDM_COLLATE_LOCAL
136  #define RDM_DEFINE_CRT_NONSTDC_NO_DEPRECATE
137  #define RDM_DEFINE_CRT_SECURE_NO_DEPRECATE
138  #define RDM_DEFINE_CRT_SECURE_NO_WARNINGS
139  #define RDM_HAVE_POLL
140  #define RDM_DONT_USE_KEEPALIVES
141  #define RDM_TCP_CONNECT_NO_DELAY
142  #define RDM_MEM_VIRTUAL_ALLOC
143  #define RDM_MEM_ALIGN_4K
144  #define RDM_HAVE_ALLOCA
145  #define RDM_PURIFY_CHECK
146 
147 #elif defined(RDM_FREEBSD)
148  #define RDM_UNIX
149  #define RDM_WCHAR_IS_UCS4
150  #define RDM_NEED_TIME64_T
151  #define RDM_NEED_WCSCASECMP
152  #define RDM_NEED_WCSNCASECMP
153  #define RDM_DEFINE_REENTRANT
154  #define RDM_VALGRIND_CHECK
155  #define RDM_HAVE_DIR_SYNC
156  #define RDM_HAVE_POLL
157  #define RDM_HAVE_FFSLL
158  #define RDM_HAVE_MSG_NOSIGNAL
159 
160 #elif defined(RDM_VXWORKS_RTP)
161  #define RDM_UNIX
162  #define RDM_HAVE_CLOCK_GETTIME
163  #define RDM_NO_UNICODE
164  #define RDM_WCHAR_IS_UCS4
165  #define RDM_NEED_TIME64_T
166  #define RDM_ALIGN4
167  #define RDM_NEED_PREAD_PWRITE
168  #define RDM_NO_DAEMON
169  #define RDM_NEED_STRCASESTR
170  #define RDM_NEED_DIRNAME
171  #define RDM_NO_IPV6
172  #undef RDM_HAS_SHARED_MEMORY
173  #define RDM_DEFINE_REENTRANT
174  #define RDM_DEFINE_RW_MULTI_THREAD
175  #if defined(__DCC__)
176  #define RDM_NO_ATOMIC
177  #endif
178  #define RDM_USE_SMALL_PSP_BLOCKSIZE
179  #define RDM_NO_DYNLOAD
180  #define RDM_NEED_PSP_ATOI64
181  #define RDM_NEED_PSP_ATOUI64
182  #define RDM_NO_FILE_LOCK
183  #define RDM_HAVE_DIR_SYNC
184  #define RDM_DONT_USE_KEEPALIVES
185  #define RDM_HAVE_SIOCGIFHWADDR
186 
187 #elif defined(RDM_VXWORKS)
188  #define RDM_UNIX
189  #define RDM_HAVE_CLOCK_GETTIME
190  #define RDM_NO_UNICODE
191  #define RDM_WCHAR_IS_UCS4
192  #define RDM_NEED_STRCASECMP
193  #define RDM_NEED_STRNCASECMP
194  #define RDM_NEED_STRNCMP
195  #define RDM_NO_TLS
196  #define RDM_NO_ATOMIC
197  #define RDM_NEED_DIRNAME
198  #define RDM_NEED_TIME64_T
199  #define RDM_NO_DAEMON
200  #define RDM_NEED_STRCASESTR
201  #undef RDM_HAS_SHARED_MEMORY
202  #define RDM_COLLATE_NO
203  #define RDM_NO_IPV6
204  #define RDM_NEED_ISFINITE
205  #undef RDM_NEED_C99_VSNWPRINTF
206  #define RDM_NEED_PREAD_PWRITE
207  #define RDM_DEFINE_REENTRANT
208  #define RDM_DEFINE_RW_MULTI_THREAD
209  #define RDM_USE_SMALL_PSP_BLOCKSIZE
210  #define RDM_NO_DYNLOAD
211  #define RDM_NEED_PSP_ATOI64
212  #define RDM_NEED_PSP_ATOUI64
213  #define RDM_NO_FILE_LOCK
214  #define RDM_NO_CEILF
215  #define RDM_NO_FLOORF
216  #define RDM_NO_VACOPY
217  #define RDM_DONT_USE_KEEPALIVES
218  #define PSP_THREAD_BASE_PRIORITY 120
219  #define PSP_THREAD_INC_PRIORITY -2
220  #define RDM_HAVE_SIOCGIFHWADDR
221 
222 #elif defined(RDM_INTEGRITY)
223  #define RDM_UNIX
224  #define RDM_INTEGRITY_TASKS
225  #define RDM_WCHAR_IS_UCS4
226  #define RDM_LOCALHOST "127.0.0.1"
227  #define RDM_NEED_STRCASECMP
228  #define RDM_NEED_STRNCASECMP
229  #define RDM_NEED_WCSCASECMP
230  #define RDM_NEED_WCSNCASECMP
231  #define RDM_NEED_STRCASESTR
232  #define NO_PREPRO
233  #define RDM_NEED_TIME64_T
234  #define RDM_NO_DAEMON
235  #undef RDM_HAS_SHARED_MEMORY
236  #define RDM_DEFINE_REENTRANT
237  #define RDM_USE_SMALL_PSP_BLOCKSIZE
238  #define RDM_NO_DYNLOAD
239  #define RDM_NO_FILE_LOCK
240  #define RDM_NEED_VALIDATE_FLOAT
241  #define RDM_NEED_VALIDATE_DOUBLE
242  #define RDM_HAVE_DIR_SYNC
243  #define RDM_HAVE_POLL
244  #define PSP_THREAD_BASE_PRIORITY 127
245  #define RDM_HAVE_SIOCGIFHWADDR
246 
247 #elif defined(RDM_ANDROID)
248  #define RDM_UNIX
249  #define RDM_NO_UNICODE
250  #define RDM_WCHAR_IS_UCS4
251  #define RDM_COLLATE_NO
252  #define RDM_NEED_TIME64_T
253  #define RDM_DEFINE_REENTRANT
254  #define RDM_DEFINE_GNU_SOURCE
255  #define RDM_USE_SMALL_PSP_BLOCKSIZE
256  #define RDM_HAVE_DIR_SYNC
257  #define RDM_HAVE_MSG_NOSIGNAL
258  #define RDM_HAVE_SIOCGIFHWADDR
259 
260 #elif defined(RDM_NO_OS)
261  #define RDM_NO_CPP_STD_STRING
262  #define RDM_NO_TFS_LISTEN
263  #define RDM_NO_UNICODE
264  #define RDM_COLLATE_NO
265  #define RDM_NO_THREADS
266  #define RDM_NO_FILESYSTEM
267  #define RDM_NO_TFS_DISK
268  #define RDM_NEED_PSP_ATOI64
269  #define RDM_NEED_PSP_ATOUI64
270  #define RDM_NEED_TIME64_T
271  #define RDM_NO_DAEMON
272  #define RDM_NEED_STRUPR
273  #define RDM_NEED_STRCASECMP
274  #define RDM_NEED_STRNCASECMP
275  #define RDM_NO_LOGGING
276  #define RDM_NEED_STRCASESTR
277  #define RDM_NO_ENV
278  #define RDM_NO_TIME
279  #define RDM_MEM_NO
280  #define RDM_ASSERT_INFINITE_LOOP
281  #undef RDM_HAS_TCP
282  #undef RDM_HAS_SHARED_MEMORY
283 
284 #else
285  #error No OS specific section found
286 #endif
287 
288 #if defined(RDM_UNIX)
289  #define RDM_UNIX_FILE_SYSTEM
290 #elif defined(RDM_WINDOWS)
291  #define RDM_WINDOWS_FILE_SYSTEM
292 #endif
293 
294 #endif /* PSPPLATOS_H_INCLUDED_ */
295 #endif
Header for the Platform Support Package - Dependent settings for each CPU for each OS...