Listing 2: Platform-specific constant definitions
// file stdhead.h /* #define OS_DOS 1 */ #define OS_WIN32 1 /* #define OS_QNX 1 */ /* #define OS_UNIX 1 */ /* #define OS_MAC 1 */ #ifdef OS_DOS #define PATH_SEP '\\' #define SWITCH_CHAR '/' #define PLATFORM_STRING "DOS" #endif #ifdef OS_WIN32 #define PATH_SEP '\\' #define SWITCH_CHAR '/' #define PLATFORM_STRING "32bit Windows" #endif #ifdef OS_QNX #define PATH_SEP '/' #define SWITCH_CHAR '-' #define PLATFORM_STRING "QNX" #endif #ifdef OS_UNIX #define PATH_SEP '/' #define SWITCH_CHAR '-' #define PLATFORM_STRING "Unix" /* #define SUB_PLATFORM_STRING "HP-UX" */ /* #define SUB_PLATFORM_STRING "AIX" */ /* #define SUB_PLATFORM_STRING "Solaris" */ /* #define SUB_PLATFORM_STRING "Linux" */ /* #define OS_UNIX_REDHAT_LINUX 1 */ /* #define OS_UNIX_HPUX 1 */ /* #define OS_UNIX_SOLARIS 1 */ /* #define OS_UNIX_AIX 1 */ /* #define OS_UNIX_IRIX */ #endif #ifdef OS_MAC #define PATH_SEP ':' #define SWITCH_CHAR '-' #define PLATFORM_STRING "Mac" #endif