Blame qtools/qfiledefs_p.h

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