15 #if defined(_WIN_32) || defined(_EMX)
16 #define ENABLE_BAD_ALLOC
20 #if defined(_WIN_32) || defined(_EMX)
28 //#define WINVER 0x0400
29 #if _WIN32_WINNT < 0x0300
31 #define _WIN32_WINNT 0x0300
35 #define WIN32_LEAN_AND_MEAN
41 #if defined(TARGET_POSIX)
42 #include "PlatformDefs.h"
48 #include <sys/types.h>
53 #if !defined(_EMX) && !defined(_MSC_VER) && !defined(_WIN_CE)
58 // #define for if (0) ; else for
70 #if defined(ENABLE_BAD_ALLOC) && !defined(_WIN_CE)
83 #include <sys/utime.h>
84 #include <emx/syscalls.h>
87 #if defined(_MSC_VER) || defined(__MINGW32__)
113 #define ENABLE_ACCESS
115 #define DefConfigName "rar.ini"
116 #define DefLogName "rar.log"
119 #define PATHDIVIDER "\\"
120 #define PATHDIVIDERW L"\\"
121 #define CPATHDIVIDER '\\'
123 #define MASKALLW L"*"
125 #define READBINARY "rb"
126 #define READTEXT "rt"
127 #define UPDATEBINARY "r+b"
128 #define CREATEBINARY "w+b"
129 #define APPENDTEXT "at"
133 #define _stdfunction __cdecl
135 #define _stdfunction _USERENTRY
148 #include <be/kernel/fs_info.h>
149 #include <be/kernel/fs_attr.h>
153 #include <sys/types.h>
154 #include <sys/stat.h>
155 #include <sys/file.h>
156 #if defined(__QNXNTO__)
157 #include <sys/param.h>
159 #if defined(__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined(__APPLE__)
160 #include <sys/param.h>
161 #include <sys/mount.h>
183 #define ENABLE_ACCESS
185 #define DefConfigName ".rarrc"
186 #define DefLogName ".rarlog"
189 #define PATHDIVIDER "/"
190 #define PATHDIVIDERW L"/"
191 #define CPATHDIVIDER '/'
193 #define MASKALLW L"*"
195 #define READBINARY "r"
197 #define UPDATEBINARY "r+"
198 #define CREATEBINARY "w+"
199 #define APPENDTEXT "a"
203 #if defined(__sparc) || defined(sparc) || defined(__hpux)
211 typedef const char* MSGID;
213 #define safebuf static
215 #if defined(LITTLE_ENDIAN) && defined(BIG_ENDIAN)
216 #if defined(BYTE_ORDER) && BYTE_ORDER == BIG_ENDIAN
218 #elif defined(BYTE_ORDER) && BYTE_ORDER == LITTLE_ENDIAN
221 #error "Both LITTLE_ENDIAN and BIG_ENDIAN are defined. Undef something one"
225 #if !defined(BIG_ENDIAN) && !defined(_WIN_CE) && defined(_WIN_32)
226 #define ALLOW_NOT_ALIGNED_INT