112 #if !defined(_WRS_VXWORKS_MAJOR) || (_WRS_VXWORKS_MAJOR < 6)
113 # error "The vxWorks version you're using is so badly outdated,\
114 it doesn't work at all with boost, sorry, no chance!"
118 #if (_WRS_VXWORKS_MAJOR == 6) && (_WRS_VXWORKS_MINOR < 9)
127 #define BOOST_PLATFORM "vxWorks"
133 # define BOOST_NO_CWCHAR
136 # define BOOST_NO_CWCTYPE
137 # define BOOST_NO_SWPRINTF
138 # define BOOST_NO_STD_WSTRING
139 # define BOOST_NO_STD_WSTREAMBUF
143 #define BOOST_HAS_UNISTD_H
144 #define BOOST_HAS_STDINT_H
145 #define BOOST_HAS_DIRENT_H
146 #define BOOST_HAS_SLIST
152 #define BOOST_LOCALE_WITH_ICU
155 #define BOOST_HAS_THREADS
156 #define BOOST_HAS_NANOSLEEP
157 #define BOOST_HAS_GETTIMEOFDAY
158 #define BOOST_HAS_CLOCK_GETTIME
159 #define BOOST_HAS_MACRO_USE_FACET
163 #define BOOST_NO_CXX11_EXTERN_TEMPLATE
164 #define BOOST_NO_CXX11_VARIADIC_MACROS
167 #define BOOST_HAS_PTHREADS
168 #define BOOST_HAS_SCHED_YIELD
169 #define BOOST_HAS_SIGACTION
173 # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
174 # define BOOST_HAS_LOG1P
175 # define BOOST_HAS_EXPM1
186 # ifndef _POSIX_TIMERS
187 # define _POSIX_TIMERS 1
189 # ifndef _POSIX_THREADS
190 # define _POSIX_THREADS 1
195 #define BOOST_ASIO_DISABLE_SERIAL_PORT
219 #define VX_JOIN(X, Y) VX_DO_JOIN(X, Y)
220 #define VX_DO_JOIN(X, Y) VX_DO_JOIN2(X, Y)
221 #define VX_DO_JOIN2(X, Y) X##Y
228 #define INT32_C(x) VX_JOIN(x, L)
229 #define UINT32_C(x) VX_JOIN(x, UL)
230 #define INT64_C(x) VX_JOIN(x, LL)
231 #define UINT64_C(x) VX_JOIN(x, ULL)
236 #include <sys/time.h>
252 inline int getrlimit(
int resource,
struct rlimit *rlp){
253 return getprlimit(0, 0, resource, rlp);
256 inline int setrlimit(
int resource,
const struct rlimit *rlp){
257 return setprlimit(0, 0, resource,
const_cast<struct rlimit*
>(rlp));
263 int fd = open(p, O_WRONLY);
268 if (ftruncate(fd, l) == -1){
283 inline ssize_t
readlink(
const char*,
char*,
size_t){
295 clock_gettime(CLOCK_MONOTONIC, &ts);
296 tv->tv_sec = ts.tv_sec;
297 tv->tv_usec = ts.tv_nsec / 1000;
320 clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts);
321 clock_t ticks(
static_cast<clock_t
>(
static_cast<double>(ts.tv_sec) * CLOCKS_PER_SEC +
322 static_cast<double>(ts.tv_nsec) * CLOCKS_PER_SEC / 1000000.0));
352 #define getpagesize() sysconf(_SC_PAGESIZE) // getpagesize is deprecated anyway!
354 # define S_ISSOCK(mode) ((mode & S_IFMT) == S_IFSOCK) // Is file a socket?
356 #define lstat(p, b) stat(p, b) // lstat() == stat(), as vxWorks has no symlinks!
358 # define FPE_FLTINV (FPE_FLTSUB+1) // vxWorks has no FPE_FLTINV, so define one as a dummy
360 #if !defined(BUS_ADRALN) && defined(BUS_ADRALNR)
361 # define BUS_ADRALN BUS_ADRALNR // Correct a supposed typo in vxWorks' <signal.h>
369 #undef BOOST_HAS_NL_TYPES_H