1 #ifndef QPLATFORMDEFS_H 2 #define QPLATFORMDEFS_H 3 4 #ifdef UNICODE 5 #ifndef _UNICODE 6 #define _UNICODE 7 #endif 8 #endif 9 10 // Get Qt defines/settings 11 12 #include "qglobal.h" 13 #define Q_FS_FAT 14 15 #define _POSIX_ 16 #include <limits.h> 17 #undef _POSIX_ 18 19 #include <tchar.h> 20 #include <io.h> 21 #include <direct.h> 22 #include <stdio.h> 23 #include <fcntl.h> 24 #include <errno.h> 25 #include <sys/stat.h> 26 #include <dos.h> 27 #include <stdlib.h> 28 #include <windows.h> 29 30 #if __BORLANDC__ >= 0x550 31 // Borland Builder 6 32 33 #ifdef QT_LARGEFILE_SUPPORT 34 # define QT_STATBUF struct stati64 // non-ANSI defs 35 # define QT_STATBUF4TSTAT struct stati64 // non-ANSI defs 36 # define QT_STAT ::_stati64 37 # define QT_FSTAT ::fstati64 38 # define QT_LSEEK ::_lseeki64 39 # define QT_TSTAT ::_tstati64 40 #else 41 # define QT_STATBUF struct stat // non-ANSI defs 42 # define QT_STATBUF4TSTAT struct _stat // non-ANSI defs 43 # define QT_STAT ::stat 44 # define QT_FSTAT ::fstat 45 # define QT_LSEEK ::_lseek 46 # define QT_TSTAT ::_tstat 47 #endif 48 49 #define QT_STAT_REG _S_IFREG 50 #define QT_STAT_DIR _S_IFDIR 51 #define QT_STAT_MASK _S_IFMT 52 53 #if defined(_S_IFLNK) 54 # define QT_STAT_LNK _S_IFLNK 55 #endif 56 57 #define QT_FILENO _fileno 58 #define QT_OPEN ::open 59 #define QT_CLOSE ::_close 60 61 #define QT_READ ::_read 62 #define QT_WRITE ::_write 63 #define QT_ACCESS ::_access 64 #define QT_GETCWD ::_getcwd 65 #define QT_CHDIR ::chdir 66 #define QT_MKDIR ::_mkdir 67 #define QT_RMDIR ::_rmdir 68 #define QT_OPEN_RDONLY _O_RDONLY 69 #define QT_OPEN_WRONLY _O_WRONLY 70 #define QT_OPEN_RDWR _O_RDWR 71 #define QT_OPEN_CREAT _O_CREAT 72 #define QT_OPEN_TRUNC _O_TRUNC 73 #define QT_OPEN_APPEND _O_APPEND 74 75 #if defined(O_TEXT) 76 # define QT_OPEN_TEXT _O_TEXT 77 # define QT_OPEN_BINARY _O_BINARY 78 #endif 79 80 #else 81 // Borland Builder 5 82 83 #ifdef QT_LARGEFILE_SUPPORT 84 # define QT_STATBUF struct stati64 // non-ANSI defs 85 # define QT_STATBUF4TSTAT struct stati64 // non-ANSI defs 86 # define QT_STAT ::stati64 87 # define QT_FSTAT ::fstati64 88 # define QT_LSEEK ::lseeki64 89 # define QT_TSTAT ::tstati64 90 #else 91 # define QT_STATBUF struct stat // non-ANSI defs 92 # define QT_STATBUF4TSTAT struct stat // non-ANSI defs 93 # define QT_STAT ::stat 94 # define QT_FSTAT ::fstat 95 # define QT_LSEEK ::lseek 96 # define QT_TSTAT ::tstat 97 #endif 98 99 #define QT_STAT_REG S_IFREG 100 #define QT_STAT_DIR S_IFDIR 101 #define QT_STAT_MASK S_IFMT 102 103 #if defined(S_IFLNK) 104 # define QT_STAT_LNK S_IFLNK 105 #endif 106 107 #define QT_FILENO fileno 108 #define QT_OPEN ::open 109 #define QT_CLOSE ::close 110 111 #define QT_READ ::read 112 #define QT_WRITE ::write 113 #define QT_ACCESS ::access 114 115 #if defined(Q_OS_OS2EMX) 116 // This is documented in the un*x to OS/2-EMX Porting FAQ: 117 // http://homepages.tu-darmstadt.de/~st002279/os2/porting.html 118 # define QT_GETCWD ::_getcwd2 119 # define QT_CHDIR ::_chdir2 120 #else 121 # define QT_GETCWD ::getcwd 122 # define QT_CHDIR ::chdir 123 #endif 124 125 #define QT_MKDIR ::mkdir 126 #define QT_RMDIR ::rmdir 127 #define QT_OPEN_RDONLY O_RDONLY 128 #define QT_OPEN_WRONLY O_WRONLY 129 #define QT_OPEN_RDWR O_RDWR 130 #define QT_OPEN_CREAT O_CREAT 131 #define QT_OPEN_TRUNC O_TRUNC 132 #define QT_OPEN_APPEND O_APPEND 133 134 #if defined(O_TEXT) 135 # define QT_OPEN_TEXT O_TEXT 136 # define QT_OPEN_BINARY O_BINARY 137 #endif 138 139 #endif // __BORLANDC__ >= 0x550 140 141 // Borland Builder 5 and 6 142 143 #define QT_SIGNAL_ARGS int 144 145 #define QT_VSNPRINTF ::_vsnprintf 146 #define QT_SNPRINTF ::_snprintf 147 148 # define F_OK 0 149 # define X_OK 1 150 # define W_OK 2 151 # define R_OK 4 152 153 154 #endif // QPLATFORMDEFS_H 155