From dee51391315e2bb819409a6b3eb23ee6ef6d3c59 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Wed, 17 Jul 2002 23:25:44 +0000 Subject: 2002-07-17 Jeff Johnston * 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