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.
This commit is contained in:
Jeff Johnston
2002-07-17 23:25:44 +00:00
parent 30a431abf1
commit dee5139131
33 changed files with 2132 additions and 37 deletions

View File

@@ -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}.