X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/70862fa81b7ca80ecabac1f4c646e8048d022050..a1f79c1e0064c7927ef4b8867acca5e061d1da67:/include/wx/filefn.h diff --git a/include/wx/filefn.h b/include/wx/filefn.h index f983b7e93a..0be6462ddb 100644 --- a/include/wx/filefn.h +++ b/include/wx/filefn.h @@ -60,6 +60,80 @@ enum wxSeekMode WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString; +// ---------------------------------------------------------------------------- +// declare our versions of low level file functions: some compilers prepend +// underscores to the usual names, some also have Unicode versions of them +// ---------------------------------------------------------------------------- + +// Microsoft compiler loves underscores, feed them to it +#ifdef __VISUALC__ + // functions + #define wxClose _close + #define wxRead _read + #define wxWrite _write + #define wxLseek _lseek + #define wxFsync _commit + #define wxEof _eof + + #define wxTell _tell + + #if wxUSE_UNICODE + #define wxOpen _wopen + #define wxAccess _waccess + + #define wxMkDir _wmkdir + #define wxRmDir _wrmdir + + #define wxStat _wstat + #else // !wxUSE_UNICODE + #define wxOpen _open + #define wxAccess _access + + #define wxMkDir _mkdir + #define wxRmDir _rmdir + + #define wxStat _stat + #endif + + // types + #define wxStructStat struct _stat + + // constants (unless already defined by the user code) + #ifndef O_RDONLY + #define O_RDONLY _O_RDONLY + #define O_WRONLY _O_WRONLY + #define O_RDWR _O_RDWR + #define O_EXCL _O_EXCL + #define O_CREAT _O_CREAT + #define O_BINARY _O_BINARY + + #define S_IFMT _S_IFMT + #define S_IFDIR _S_IFDIR + #define S_IFREG _S_IFREG + #endif // O_RDONLY +#else + // functions + #define wxOpen open + #define wxClose close + #define wxRead read + #define wxWrite write + #define wxLseek lseek + #define wxFsync commit + #define wxAccess access + #define wxEof eof + + #define wxMkDir mkdir + #define wxRmDir rmdir + + #define wxTell(fd) lseek(fd, 0, SEEK_CUR) + + #define wxStat stat + + // types + #define wxStructStat struct stat + +#endif // VC++ + // ---------------------------------------------------------------------------- // functions // ----------------------------------------------------------------------------