Products Support Documentation Download
pspplatos.h File Reference

Header for the Platform Support Package - Dependent settings for each OS. More...

#include "pspplatcpu.h"
Include dependency graph for pspplatos.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define RDM_ALLOCA_HAVE_ALLOCA
 
#define RDM_ALLOCA_HAVE_MALLOC_H_WITH_ALLOCA
 
#define RDM_ALLOCA_HAVE_VARIABLE_SIZE_ARRAY
 
#define RDM_ASSERT_INFINITE_LOOP
 
#define RDM_ATOMIC_INTEGRITY
 
#define RDM_ATOMIC_NO
 
#define RDM_ATOMIC_UNIX
 
#define RDM_ATOMIC_WINDOWS
 
#define RDM_COLLATE_NO
 
#define RDM_COLLATE_REENTRANT
 
#define RDM_COLLATE_UNIX
 
#define RDM_COLLATE_WINDOWS
 
#define RDM_CONVERT_NO_PREPRO
 
#define RDM_CPP_HAVE_STD_STRING
 
#define RDM_DAEMON_NO
 
#define RDM_DAEMON_UNIX
 
#define RDM_ENV_HAVE_GETIFADDRS
 
#define RDM_ENV_NO
 
#define RDM_ENV_UNIX
 
#define RDM_ENV_WINDOWS
 
#define RDM_FEATURES_CRT_NONSTDC_NO_DEPRECATE
 
#define RDM_FEATURES_CRT_SECURE_NO_DEPRECATE
 
#define RDM_FEATURES_CRT_SECURE_NO_WARNINGS
 
#define RDM_FEATURES_GNU_SOURCE
 
#define RDM_FEATURES_POSIX_C_SOURCE
 
#define RDM_FEATURES_REENTRANT
 
#define RDM_FEATURES_RW_MULTI_THREAD
 
#define RDM_FEATURES__EXTENSIONS__
 
#define RDM_FILE_HAVE_DIR_SYNC
 
#define RDM_FILE_HAVE_FALLOCATE
 
#define RDM_FILE_HAVE_FLOCK
 
#define RDM_FILE_HAVE_LOCKF
 
#define RDM_FILE_HAVE_POSIX_FADVISE
 
#define RDM_FILE_HAVE_PREAD
 
#define RDM_FILE_LOCK_NO
 
#define RDM_FILE_NO
 
#define RDM_FILE_STDIO
 
#define RDM_FILE_UNIX
 
#define RDM_FILE_WINDOWS
 
#define RDM_FLOAT_BITMASKS_FOR_ISFINITE_AND_ISN
 
#define RDM_FLOAT_HAVE_FLOORF
 
#define RDM_FLOAT_HAVE_ISFINITE
 
#define RDM_HAS_SHARED_MEMORY
 
#define RDM_LOGGING
 
#define RDM_LOGGING_NO
 
#define RDM_MEM_ALIGN_4K
 
#define RDM_MEM_MALLOC
 
#define RDM_MEM_MMAP
 
#define RDM_MEM_NO
 
#define RDM_MEM_STATIC_SIZE
 
#define RDM_MEM_VIRTUAL_ALLOC
 
#define RDM_STR_HAVE_STRCASECMP
 
#define RDM_STR_HAVE_STRCASESTR
 
#define RDM_STR_HAVE_STRNCASECMP
 
#define RDM_STR_HAVE_STRNCMP
 
#define RDM_STR_HAVE_STRTOLL
 
#define RDM_STR_HAVE_STRUPR
 
#define RDM_TAG_HAVE_FFSLL
 
#define RDM_TCP
 
#define RDM_TCP
 
#define RDM_TCP_ACCEPT_NO_DELAY
 
#define RDM_TCP_CONNECT_NO_DELAY
 
#define RDM_TCP_DONT_USE_KEEPALIVES
 
#define RDM_TCP_HAVE_MSG_NOSIGNAL
 
