From dee51391315e2bb819409a6b3eb23ee6ef6d3c59 Mon Sep 17 00:00:00 2001
From: Jeff Johnston <jjohnstn@redhat.com>
Date: Wed, 17 Jul 2002 23:25:44 +0000
Subject: 2002-07-17  Jeff Johnston  <jjohnstn@redhat.com>

        * configure.host(stdio64_dir): New setting that is used to
        enable building of new stdio64 directory.
        * libc/Makefile.am[HAVE_STDIO64_DIR]: Add support for
        large files.
        (stmp-stdio64,stdio64.texi): New targets to optionally add in
        stdio64 info to info files.
        * libc/Makefile.in: Regenerated.
        * libc/configure: Ditto.
        * libc/configure.in: Add configuration variables that are set
        when stdio64 is selected as subdir in configure.host.
        * libc/libc.texinfo: Add optional menu item for Stdio64, based
        on whether STDIO64 flag is set or not.
        * libc/sys.tex: Add optional stdio64 syscalls based on whether
        STDIO64 flag is set or not.
        * libc/include/reent.h[__LARGE64_FILES]: Add new stdio64
        _r sycall routines.
        * libc/include/stdio.h[__LARGE64_FILES]: Add new stdio64 prototypes.
        (FILE): Typedef'd to __FILE instead of struct __sFILE directly.
        (__SL64): New file flag indicating file is opened via fopen64.
        * libc/include/sys/_types.h(_off64_t): Added.
        * libc/include/sys/config.h: For x86-linux, define __LARGE64_FILES.
        * libc/include/sys/reent.h(struct __sFILE64): New file structure
        for 64-bit offset large file support.
        (__FILE): New intermediate type either set to struct __sFILE64 or
        struct __sFILE, depending on whether __LARGE64_FILES is set or not.
        * libc/reent/Makefile.am[HAVE_STDIO64_DIR]: Add new files.
        * libc/reent/Makefile.in: Regenerated.
        * libc/reent/fstat64r.c: New file.
        * libc/reent/lseek64r.c: Ditto.
        * libc/reent/open64r.c: Ditto.
        * libc/reent/reent.tex: Optionally add stdio64 reentrant syscalls
        based on whether STDIO64 flag is set.
        * libc/stdio/stdio.tex: Add blank line.
        * libc/stdio64/Makefile.am: New file.
        * libc/stdio64/Makefile.in: Ditto.
        * libc/stdio64/fgetpos64.c: Ditto.
        * libc/stdio64/fopen64.: Ditto.
        * libc/stdio64/freopen64.c: Ditto.
        * libc/stdio64/fseeko64.c: Ditto.
        * libc/stdio64/fsetpos64.c: Ditto.
        * libc/stdio64/ftello64.c: Ditto.
        * libc/stdio64/local64.h: Ditto.
        * libc/stdio64/stdio64.c: Ditto.
        * libc/stdio64/stdio64.tex: Ditto.
        * libc/stdio64/tmpfile64.c: Ditto.
        * libc/sys/linux/io64.c: Add weak aliases for lseek64, fstat64, and
        open64.
---
 newlib/libc/sys.tex | 42 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 41 insertions(+), 1 deletion(-)

(limited to 'newlib/libc/sys.tex')

diff --git a/newlib/libc/sys.tex b/newlib/libc/sys.tex
index 3182b71c5..362732ace 100644
--- a/newlib/libc/sys.tex
+++ b/newlib/libc/sys.tex
@@ -180,7 +180,14 @@ int lseek(int file, int ptr, int dir)@{
 @}
 @end example
 
-@c FIXME! Why no stub for open?
+@item open
+Open a file.  Minimal implementation:
+
+@example
+int open(const char *name, int flags, int mode)@{
+    return -1;
+@}
+@end example
 
 @item read
 Read from a file.  Minimal implementation:
@@ -341,6 +348,17 @@ int _open_r(void *@var{reent},
     const char *@var{file}, int @var{flags}, int @var{mode});
 @end example
 
+@ifset STDIO64
+@item _open64_r
+A reentrant version of @code{open64}.  It takes a pointer
+to the global data block, which holds @code{errno}.
+
+@example
+int _open64_r(void *@var{reent},
+    const char *@var{file}, int @var{flags}, int @var{mode});
+@end example
+@end ifset
+
 @item _close_r
 A reentrant version of @code{close}.  It takes a pointer to the global
 data block, which holds @code{errno}.
@@ -358,6 +376,17 @@ off_t _lseek_r(void *@var{reent},
     int @var{fd}, off_t @var{pos}, int @var{whence});
 @end example
 
+@ifset STDIO64
+@item _lseek64_r
+A reentrant version of @code{lseek64}.  It takes a pointer to the global
+data block, which holds @code{errno}.
+
+@example
+off_t _lseek64_r(void *@var{reent},
+    int @var{fd}, off_t @var{pos}, int @var{whence});
+@end example
+@end ifset
+
 @item _read_r
 A reentrant version of @code{read}.  It takes a pointer to the global
 data block, which holds @code{errno}.
@@ -410,6 +439,17 @@ int _fstat_r(void *@var{reent},
     int @var{fd}, struct stat *@var{pstat});
 @end example
 
+@ifset STDIO64
+@item _fstat64_r
+A reentrant version of @code{fstat64}.  It takes a pointer to the global
+data block, which holds @code{errno}.
+
+@example
+int _fstat64_r(void *@var{reent},
+    int @var{fd}, struct stat *@var{pstat});
+@end example
+@end ifset
+
 @item _link_r
 A reentrant version of @code{link}.  It takes a pointer to the global
 data block, which holds @code{errno}.
-- 
cgit v1.2.3

