X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4055ed8281971e3d35bf04177193c27043d42ed1..2d5ba365489f49158b62fcf23f4a65253bfccfd4:/include/wx/filefn.h?ds=sidebyside diff --git a/include/wx/filefn.h b/include/wx/filefn.h index 2428a97d29..8894f9a788 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 @@ -140,28 +148,14 @@ enum wxSeekMode int wxWrite(int fd, const void *buf, unsigned int count); int wxEof(int fd); wxFileOffset wxSeek(int fd, wxFileOffset offset, int origin); + inline HANDLE wxGetOSFHandle(int fd) { return (HANDLE)fd; } #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 @@ -358,6 +352,17 @@ enum wxSeekMode #endif #endif // platforms +#if defined(__WXMSW__) && !defined(__WXWINCE__) + // get the HANDLE associated with a file descriptor +# ifdef __CYGWIN__ +# include "wx/msw/private.h" // for HANDLE +# include // for get_osfhandle() + inline HANDLE wxGetOSFHandle(int fd) { return (HANDLE) get_osfhandle(fd); } +# else + inline HANDLE wxGetOSFHandle(int fd) { return (HANDLE) _get_osfhandle(fd); } +# endif +#endif + #if defined(__VISAGECPP__) && __IBMCPP__ >= 400 // // VisualAge C++ V4.0 cannot have any external linkage const decs @@ -464,6 +469,10 @@ 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); +inline wxFileKind wxGetFileKind (FILE *fp) { return wxGetFileKind(fileno(fp)); } + // compatibility defines, don't use in new code #define wxDirExists wxPathExists