+#ifdef __WXWINCE__
+ typedef long off_t;
+#else
+
+// define off_t
+#if !defined(__WXMAC__) || defined(__UNIX__) || defined(__MACH__)
+ #include <sys/types.h>
+#else
+ typedef long off_t;
+#endif
+
+#if defined(__VISUALC__) || ( defined(__MWERKS__) && defined( __INTEL__) )
+ typedef _off_t off_t;
+#elif defined(__BORLANDC__) && defined(__WIN16__)
+ typedef long off_t;
+#elif defined(__SYMANTEC__)
+ typedef long off_t;
+#elif defined(__MWERKS__) && !defined(__INTEL__) && !defined(__MACH__)
+ typedef long off_t;
+#endif
+
+#endif
+
+#if defined(__VISAGECPP__) && __IBMCPP__ >= 400
+//
+// VisualAge C++ V4.0 cannot have any external linkage const decs
+// in headers included by more than one primary source
+//
+extern const off_t wxInvalidOffset;
+#else
+const off_t wxInvalidOffset = (off_t)-1;
+#endif
+
+enum wxSeekMode
+{
+ wxFromStart,
+ wxFromCurrent,
+ wxFromEnd
+};
+
+// ----------------------------------------------------------------------------
+// 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
+#if defined( __VISUALC__ ) \
+ || ( defined(__MINGW32__) && !defined(__WINE__) && wxCHECK_W32API_VERSION( 0, 5 ) ) \
+ || ( defined(__MWERKS__) && defined(__WXMSW__) ) \
+ || ( defined(__DMC__) && defined(__WXMSW__) ) \
+ || ( defined(__WATCOMC__) && defined(__WXMSW__) )
+ // functions
+#if defined(__BORLANDC__) || defined(__WATCOMC__)
+ #define _tell tell
+#endif
+ #define wxClose _close
+ #define wxRead _read
+ #define wxWrite _write
+ #define wxLseek _lseek
+ #define wxFsync _commit
+ #define wxEof _eof
+
+ #define wxTell _tell
+
+ #if wxUSE_UNICODE
+ #if wxUSE_UNICODE_MSLU
+ #define wxOpen wxMSLU__wopen
+
+ #define wxAccess wxMSLU__waccess
+ #define wxMkDir wxMSLU__wmkdir
+ #define wxRmDir wxMSLU__wrmdir
+ #define wxStat wxMSLU__wstat
+ #else
+ #define wxOpen _wopen
+ #define wxAccess _waccess
+ #define wxMkDir _wmkdir
+ #define wxRmDir _wrmdir
+ #define wxStat _wstat
+ #endif
+ #else // !wxUSE_UNICODE
+#ifdef __BORLANDC__
+ #define wxOpen open
+#else
+ #define wxOpen _open
+#endif
+ #define wxAccess _access
+ #define wxMkDir _mkdir
+#ifdef __WATCOMC__
+ #define wxRmDir rmdir
+#else
+ #define wxRmDir _rmdir
+#endif
+ #define wxStat _stat
+ #endif
+
+ // types
+#if defined(__WATCOMC__)&& wxUSE_UNICODE
+ #define wxStructStat struct _wstat
+#else
+ #define wxStructStat struct _stat
+#endif