#define RDM_TCP_HAVE_POLL
 
#define RDM_TCP_HAVE_QOS
 
#define RDM_TCP_LOCALHOST   "127.0.0.1"
 
#define RDM_TCP_NO_IPV6
 
#define RDM_THREAD_BASE_PRIORITY
 
#define RDM_THREAD_INC_PRIORITY
 
#define RDM_THREAD_INTEGRITY
 
#define RDM_THREAD_NO
 
#define RDM_THREAD_PTHREAD
 
#define RDM_THREAD_VXWORKS
 
#define RDM_THREAD_WINDOWS
 
#define RDM_TIME_HAVE_CLOCK_GETTIME
 
#define RDM_TIME_HAVE_TIME64_T
 
#define RDM_TIME_NO
 
#define RDM_TIME_UNIX
 
#define RDM_TIME_WINDOWS
 
#define RDM_UNIX
 
#define RDM_VARARGS_HAVE_VA_COPY
 
#define RDM_VSNPRINTF
 
#define RDM_THREAD_NO
 

Detailed Description

Header for the Platform Support Package - Dependent settings for each OS.

The content of this file is for the most part only applicable when compiling using an RDM source package or an engineering build. It is defines for the platform support package.

Regarding an object package this is provided here for your information.

Definition in file pspplatos.h.

Macro Definition Documentation

◆ RDM_ALLOCA_HAVE_ALLOCA

#define RDM_ALLOCA_HAVE_ALLOCA

Have alloca (may be defined on some OS)

Definition at line 30 of file pspplatos.h.

◆ RDM_ALLOCA_HAVE_MALLOC_H_WITH_ALLOCA

#define RDM_ALLOCA_HAVE_MALLOC_H_WITH_ALLOCA

Have malloc.h that declares alloca (may be defined on some OS)

Definition at line 33 of file pspplatos.h.

◆ RDM_ALLOCA_HAVE_VARIABLE_SIZE_ARRAY

#define RDM_ALLOCA_HAVE_VARIABLE_SIZE_ARRAY

Have variable size arrays (may be defined on some OS)

Definition at line 36 of file pspplatos.h.

◆ RDM_ASSERT_INFINITE_LOOP

#define RDM_ASSERT_INFINITE_LOOP

Implement assert using an infinite loop (may be defined on some OS)

Definition at line 39 of file pspplatos.h.

◆ RDM_ATOMIC_INTEGRITY

#define RDM_ATOMIC_INTEGRITY

Atomic integer implementation for Integrity (may be defined on some OS)

Definition at line 42 of file pspplatos.h.

◆ RDM_ATOMIC_NO

#define RDM_ATOMIC_NO

No atomic integer implementation (may be defined on some OS)

Definition at line 45 of file pspplatos.h.

◆ RDM_ATOMIC_UNIX

#define RDM_ATOMIC_UNIX

Atomic integer implementation for Unix (may be defined on some OS)

Definition at line 48 of file pspplatos.h.

◆ RDM_ATOMIC_WINDOWS

#define RDM_ATOMIC_WINDOWS

Atomic integer implementation for Windows (may be defined on some OS)

Definition at line 51 of file pspplatos.h.

◆ RDM_COLLATE_NO

#define RDM_COLLATE_NO

No implementation for string collate (may be defined on some OS)

Definition at line 54 of file pspplatos.h.

◆ RDM_COLLATE_REENTRANT

#define RDM_COLLATE_REENTRANT

Have reentrant versions of collate (may be defined on some OS)

Definition at line 57 of file pspplatos.h.

◆ RDM_COLLATE_UNIX

#define RDM_COLLATE_UNIX

Unix implementation for string collate (may be defined on some OS)

Definition at line 60 of file pspplatos.h.

◆ RDM_COLLATE_WINDOWS

#define RDM_COLLATE_WINDOWS

Windows implementation for string collate (may be defined on some OS)

