X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ceb3b0d8e227fc165dc6d6e4f29b1c46f061eb6c..73302af6dddd667af4ebec69c800bc9de106f28e:/include/wx/filefn.h?ds=inline diff --git a/include/wx/filefn.h b/include/wx/filefn.h index b977aaf14a..1d0b0bac66 100644 --- a/include/wx/filefn.h +++ b/include/wx/filefn.h @@ -122,6 +122,14 @@ enum wxSeekMode wxFromEnd }; +enum wxFileKind +{ + wxFILE_KIND_UNKNOWN, + wxFILE_KIND_DISK, // a file supporting seeking to arbitrary offsets + wxFILE_KIND_TERMINAL, // a tty + wxFILE_KIND_PIPE // a pipe +}; + // ---------------------------------------------------------------------------- // declare our versions of low level file functions: some compilers prepend // underscores to the usual names, some also have Unicode versions of them @@ -131,7 +139,6 @@ enum wxSeekMode // Implemented in filefnwce.cpp #if defined( __WXWINCE__) typedef __int64 wxFileOffset; - typedef unsigned __int64 wxFileSize_t; #define wxFileOffsetFmtSpec _("I64") int wxOpen(const wxChar *filename, int oflag, int WXUNUSED(pmode)); int wxAccess(const wxChar *name, int WXUNUSED(how)); @@ -144,25 +151,10 @@ enum wxSeekMode #define wxLSeek wxSeek wxFileOffset wxTell(int fd); - #if wxUSE_UNICODE - #if wxUSE_UNICODE_MSLU - #define wxMkDir wxMSLU__wmkdir - #define wxRmDir wxMSLU__wrmdir - #define wxStat wxMSLU__wstat - #else - #define wxMkDir _wmkdir - #define wxRmDir _wrmdir - #define wxStat _wstat - #endif - #else // !wxUSE_UNICODE - #define wxMkDir _mkdir - #ifdef __WATCOMC__ - #define wxRmDir rmdir - #else - #define wxRmDir _rmdir - #endif - #define wxStat _stat - #endif + // always Unicode under WinCE + #define wxMkDir _wmkdir + #define wxRmDir _wrmdir + #define wxStat _wstat #define wxStructStat struct _stat // Microsoft compiler loves underscores, feed them to it @@ -174,7 +166,7 @@ enum wxSeekMode // detect compilers which have support for huge files (currently only // Digital Mars doesn't) - #ifndef __PALMOS__ + #ifndef __WXPALMOS__ #include "wx/msw/private.h" #endif @@ -198,11 +190,9 @@ enum wxSeekMode #if wxHAS_HUGE_FILES typedef wxLongLong_t wxFileOffset; - typedef unsigned wxLongLong_t wxFileSize_t; #define wxFileOffsetFmtSpec wxLongLongFmtSpec #else typedef off_t wxFileOffset; - typedef unsigned long wxFileSize_t; #endif #define wxClose _close @@ -218,12 +208,7 @@ enum wxSeekMode _write(fd, (const char *)buf, nCount) #endif #else - #if defined(__WATCOMC__) - inline wxFileSize_t wxRead( int handle, void *buffer, wxFileSize_t len ) - { return ::read( handle, buffer, (unsigned int)len ); } - inline wxFileSize_t wxWrite( int handle, const void *buffer, wxFileSize_t len ) - { return ::write( handle, buffer, (unsigned int)len ); } - #elif defined(__DMC__) + #if defined(__DMC__) || defined(__WATCOMC__) #define wxRead ::read #define wxWrite ::write #else @@ -307,7 +292,7 @@ enum wxSeekMode #endif // constants (unless already defined by the user code) - #if !defined(__BORLANDC__) && !defined(__WATCOMC__) && !defined(__PALMOS__) + #if !defined(__BORLANDC__) && !defined(__WATCOMC__) && !defined(__WXPALMOS__) #ifndef O_RDONLY #define O_RDONLY _O_RDONLY #define O_WRONLY _O_WRONLY @@ -332,10 +317,8 @@ enum wxSeekMode #define wxFileOffsetFmtSpec wxLongLongFmtSpec wxCOMPILE_TIME_ASSERT( sizeof(off_t) == sizeof(wxLongLong_t), BadFileSizeType ); - typedef unsigned wxLongLong_t wxFileSize_t; #else #define wxFileOffsetFmtSpec _T("") - typedef unsigned long wxFileSize_t; #endif // functions #define wxClose close @@ -373,9 +356,9 @@ enum wxSeekMode // VisualAge C++ V4.0 cannot have any external linkage const decs // in headers included by more than one primary source // -extern const wxFileSize_t wxInvalidOffset; +extern const int wxInvalidOffset; #else -const wxFileSize_t wxInvalidOffset = (wxFileSize_t)-1; +const int wxInvalidOffset = -1; #endif // ---------------------------------------------------------------------------- @@ -474,8 +457,14 @@ WXDLLIMPEXP_BASE bool wxMkdir(const wxString& dir, int perm = 0777); // Remove directory. Flags reserved for future use. WXDLLIMPEXP_BASE bool wxRmdir(const wxString& dir, int flags = 0); +// Return the type of an open file +WXDLLIMPEXP_BASE wxFileKind wxGetFileKind(int fd); +WXDLLIMPEXP_BASE wxFileKind wxGetFileKind(FILE *fp); + // compatibility defines, don't use in new code -#define wxDirExists wxPathExists +#if WXWIN_COMPATIBILITY_2_4 + #define wxDirExists wxPathExists +#endif // ---------------------------------------------------------------------------- // separators in file names