/**************************************************************************** ** ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** ** This file is part of the qmake spec of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** GNU Lesser General Public License Usage ** This file may be used under the terms of the GNU Lesser General Public ** License version 2.1 as published by the Free Software Foundation and ** appearing in the file LICENSE.LGPL included in the packaging of this ** file. Please review the following information to ensure the GNU Lesser ** General Public License version 2.1 requirements will be met: ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Nokia gives you certain additional ** rights. These rights are described in the Nokia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU General ** Public License version 3.0 as published by the Free Software Foundation ** and appearing in the file LICENSE.GPL included in the packaging of this ** file. Please review the following information to ensure the GNU General ** Public License version 3.0 requirements will be met: ** http://www.gnu.org/copyleft/gpl.html. ** ** Other Usage ** Alternatively, this file may be used in accordance with the terms and ** conditions contained in a signed written agreement between you and Nokia. ** ** ** ** ** ** $QT_END_LICENSE$ ** ****************************************************************************/ #ifndef QPLATFORMDEFS_H #define QPLATFORMDEFS_H #ifdef UNICODE #ifndef _UNICODE #define _UNICODE #endif #endif // Get Qt defines/settings #include "qglobal.h" #define Q_FS_FAT #define _POSIX_ #include #undef _POSIX_ #include #include #include #include #include #include #include #include #include #include #include #if __BORLANDC__ >= 0x550 // Borland Builder 6 #ifdef QT_LARGEFILE_SUPPORT # define QT_STATBUF struct stati64 // non-ANSI defs # define QT_STATBUF4TSTAT struct stati64 // non-ANSI defs # define QT_STAT ::_stati64 # define QT_FSTAT ::fstati64 # define QT_LSEEK ::_lseeki64 # define QT_TSTAT ::_tstati64 #else # define QT_STATBUF struct stat // non-ANSI defs # define QT_STATBUF4TSTAT struct _stat // non-ANSI defs # define QT_STAT ::stat # define QT_FSTAT ::fstat # define QT_LSEEK ::_lseek # define QT_TSTAT ::_tstat #endif #define QT_STAT_REG _S_IFREG #define QT_STAT_DIR _S_IFDIR #define QT_STAT_MASK _S_IFMT #if defined(_S_IFLNK) # define QT_STAT_LNK _S_IFLNK #endif #include "../common/c89/qplatformdefs.h" #ifdef QT_LARGEFILE_SUPPORT #undef QT_FSEEK #undef QT_FTELL #undef QT_OFF_T #define QT_FSEEK ::_fseeki64 #define QT_FTELL ::_ftelli64 #define QT_OFF_T __int64 #endif #define QT_FILENO _fileno #define QT_OPEN ::open #define QT_CLOSE ::_close #define QT_READ ::_read #define QT_WRITE ::_write #define QT_ACCESS ::_access #define QT_GETCWD ::_getcwd #define QT_CHDIR ::chdir #define QT_MKDIR ::_mkdir #define QT_RMDIR ::_rmdir #define QT_OPEN_LARGEFILE O_LARGEFILE #define QT_OPEN_RDONLY _O_RDONLY #define QT_OPEN_WRONLY _O_WRONLY #define QT_OPEN_RDWR _O_RDWR #define QT_OPEN_CREAT _O_CREAT #define QT_OPEN_TRUNC _O_TRUNC #define QT_OPEN_APPEND _O_APPEND #if defined(O_TEXT) # define QT_OPEN_TEXT _O_TEXT # define QT_OPEN_BINARY _O_BINARY #endif #else // Borland Builder 5 #ifdef QT_LARGEFILE_SUPPORT # define QT_STATBUF struct stati64 // non-ANSI defs # define QT_STATBUF4TSTAT struct stati64 // non-ANSI defs # define QT_STAT ::stati64 # define QT_FSTAT ::fstati64 # define QT_LSEEK ::lseeki64 # define QT_TSTAT ::tstati64 #else # define QT_STATBUF struct stat // non-ANSI defs # define QT_STATBUF4TSTAT struct stat // non-ANSI defs # define QT_STAT ::stat # define QT_FSTAT ::fstat # define QT_LSEEK ::lseek # define QT_TSTAT ::tstat #endif #define QT_STAT_REG S_IFREG #define QT_STAT_DIR S_IFDIR #define QT_STAT_MASK S_IFMT #if defined(S_IFLNK) # define QT_STAT_LNK S_IFLNK #endif #define QT_FILENO fileno #define QT_OPEN ::open #define QT_CLOSE ::close #define QT_READ ::read #define QT_WRITE ::write #define QT_ACCESS ::access #if defined(Q_OS_OS2EMX) // This is documented in the un*x to OS/2-EMX Porting FAQ: // http://homepages.tu-darmstadt.de/~st002279/os2/porting.html # define QT_GETCWD ::_getcwd2 # define QT_CHDIR ::_chdir2 #else # define QT_GETCWD ::getcwd # define QT_CHDIR ::chdir #endif #define QT_MKDIR ::mkdir #define QT_RMDIR ::rmdir #define QT_OPEN_LARGEFILE O_LARGEFILE #define QT_OPEN_RDONLY O_RDONLY #define QT_OPEN_WRONLY O_WRONLY #define QT_OPEN_RDWR O_RDWR #define QT_OPEN_CREAT O_CREAT #define QT_OPEN_TRUNC O_TRUNC #define QT_OPEN_APPEND O_APPEND #if defined(O_TEXT) # define QT_OPEN_TEXT O_TEXT # define QT_OPEN_BINARY O_BINARY #endif #endif // __BORLANDC__ >= 0x550 // Borland Builder 5 and 6 #define QT_SIGNAL_ARGS int #define QT_VSNPRINTF ::_vsnprintf #define QT_SNPRINTF ::_snprintf # define F_OK 0 # define X_OK 1 # define W_OK 2 # define R_OK 4 #endif // QPLATFORMDEFS_H