Definition at line 63 of file pspplatos.h.

◆ RDM_CONVERT_NO_PREPRO

#define RDM_CONVERT_NO_PREPRO

Do not invode the C preprocessor for input file to rdm-convert (may be defined on some OS)

Definition at line 66 of file pspplatos.h.

◆ RDM_CPP_HAVE_STD_STRING

#define RDM_CPP_HAVE_STD_STRING

Have C++ standard String class (may be defined on some OS)

Definition at line 69 of file pspplatos.h.

◆ RDM_DAEMON_NO

#define RDM_DAEMON_NO

No Daemon implementation (may be defined on some OS)

Definition at line 72 of file pspplatos.h.

◆ RDM_DAEMON_UNIX

#define RDM_DAEMON_UNIX

Daemon implementation for Unix (may be defined on some OS)

Definition at line 75 of file pspplatos.h.

◆ RDM_ENV_HAVE_GETIFADDRS

#define RDM_ENV_HAVE_GETIFADDRS

Have getifaddrs (may be defined on some OS)

Definition at line 78 of file pspplatos.h.

◆ RDM_ENV_NO

#define RDM_ENV_NO

No environment implementation (may be defined on some OS)

Definition at line 81 of file pspplatos.h.

◆ RDM_ENV_UNIX

#define RDM_ENV_UNIX

Envirionment implementation for Unix (may be defined on some OS)

Definition at line 84 of file pspplatos.h.

◆ RDM_ENV_WINDOWS

#define RDM_ENV_WINDOWS

Envirionment implementation for Windows (may be defined on some OS)

Definition at line 87 of file pspplatos.h.

◆ RDM_FEATURES__EXTENSIONS__

#define RDM_FEATURES__EXTENSIONS__

Define EXTENSIONS (may be defined on some OS)

Definition at line 111 of file pspplatos.h.

◆ RDM_FEATURES_CRT_NONSTDC_NO_DEPRECATE

#define RDM_FEATURES_CRT_NONSTDC_NO_DEPRECATE

Define _CRT_NONSTDC_NO_DEPRECATE (may be defined on some OS)

Definition at line 90 of file pspplatos.h.

◆ RDM_FEATURES_CRT_SECURE_NO_DEPRECATE

#define RDM_FEATURES_CRT_SECURE_NO_DEPRECATE

Define _CRT_SECURE_NO_DEPRECATE (may be defined on some OS)

Definition at line 93 of file pspplatos.h.

◆ RDM_FEATURES_CRT_SECURE_NO_WARNINGS

#define RDM_FEATURES_CRT_SECURE_NO_WARNINGS

Define _CRT_SECURE_NO_WARNINGS (may be defined on some OS)

Definition at line 96 of file pspplatos.h.

◆ RDM_FEATURES_GNU_SOURCE

#define RDM_FEATURES_GNU_SOURCE

Define _GNU_SOURCE (may be defined on some OS)

Definition at line 99 of file pspplatos.h.

◆ RDM_FEATURES_POSIX_C_SOURCE

#define RDM_FEATURES_POSIX_C_SOURCE

Define _POSIX_C_SOURCE to the specified value (may be defined on some OS)

Definition at line 102 of file pspplatos.h.

◆ RDM_FEATURES_REENTRANT

#define RDM_FEATURES_REENTRANT

Define _REENTRANT (may be defined on some OS)

Definition at line 105 of file pspplatos.h.

◆ RDM_FEATURES_RW_MULTI_THREAD

#define RDM_FEATURES_RW_MULTI_THREAD

Define RW_MULTI_THREAD (may be defined on some OS)

Definition at line 108 of file pspplatos.h.

◆ RDM_FILE_HAVE_DIR_SYNC

#define RDM_FILE_HAVE_DIR_SYNC

Have the capability of syncing a directory (may be defined on some OS)

Definition at line 114 of file pspplatos.h.

