|
Packit |
1c1d7e |
/****************************************************************************
|
|
Packit |
1c1d7e |
**
|
|
Packit |
1c1d7e |
**
|
|
Packit |
1c1d7e |
** Common macros and system include files for QFile, QFileInfo and QDir.
|
|
Packit |
1c1d7e |
**
|
|
Packit |
1c1d7e |
** Created : 930812
|
|
Packit |
1c1d7e |
**
|
|
Packit |
1c1d7e |
** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
|
|
Packit |
1c1d7e |
**
|
|
Packit |
1c1d7e |
** This file is part of the tools module of the Qt GUI Toolkit.
|
|
Packit |
1c1d7e |
**
|
|
Packit |
1c1d7e |
** This file may be distributed under the terms of the Q Public License
|
|
Packit |
1c1d7e |
** as defined by Trolltech AS of Norway and appearing in the file
|
|
Packit |
1c1d7e |
** LICENSE.QPL included in the packaging of this file.
|
|
Packit |
1c1d7e |
**
|
|
Packit |
1c1d7e |
** This file may be distributed and/or modified under the terms of the
|
|
Packit |
1c1d7e |
** GNU General Public License version 2 as published by the Free Software
|
|
Packit |
1c1d7e |
** Foundation and appearing in the file LICENSE.GPL included in the
|
|
Packit |
1c1d7e |
** packaging of this file.
|
|
Packit |
1c1d7e |
**
|
|
Packit |
1c1d7e |
** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
|
|
Packit |
1c1d7e |
** licenses may use this file in accordance with the Qt Commercial License
|
|
Packit |
1c1d7e |
** Agreement provided with the Software.
|
|
Packit |
1c1d7e |
**
|
|
Packit |
1c1d7e |
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
|
Packit |
1c1d7e |
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
Packit |
1c1d7e |
**
|
|
Packit |
1c1d7e |
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
|
|
Packit |
1c1d7e |
** information about Qt Commercial License Agreements.
|
|
Packit |
1c1d7e |
** See http://www.trolltech.com/qpl/ for QPL licensing information.
|
|
Packit |
1c1d7e |
** See http://www.trolltech.com/gpl/ for GPL licensing information.
|
|
Packit |
1c1d7e |
**
|
|
Packit |
1c1d7e |
** Contact info@trolltech.com if any conditions of this licensing are
|
|
Packit |
1c1d7e |
** not clear to you.
|
|
Packit |
1c1d7e |
**
|
|
Packit |
1c1d7e |
**********************************************************************/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#ifndef QFILEDEFS_P_H
|
|
Packit |
1c1d7e |
#define QFILEDEFS_P_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//
|
|
Packit |
1c1d7e |
// W A R N I N G
|
|
Packit |
1c1d7e |
// -------------
|
|
Packit |
1c1d7e |
//
|
|
Packit |
1c1d7e |
// This file is not part of the Qt API. It exists for the convenience
|
|
Packit |
1c1d7e |
// of qfile.cpp, qfileinfo.cpp and qdir.cpp.
|
|
Packit |
1c1d7e |
// This header file may change from version to version without notice,
|
|
Packit |
1c1d7e |
// or even be removed.
|
|
Packit |
1c1d7e |
//
|
|
Packit |
1c1d7e |
//
|
|
Packit |
1c1d7e |
#if defined(_CC_MWERKS_)
|
|
Packit |
1c1d7e |
# include <stdlib.h>
|
|
Packit |
1c1d7e |
# include <stat.h>
|
|
Packit |
1c1d7e |
#elif !defined(_OS_MAC_)
|
|
Packit |
1c1d7e |
# include <sys/types.h>
|
|
Packit |
1c1d7e |
# include <sys/stat.h>
|
|
Packit |
1c1d7e |
#elif defined(_OS_MAC_)
|
|
Packit |
1c1d7e |
# include <sys/types.h>
|
|
Packit |
1c1d7e |
# include <sys/stat.h>
|
|
Packit |
1c1d7e |
# define _OS_UNIX_
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
#include <fcntl.h>
|
|
Packit |
1c1d7e |
#include <errno.h>
|
|
Packit |
1c1d7e |
#if defined(_OS_UNIX_)
|
|
Packit |
1c1d7e |
# include <dirent.h>
|
|
Packit |
1c1d7e |
# include <unistd.h>
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
#if defined(_OS_MSDOS_) || defined(_OS_WIN32_) || defined(_OS_OS2_)
|
|
Packit |
1c1d7e |
# define _OS_FATFS_
|
|
Packit |
1c1d7e |
# if defined(__CYGWIN32__)
|
|
Packit |
1c1d7e |
# include <dirent.h>
|
|
Packit |
1c1d7e |
# include <unistd.h>
|
|
Packit |
1c1d7e |
# if !defined(_OS_UNIX_)
|
|
Packit |
1c1d7e |
# define _OS_UNIX_
|
|
Packit |
1c1d7e |
# endif
|
|
Packit |
1c1d7e |
# else
|
|
Packit |
1c1d7e |
# include <io.h>
|
|
Packit |
1c1d7e |
# if !defined(_CC_MWERKS_)
|
|
Packit |
1c1d7e |
# include <dos.h>
|
|
Packit |
1c1d7e |
# endif
|
|
Packit |
1c1d7e |
# include <direct.h>
|
|
Packit |
1c1d7e |
# endif
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
#include <limits.h>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#if !defined(PATH_MAX)
|
|
Packit |
1c1d7e |
#if defined( MAXPATHLEN )
|
|
Packit |
1c1d7e |
#define PATH_MAX MAXPATHLEN
|
|
Packit |
1c1d7e |
#else
|
|
Packit |
1c1d7e |
#define PATH_MAX 1024
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#undef STATBUF
|
|
Packit |
1c1d7e |
#undef STAT
|
|
Packit |
1c1d7e |
#undef STAT_REG
|
|
Packit |
1c1d7e |
#undef STAT_DIR
|
|
Packit |
1c1d7e |
#undef STAT_LNK
|
|
Packit |
1c1d7e |
#undef STAT_MASK
|
|
Packit |
1c1d7e |
#undef FILENO
|
|
Packit |
1c1d7e |
#undef OPEN
|
|
Packit |
1c1d7e |
#undef CLOSE
|
|
Packit |
1c1d7e |
#undef LSEEK
|
|
Packit |
1c1d7e |
#undef READ
|
|
Packit |
1c1d7e |
#undef WRITE
|
|
Packit |
1c1d7e |
#undef ACCESS
|
|
Packit |
1c1d7e |
#undef GETCWD
|
|
Packit |
1c1d7e |
#undef CHDIR
|
|
Packit |
1c1d7e |
#undef MKDIR
|
|
Packit |
1c1d7e |
#undef RMDIR
|
|
Packit |
1c1d7e |
#undef OPEN_RDONLY
|
|
Packit |
1c1d7e |
#undef OPEN_WRONLY
|
|
Packit |
1c1d7e |
#undef OPEN_CREAT
|
|
Packit |
1c1d7e |
#undef OPEN_TRUNC
|
|
Packit |
1c1d7e |
#undef OPEN_APPEND
|
|
Packit |
1c1d7e |
#undef OPEN_TEXT
|
|
Packit |
1c1d7e |
#undef OPEN_BINARY
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#if defined(_CC_MSVC_) || defined(_CC_SYM_)
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
# define STATBUF struct _stat // non-ANSI defs
|
|
Packit |
1c1d7e |
# define STATBUF4TSTAT struct _stat // non-ANSI defs
|
|
Packit |
1c1d7e |
# define STAT ::_stat
|
|
Packit |
1c1d7e |
# define FSTAT ::_fstat
|
|
Packit |
1c1d7e |
# define STAT_REG _S_IFREG
|
|
Packit |
1c1d7e |
# define STAT_DIR _S_IFDIR
|
|
Packit |
1c1d7e |
# define STAT_MASK _S_IFMT
|
|
Packit |
1c1d7e |
# if defined(_S_IFLNK)
|
|
Packit |
1c1d7e |
# define STAT_LNK _S_IFLNK
|
|
Packit |
1c1d7e |
# endif
|
|
Packit |
1c1d7e |
# define FILENO _fileno
|
|
Packit |
1c1d7e |
# define OPEN ::_open
|
|
Packit |
1c1d7e |
# define CLOSE ::_close
|
|
Packit |
1c1d7e |
# define LSEEK ::_lseek
|
|
Packit |
1c1d7e |
# define READ ::_read
|
|
Packit |
1c1d7e |
# define WRITE ::_write
|
|
Packit |
1c1d7e |
# define ACCESS ::_access
|
|
Packit |
1c1d7e |
# define GETCWD ::_getcwd
|
|
Packit |
1c1d7e |
# define CHDIR ::_chdir
|
|
Packit |
1c1d7e |
# define MKDIR ::_mkdir
|
|
Packit |
1c1d7e |
# define RMDIR ::_rmdir
|
|
Packit |
1c1d7e |
# define OPEN_RDONLY _O_RDONLY
|
|
Packit |
1c1d7e |
# define OPEN_WRONLY _O_WRONLY
|
|
Packit |
1c1d7e |
# define OPEN_RDWR _O_RDWR
|
|
Packit |
1c1d7e |
# define OPEN_CREAT _O_CREAT
|
|
Packit |
1c1d7e |
# define OPEN_TRUNC _O_TRUNC
|
|
Packit |
1c1d7e |
# define OPEN_APPEND _O_APPEND
|
|
Packit |
1c1d7e |
# if defined(O_TEXT)
|
|
Packit |
1c1d7e |
# define OPEN_TEXT _O_TEXT
|
|
Packit |
1c1d7e |
# define OPEN_BINARY _O_BINARY
|
|
Packit |
1c1d7e |
# endif
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#elif defined(_CC_BOR_) && __BORLANDC__ >= 0x550
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
# define STATBUF struct stat // non-ANSI defs
|
|
Packit |
1c1d7e |
# define STATBUF4TSTAT struct _stat // non-ANSI defs
|
|
Packit |
1c1d7e |
# define STAT ::stat
|
|
Packit |
1c1d7e |
# define FSTAT ::fstat
|
|
Packit |
1c1d7e |
# define STAT_REG _S_IFREG
|
|
Packit |
1c1d7e |
# define STAT_DIR _S_IFDIR
|
|
Packit |
1c1d7e |
# define STAT_MASK _S_IFMT
|
|
Packit |
1c1d7e |
# if defined(_S_IFLNK)
|
|
Packit |
1c1d7e |
# define STAT_LNK _S_IFLNK
|
|
Packit |
1c1d7e |
# endif
|
|
Packit |
1c1d7e |
# define FILENO _fileno
|
|
Packit |
1c1d7e |
# define OPEN ::open
|
|
Packit |
1c1d7e |
# define CLOSE ::_close
|
|
Packit |
1c1d7e |
# define LSEEK ::_lseek
|
|
Packit |
1c1d7e |
# define READ ::_read
|
|
Packit |
1c1d7e |
# define WRITE ::_write
|
|
Packit |
1c1d7e |
# define ACCESS ::_access
|
|
Packit |
1c1d7e |
# define GETCWD ::_getcwd
|
|
Packit |
1c1d7e |
# define CHDIR ::chdir
|
|
Packit |
1c1d7e |
# define MKDIR ::_mkdir
|
|
Packit |
1c1d7e |
# define RMDIR ::_rmdir
|
|
Packit |
1c1d7e |
# define OPEN_RDONLY _O_RDONLY
|
|
Packit |
1c1d7e |
# define OPEN_WRONLY _O_WRONLY
|
|
Packit |
1c1d7e |
# define OPEN_RDWR _O_RDWR
|
|
Packit |
1c1d7e |
# define OPEN_CREAT _O_CREAT
|
|
Packit |
1c1d7e |
# define OPEN_TRUNC _O_TRUNC
|
|
Packit |
1c1d7e |
# define OPEN_APPEND _O_APPEND
|
|
Packit |
1c1d7e |
# if defined(O_TEXT)
|
|
Packit |
1c1d7e |
# define OPEN_TEXT _O_TEXT
|
|
Packit |
1c1d7e |
# define OPEN_BINARY _O_BINARY
|
|
Packit |
1c1d7e |
# endif
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#else // all other systems
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#ifdef __MINGW32__
|
|
Packit |
1c1d7e |
# define STATBUF struct _stat
|
|
Packit |
1c1d7e |
# define STATBUF4TSTAT struct _stat
|
|
Packit |
1c1d7e |
# define STAT _stat
|
|
Packit |
1c1d7e |
# define FSTAT _fstat
|
|
Packit |
1c1d7e |
#else
|
|
Packit |
1c1d7e |
# define STATBUF struct stat
|
|
Packit |
1c1d7e |
# define STATBUF4TSTAT struct stat
|
|
Packit |
1c1d7e |
# define STAT ::stat
|
|
Packit |
1c1d7e |
# define FSTAT ::fstat
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
# define STAT_REG S_IFREG
|
|
Packit |
1c1d7e |
# define STAT_DIR S_IFDIR
|
|
Packit |
1c1d7e |
# define STAT_MASK S_IFMT
|
|
Packit |
1c1d7e |
# if defined(S_IFLNK)
|
|
Packit |
1c1d7e |
# define STAT_LNK S_IFLNK
|
|
Packit |
1c1d7e |
# endif
|
|
Packit |
1c1d7e |
# define FILENO fileno
|
|
Packit |
1c1d7e |
# define OPEN ::open
|
|
Packit |
1c1d7e |
# define CLOSE ::close
|
|
Packit |
1c1d7e |
# define LSEEK ::lseek
|
|
Packit |
1c1d7e |
# define READ ::read
|
|
Packit |
1c1d7e |
# define WRITE ::write
|
|
Packit |
1c1d7e |
# define ACCESS ::access
|
|
Packit |
1c1d7e |
# if defined(_OS_OS2EMX_)
|
|
Packit |
1c1d7e |
# define GETCWD ::_getcwd2
|
|
Packit |
1c1d7e |
# define CHDIR ::_chdir2
|
|
Packit |
1c1d7e |
# else
|
|
Packit |
1c1d7e |
# define GETCWD ::getcwd
|
|
Packit |
1c1d7e |
# define CHDIR ::chdir
|
|
Packit |
1c1d7e |
# endif
|
|
Packit |
1c1d7e |
# define MKDIR ::mkdir
|
|
Packit |
1c1d7e |
# define RMDIR ::rmdir
|
|
Packit |
1c1d7e |
# define OPEN_RDONLY O_RDONLY
|
|
Packit |
1c1d7e |
# define OPEN_WRONLY O_WRONLY
|
|
Packit |
1c1d7e |
# define OPEN_RDWR O_RDWR
|
|
Packit |
1c1d7e |
# define OPEN_CREAT O_CREAT
|
|
Packit |
1c1d7e |
# define OPEN_TRUNC O_TRUNC
|
|
Packit |
1c1d7e |
# define OPEN_APPEND O_APPEND
|
|
Packit |
1c1d7e |
# if defined(O_TEXT)
|
|
Packit |
1c1d7e |
# define OPEN_TEXT O_TEXT
|
|
Packit |
1c1d7e |
# define OPEN_BINARY O_BINARY
|
|
Packit |
1c1d7e |
# endif
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#if defined(_CC_MWERKS_)
|
|
Packit |
1c1d7e |
#undef mkdir
|
|
Packit |
1c1d7e |
#undef MKDIR
|
|
Packit |
1c1d7e |
#define MKDIR _mkdir
|
|
Packit |
1c1d7e |
#undef rmdir
|
|
Packit |
1c1d7e |
#undef RMDIR
|
|
Packit |
1c1d7e |
#define RMDIR _rmdir
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#if defined(_OS_FATFS_)
|
|
Packit |
1c1d7e |
# define F_OK 0
|
|
Packit |
1c1d7e |
# define X_OK 1
|
|
Packit |
1c1d7e |
# define W_OK 2
|
|
Packit |
1c1d7e |
# define R_OK 4
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#if defined(_OS_MAC_) && !defined(_OS_UNIX_)
|
|
Packit |
1c1d7e |
# define F_OK 0
|
|
Packit |
1c1d7e |
# define X_OK 1
|
|
Packit |
1c1d7e |
# define W_OK 2
|
|
Packit |
1c1d7e |
# define R_OK 4
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
struct QFileInfoCache
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
STATBUF st;
|
|
Packit |
1c1d7e |
bool isSymLink;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|