+2003-03-07 Corinna Vinschen <corinna@vinschen.de>
+
+ * configure.host: Define stdio64_dir for Cygwin.
+ * libc/include/stdio.h: Change definition of fpos_t to fulfill
+ Cygwin 64bit file access requirements.
+ Drop definition of f*64() functions when compiled for Cygwin.
+ * libc/include/sys/config.h: Define __LARGE64_FILES for Cygwin.
+ * libc/reent/lseek64r.c: Use _off64_t instead of off64_t.
+ * libc/stdio64/local64.h: Use _fpos64_t instead of fpos64_t.
+
2003-03-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/reent.h: Remove extraneous _sig_func
*-*-cygwin*)
sys_dir=cygwin
posix_dir=posix
+ stdio64_dir=stdio64
;;
*-*-netware*)
signal_dir=
_BEGIN_STD_C
-typedef _fpos_t fpos_t;
typedef __FILE FILE;
+#ifdef __CYGWIN__
+#ifdef __CYGWIN_USE_BIG_TYPES__
+typedef _fpos64_t fpos_t;
+#else
+typedef _fpos_t fpos_t;
+#endif
+#else
+typedef _fpos_t fpos_t;
#ifdef __LARGE64_FILES
typedef _fpos64_t fpos64_t;
#endif
+#endif /* !__CYGWIN__ */
#include <sys/stdio.h>
ssize_t _EXFUN(__getline, (char **, size_t *, FILE *));
#ifdef __LARGE64_FILES
+#ifndef __CYGWIN__
FILE * _EXFUN(fopen64, (const char *, const char *));
_off64_t _EXFUN(ftello64, (FILE *));
_off64_t _EXFUN(fseeko64, (FILE *, _off64_t, int));
int _EXFUN(_fgetpos64_r, (struct _reent *, FILE *, _fpos64_t *));
int _EXFUN(_fsetpos64_r, (struct _reent *, FILE *, const _fpos64_t *));
FILE * _EXFUN(_tmpfile64_r, (struct _reent *));
+#endif /* !__CYGWIN__ */
#endif /* __LARGE64_FILES */
/*
#if defined(__CYGWIN32__) || defined(__CYGWIN__)
#define __FILENAME_MAX__ (260 - 1 /* NUL */)
#define _READ_WRITE_RETURN_TYPE _ssize_t
+#define __LARGE64_FILES 1
#if defined(__INSIDE_CYGWIN__) || defined(_COMPILING_NEWLIB)
#define __IMPORT
#else
with large file support.
*/
-off64_t
+_off64_t
_lseek64_r (ptr, fd, pos, whence)
struct _reent *ptr;
int fd;
- off64_t pos;
+ _off64_t pos;
int whence;
{
- off64_t ret;
+ _off64_t ret;
errno = 0;
- if ((ret = _lseek64 (fd, pos, whence)) == (off64_t) -1 && errno != 0)
+ if ((ret = _lseek64 (fd, pos, whence)) == (_off64_t) -1 && errno != 0)
ptr->_errno = errno;
return ret;
}
#include "local.h"
#ifdef __LARGE64_FILES
-extern fpos64_t _EXFUN(__sseek64,(void *, fpos64_t, int));
-extern fpos64_t _EXFUN(__sseek64_error,(void *, fpos64_t, int));
+extern _fpos64_t _EXFUN(__sseek64,(void *, _fpos64_t, int));
+extern _fpos64_t _EXFUN(__sseek64_error,(void *, _fpos64_t, int));
extern _READ_WRITE_RETURN_TYPE _EXFUN(__swrite64,(void *, char const *, int));
#endif