◆ RDM_FILE_HAVE_FALLOCATE

#define RDM_FILE_HAVE_FALLOCATE

Have fallocate for punching holes in files (may be defined on some OS)

Definition at line 117 of file pspplatos.h.

◆ RDM_FILE_HAVE_FLOCK

#define RDM_FILE_HAVE_FLOCK

Have flock for doing file locking (may be defined on some OS)

Definition at line 120 of file pspplatos.h.

◆ RDM_FILE_HAVE_LOCKF

#define RDM_FILE_HAVE_LOCKF

Have lockf for doing file locking (may be defined on some OS)

Definition at line 123 of file pspplatos.h.

◆ RDM_FILE_HAVE_POSIX_FADVISE

#define RDM_FILE_HAVE_POSIX_FADVISE

Have posix_fadvise for paging out pages in the file cache (may be defined on some OS)

Definition at line 126 of file pspplatos.h.

◆ RDM_FILE_HAVE_PREAD

#define RDM_FILE_HAVE_PREAD

Have pread and pwrite (may be defined on some OS)

Definition at line 129 of file pspplatos.h.

◆ RDM_FILE_LOCK_NO

#define RDM_FILE_LOCK_NO

No file locking (may be defined on some OS)

Definition at line 132 of file pspplatos.h.

◆ RDM_FILE_NO

#define RDM_FILE_NO

No file system implementation for unbuffered read and write and other file operations (may be defined on some OS)

Definition at line 136 of file pspplatos.h.

◆ RDM_FILE_STDIO

#define RDM_FILE_STDIO

Reading and writing of buffered files using stdio. No other file operations (may be defined on some OS)

Definition at line 140 of file pspplatos.h.

◆ RDM_FILE_UNIX

#define RDM_FILE_UNIX

Unix file system implementation for unbuffered read and write and other file operations (may be defined on some OS)

Definition at line 144 of file pspplatos.h.

◆ RDM_FILE_WINDOWS

#define RDM_FILE_WINDOWS

Windows file system implementation for unbuffered read and write and other file operations (may be defined on some OS)

Definition at line 148 of file pspplatos.h.

◆ RDM_FLOAT_BITMASKS_FOR_ISFINITE_AND_ISN

#define RDM_FLOAT_BITMASKS_FOR_ISFINITE_AND_ISN

Use bitmasks for determining IEEE-754 INF and NAN (may be defined on some OS)

Definition at line 151 of file pspplatos.h.

◆ RDM_FLOAT_HAVE_FLOORF

#define RDM_FLOAT_HAVE_FLOORF

Have floorf and ceilf (may be defined on some OS)

Definition at line 154 of file pspplatos.h.

◆ RDM_FLOAT_HAVE_ISFINITE

#define RDM_FLOAT_HAVE_ISFINITE

Have isfinite and isnan (may be defined on some OS)

Definition at line 157 of file pspplatos.h.

◆ RDM_HAS_SHARED_MEMORY

#define RDM_HAS_SHARED_MEMORY

Shared memory (may be defined on some OS)

Definition at line 160 of file pspplatos.h.

◆ RDM_LOGGING

#define RDM_LOGGING

A platform independent logging implementation (may be defined on some OS)

Definition at line 163 of file pspplatos.h.

◆ RDM_LOGGING_NO

#define RDM_LOGGING_NO

No logging implementation (may be defined on some OS)

Definition at line 166 of file pspplatos.h.

◆ RDM_MEM_ALIGN_4K

#define RDM_MEM_ALIGN_4K

Dynamic memory allocated is 4K aligned (may be defined on some OS)

Definition at line 169 of file pspplatos.h.

◆ RDM_MEM_MALLOC

#define RDM_MEM_MALLOC

Dynamic memory allocation using malloc and request large blocks (may be defined on some OS)

Definition at line 172 of file pspplatos.h.

◆ RDM_MEM_MMAP

#define RDM_MEM_MMAP

Dynamic memory allocation using mmap on Unix and request large blocks (may be defined on some OS)

Definition at line 175 of file pspplatos.h.

◆ RDM_MEM_NO

#define RDM_MEM_NO

No dynamic memory allocation (may be defined on some OS)

Definition at line 178 of file pspplatos.h.

◆ RDM_MEM_STATIC_SIZE

#define RDM_MEM_STATIC_SIZE

Use a buffer of this size when allocating memory statically (may be defined on some OS)

Definition at line 181 of file pspplatos.h.

◆ RDM_MEM_VIRTUAL_ALLOC

#define RDM_MEM_VIRTUAL_ALLOC

Dynamic memory allocation using virtual_alloc on Windows and request large blocks (may be defined on some OS)

Definition at line 185 of file pspplatos.h.

◆ RDM_STR_HAVE_STRCASECMP

#define RDM_STR_HAVE_STRCASECMP

Have strcasecmp (may be defined on some OS)

Definition at line 188 of file pspplatos.h.

◆ RDM_STR_HAVE_STRCASESTR

#define RDM_STR_HAVE_STRCASESTR

Have strcasestr (may be defined on some OS)

Definition at line 191 of file pspplatos.h.

◆ RDM_STR_HAVE_STRNCASECMP

#define RDM_STR_HAVE_STRNCASECMP

Have strncasecmp (may be defined on some OS)

Definition at line 194 of file pspplatos.h.

◆ RDM_STR_HAVE_STRNCMP

#define RDM_STR_HAVE_STRNCMP

Have strncmp (may be defined on some OS)

Definition at line 197 of file pspplatos.h.

◆ RDM_STR_HAVE_STRTOLL

#define RDM_STR_HAVE_STRTOLL

Have strtoll and strtoull (may be defined on some OS)

Definition at line 200 of file pspplatos.h.

◆ RDM_STR_HAVE_STRUPR

#define RDM_STR_HAVE_STRUPR

Have strupr and strlwr (may be defined on some OS)

Definition at line 203 of file pspplatos.h.

◆ RDM_TAG_HAVE_FFSLL

#define RDM_TAG_HAVE_FFSLL

Have ffsll for finding the first bit set in a word (may be defined on some OS)

Definition at line 206 of file pspplatos.h.

◆ RDM_TCP [1/2]

#define RDM_TCP

We have a TCP implementation (may be defined on some OS)

Implement a TCP transport (may be defined on some OS)

Definition at line 212 of file pspplatos.h.

◆ RDM_TCP [2/2]

#define RDM_TCP

We have a TCP implementation (may be defined on some OS)

Implement a TCP transport (may be defined on some OS)

Definition at line 212 of file pspplatos.h.

◆ RDM_TCP_ACCEPT_NO_DELAY

#define RDM_TCP_ACCEPT_NO_DELAY

Use socket option TCP_NODELAY for accepting a connection (may be defined on some OS)

Definition at line 215 of file pspplatos.h.

◆ RDM_TCP_CONNECT_NO_DELAY

#define RDM_TCP_CONNECT_NO_DELAY

Use socket option TCP_NODELAY for conneting (may be defined on some OS)

Definition at line 218 of file pspplatos.h.

◆ RDM_TCP_DONT_USE_KEEPALIVES

#define RDM_TCP_DONT_USE_KEEPALIVES

Use socket option SO_KEEPALIVE (may be defined on some OS)

Definition at line 221 of file pspplatos.h.

◆ RDM_TCP_HAVE_MSG_NOSIGNAL

#define RDM_TCP_HAVE_MSG_NOSIGNAL

Have the send flag MSG_NOSIGNAL (may be defined on some OS)

Definition at line 224 of file pspplatos.h.

◆ RDM_TCP_HAVE_POLL

#define RDM_TCP_HAVE_POLL

Have poll and use this instead of select (may be defined on some OS)

Definition at line 227 of file pspplatos.h.

◆ RDM_TCP_HAVE_QOS

#define RDM_TCP_HAVE_QOS

Have Quality Of Service (may be defined on some OS)

Definition at line 230 of file pspplatos.h.

◆ RDM_TCP_LOCALHOST

#define RDM_TCP_LOCALHOST   "127.0.0.1"

The IP address to use for localhost (may be defined on some OS)

Definition at line 233 of file pspplatos.h.

◆ RDM_TCP_NO_IPV6

#define RDM_TCP_NO_IPV6

No IP version 6 implementation (may be defined on some OS)

Definition at line 236 of file pspplatos.h.

◆ RDM_THREAD_BASE_PRIORITY

#define RDM_THREAD_BASE_PRIORITY

Thread priority levels are derived from this and RDM_THREAD_INC_PRIORITY (may be defined on some OS)

Definition at line 239 of file pspplatos.h.

◆ RDM_THREAD_INC_PRIORITY

#define RDM_THREAD_INC_PRIORITY

Thread priority levels are derived from this and RDM_THREAD_BASE_PRIORITY (may be defined on some OS)

Definition at line 242 of file pspplatos.h.

◆ RDM_THREAD_INTEGRITY

#define RDM_THREAD_INTEGRITY

Thread implementation for INTEGRITY (may be defined on some OS)

Definition at line 245 of file pspplatos.h.

◆ RDM_THREAD_NO [1/2]

#define RDM_THREAD_NO

No thread implementation (may be defined on some OS)

Definition at line 609 of file pspplatos.h.

◆ RDM_THREAD_NO [2/2]

#define RDM_THREAD_NO

No thread implementation (may be defined on some OS)

Definition at line 609 of file pspplatos.h.

◆ RDM_THREAD_PTHREAD

#define RDM_THREAD_PTHREAD

Thread implementation for Posix Threads on Unix (may be defined on some OS)

Definition at line 251 of file pspplatos.h.

◆ RDM_THREAD_VXWORKS

#define RDM_THREAD_VXWORKS

Thread implementation for VxWorks (may be defined on some OS)

Definition at line 254 of file pspplatos.h.

◆ RDM_THREAD_WINDOWS

#define RDM_THREAD_WINDOWS

Thread implementation for Windows (may be defined on some OS)

Definition at line 257 of file pspplatos.h.

◆ RDM_TIME_HAVE_CLOCK_GETTIME

#define RDM_TIME_HAVE_CLOCK_GETTIME

Have clock_gettime (may be defined on some OS)

Definition at line 260 of file pspplatos.h.

◆ RDM_TIME_HAVE_TIME64_T

#define RDM_TIME_HAVE_TIME64_T

Have the time64_t type (may be defined on some OS)

Definition at line 263 of file pspplatos.h.

◆ RDM_TIME_NO

#define RDM_TIME_NO

No time implementation (may be defined on some OS)

Definition at line 266 of file pspplatos.h.

◆ RDM_TIME_UNIX

#define RDM_TIME_UNIX

Timed implementation for Unix (may be defined on some OS)

Definition at line 269 of file pspplatos.h.

◆ RDM_TIME_WINDOWS

#define RDM_TIME_WINDOWS

Time implementation for Windows (may be defined on some OS)

Definition at line 272 of file pspplatos.h.

◆ RDM_UNIX

#define RDM_UNIX

This is a Posix or Unix like system (may be defined on some OS)

Definition at line 278 of file pspplatos.h.

◆ RDM_VARARGS_HAVE_VA_COPY

#define RDM_VARARGS_HAVE_VA_COPY

Have va_copy (may be defined on some OS)

Definition at line 281 of file pspplatos.h.

◆ RDM_VSNPRINTF

#define RDM_VSNPRINTF

Using our own vsnprintf (may be defined on some OS)

Definition at line 284 of file pspplatos.h.