1998-09-06 23:45:24 +00:00
|
|
|
#ifndef _STDIO_H
|
2000-09-14 01:43:19 +00:00
|
|
|
# if defined __need_FILE || defined __need___FILE
|
Update.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* stdio-common/vfscanf.c [! USE_IN_LIBIO]: Add necessary
definitions for MEMCPY, ISSPACE, ISDIGIT, ISXDIGIT, TOLOWER, L_,
CHAR_T, UCHAR_T and WIN_T to make the code compile again when
stdio is used instead of libio.
* stdio-common/vfprintf.c [! USE_IN_LIBIO]: Add necessary
definitions for CHAR_T, UCHAR_T, INT_T, L_, ISDIGIT, PAD and PUTC
to make the code compile again when stdio is used instead of
libio.
(vfprintf): Only check for correct orientation if ORIENT is
defined.
* stdio-common/Makefile (routines): Only add vfwprintf and
vfwscanf if we're using libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/stdio.h [! USE_IN_LIBIO && __need_FILE]: Avoid defining
any additional prototype just as we do for libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/bits/xopen_lim.h: Do not define STREAM_MAX and
TZNAME_MAX. These limits are not X/Open specific.
* stdio-common/stdio_lim.h.in: Allow inclusion when __need_IOV_MAX
is defined.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* Rules: When generated stdio_lim.h, avoid defining IOV_MAX if
UIO_MAXIOV is left undefined in sys/uio.h.
* stdio-common/stdio_lim.h.in: Adapt for change above.
1999-08-21 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h (SA_RESETHAND): Add it.
* sysdeps/mips/bits/dlfcn.h: Remove SGI specific calls, add RTLD_LOCAL.
Patches by Ralf Baechle <ralf@uni-koblenz.de>
1999-08-22 16:26:00 +00:00
|
|
|
# ifdef USE_IN_LIBIO
|
|
|
|
# include <libio/stdio.h>
|
|
|
|
# else
|
|
|
|
# include <stdio/stdio.h>
|
|
|
|
# endif
|
|
|
|
# else
|
|
|
|
# ifdef USE_IN_LIBIO
|
|
|
|
# include <libio/stdio.h>
|
1998-08-09 17:39:48 +00:00
|
|
|
|
|
|
|
/* Now define the internal interfaces. */
|
1999-11-23 17:31:31 +00:00
|
|
|
extern int __fcloseall (void);
|
|
|
|
extern int __snprintf (char *__restrict __s, size_t __maxlen,
|
|
|
|
__const char *__restrict __format, ...)
|
1998-08-09 17:39:48 +00:00
|
|
|
__attribute__ ((__format__ (__printf__, 3, 4)));
|
2001-02-06 18:27:57 +00:00
|
|
|
extern int __vsnprintf (char *__restrict __s, size_t __maxlen,
|
|
|
|
__const char *__restrict __format, _G_va_list __arg)
|
|
|
|
__attribute__ ((__format__ (__printf__, 3, 0)));
|
1999-11-23 17:31:31 +00:00
|
|
|
extern int __vfscanf (FILE *__restrict __s,
|
|
|
|
__const char *__restrict __format,
|
|
|
|
_G_va_list __arg)
|
1998-08-09 17:39:48 +00:00
|
|
|
__attribute__ ((__format__ (__scanf__, 2, 0)));
|
1999-11-23 17:31:31 +00:00
|
|
|
extern int __vscanf (__const char *__restrict __format,
|
|
|
|
_G_va_list __arg)
|
1998-08-09 17:39:48 +00:00
|
|
|
__attribute__ ((__format__ (__scanf__, 1, 0)));
|
1999-11-23 17:31:31 +00:00
|
|
|
extern _IO_ssize_t __getline (char **__lineptr, size_t *__n,
|
|
|
|
FILE *__stream);
|
|
|
|
extern int __vsscanf (__const char *__restrict __s,
|
|
|
|
__const char *__restrict __format,
|
|
|
|
_G_va_list __arg)
|
1998-08-31 16:30:27 +00:00
|
|
|
__attribute__ ((__format__ (__scanf__, 2, 0)));
|
1998-08-09 17:39:48 +00:00
|
|
|
|
2000-12-27 19:58:36 +00:00
|
|
|
/* Prototypes for compatibility functions. */
|
|
|
|
extern FILE *__new_tmpfile (void);
|
|
|
|
extern FILE *__old_tmpfile (void);
|
|
|
|
|
|
|
|
|
Update.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* stdio-common/vfscanf.c [! USE_IN_LIBIO]: Add necessary
definitions for MEMCPY, ISSPACE, ISDIGIT, ISXDIGIT, TOLOWER, L_,
CHAR_T, UCHAR_T and WIN_T to make the code compile again when
stdio is used instead of libio.
* stdio-common/vfprintf.c [! USE_IN_LIBIO]: Add necessary
definitions for CHAR_T, UCHAR_T, INT_T, L_, ISDIGIT, PAD and PUTC
to make the code compile again when stdio is used instead of
libio.
(vfprintf): Only check for correct orientation if ORIENT is
defined.
* stdio-common/Makefile (routines): Only add vfwprintf and
vfwscanf if we're using libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/stdio.h [! USE_IN_LIBIO && __need_FILE]: Avoid defining
any additional prototype just as we do for libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/bits/xopen_lim.h: Do not define STREAM_MAX and
TZNAME_MAX. These limits are not X/Open specific.
* stdio-common/stdio_lim.h.in: Allow inclusion when __need_IOV_MAX
is defined.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* Rules: When generated stdio_lim.h, avoid defining IOV_MAX if
UIO_MAXIOV is left undefined in sys/uio.h.
* stdio-common/stdio_lim.h.in: Adapt for change above.
1999-08-21 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h (SA_RESETHAND): Add it.
* sysdeps/mips/bits/dlfcn.h: Remove SGI specific calls, add RTLD_LOCAL.
Patches by Ralf Baechle <ralf@uni-koblenz.de>
1999-08-22 16:26:00 +00:00
|
|
|
# else
|
|
|
|
# include <stdio/stdio.h>
|
|
|
|
# endif
|
1998-10-26 11:44:32 +00:00
|
|
|
|
Update.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* stdio-common/vfscanf.c [! USE_IN_LIBIO]: Add necessary
definitions for MEMCPY, ISSPACE, ISDIGIT, ISXDIGIT, TOLOWER, L_,
CHAR_T, UCHAR_T and WIN_T to make the code compile again when
stdio is used instead of libio.
* stdio-common/vfprintf.c [! USE_IN_LIBIO]: Add necessary
definitions for CHAR_T, UCHAR_T, INT_T, L_, ISDIGIT, PAD and PUTC
to make the code compile again when stdio is used instead of
libio.
(vfprintf): Only check for correct orientation if ORIENT is
defined.
* stdio-common/Makefile (routines): Only add vfwprintf and
vfwscanf if we're using libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/stdio.h [! USE_IN_LIBIO && __need_FILE]: Avoid defining
any additional prototype just as we do for libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/bits/xopen_lim.h: Do not define STREAM_MAX and
TZNAME_MAX. These limits are not X/Open specific.
* stdio-common/stdio_lim.h.in: Allow inclusion when __need_IOV_MAX
is defined.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* Rules: When generated stdio_lim.h, avoid defining IOV_MAX if
UIO_MAXIOV is left undefined in sys/uio.h.
* stdio-common/stdio_lim.h.in: Adapt for change above.
1999-08-21 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h (SA_RESETHAND): Add it.
* sysdeps/mips/bits/dlfcn.h: Remove SGI specific calls, add RTLD_LOCAL.
Patches by Ralf Baechle <ralf@uni-koblenz.de>
1999-08-22 16:26:00 +00:00
|
|
|
# define __need_size_t
|
|
|
|
# include <stddef.h>
|
1998-10-26 11:44:32 +00:00
|
|
|
/* Generate a unique file name (and possibly open it). */
|
1999-11-23 17:31:31 +00:00
|
|
|
extern int __path_search (char *__tmpl, size_t __tmpl_len,
|
|
|
|
__const char *__dir, __const char *__pfx,
|
|
|
|
int __try_tempdir);
|
1998-10-26 11:44:32 +00:00
|
|
|
|
1999-11-23 17:31:31 +00:00
|
|
|
extern int __gen_tempname (char *__tmpl, int __kind);
|
1999-07-06 16:26:03 +00:00
|
|
|
/* The __kind argument to __gen_tempname may be one of: */
|
Update.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* stdio-common/vfscanf.c [! USE_IN_LIBIO]: Add necessary
definitions for MEMCPY, ISSPACE, ISDIGIT, ISXDIGIT, TOLOWER, L_,
CHAR_T, UCHAR_T and WIN_T to make the code compile again when
stdio is used instead of libio.
* stdio-common/vfprintf.c [! USE_IN_LIBIO]: Add necessary
definitions for CHAR_T, UCHAR_T, INT_T, L_, ISDIGIT, PAD and PUTC
to make the code compile again when stdio is used instead of
libio.
(vfprintf): Only check for correct orientation if ORIENT is
defined.
* stdio-common/Makefile (routines): Only add vfwprintf and
vfwscanf if we're using libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/stdio.h [! USE_IN_LIBIO && __need_FILE]: Avoid defining
any additional prototype just as we do for libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/bits/xopen_lim.h: Do not define STREAM_MAX and
TZNAME_MAX. These limits are not X/Open specific.
* stdio-common/stdio_lim.h.in: Allow inclusion when __need_IOV_MAX
is defined.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* Rules: When generated stdio_lim.h, avoid defining IOV_MAX if
UIO_MAXIOV is left undefined in sys/uio.h.
* stdio-common/stdio_lim.h.in: Adapt for change above.
1999-08-21 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h (SA_RESETHAND): Add it.
* sysdeps/mips/bits/dlfcn.h: Remove SGI specific calls, add RTLD_LOCAL.
Patches by Ralf Baechle <ralf@uni-koblenz.de>
1999-08-22 16:26:00 +00:00
|
|
|
# define __GT_FILE 0 /* create a file */
|
|
|
|
# define __GT_BIGFILE 1 /* create a file, using open64 */
|
|
|
|
# define __GT_DIR 2 /* create a directory */
|
|
|
|
# define __GT_NOCREATE 3 /* just find a name not currently in use */
|
1998-10-26 11:44:32 +00:00
|
|
|
|
|
|
|
/* Print out MESSAGE on the error output and abort. */
|
1999-11-23 17:31:31 +00:00
|
|
|
extern void __libc_fatal (__const char *__message)
|
1998-10-26 11:44:32 +00:00
|
|
|
__attribute__ ((__noreturn__));
|
|
|
|
|
2000-08-21 16:02:48 +00:00
|
|
|
/* Acquire ownership of STREAM. */
|
|
|
|
extern void __flockfile (FILE *__stream);
|
|
|
|
|
|
|
|
/* Relinquish the ownership granted for STREAM. */
|
|
|
|
extern void __funlockfile (FILE *__stream);
|
2000-09-14 01:43:19 +00:00
|
|
|
|
2000-12-22 09:00:17 +00:00
|
|
|
/* Try to acquire ownership of STREAM but do not block if it is not
|
|
|
|
possible. */
|
|
|
|
extern int __ftrylockfile (FILE *__stream);
|
|
|
|
|
2000-12-27 07:56:28 +00:00
|
|
|
extern int __getc_unlocked (FILE *__fp);
|
2001-01-05 01:01:31 +00:00
|
|
|
# ifdef USE_IN_LIBIO
|
2000-12-27 07:56:28 +00:00
|
|
|
extern wint_t __getwc_unlocked (FILE *__fp);
|
2001-01-05 01:01:31 +00:00
|
|
|
# endif
|
2000-12-27 07:56:28 +00:00
|
|
|
|
|
|
|
|
2002-03-14 00:57:10 +00:00
|
|
|
extern __const char *__const _sys_errlist_internal[] attribute_hidden;
|
|
|
|
extern int _sys_nerr_internal attribute_hidden;
|
2002-02-26 01:45:59 +00:00
|
|
|
|
Update.
* sysdeps/mach/hurd/chown.c: Use INTDEF for __chown.
* sysdeps/unix/sysv/aix/chown.c: Likewise.
* sysdeps/unix/grantpt.c: Use INTUSE for __chown calls.
* sysdeps/unix/sysv/linux/m68k/chown.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise.
* sysdeps/unix/sysv/linux/i386/chown.c: Use INTDEF2 to define
__chown_internal.
* sysdeps/unix/sysv/linux/s390/s390-32//chown.c: Likewise.
* intl/dcngettext.c [_LIBC]: Use INTUSE for __dcngettext.
* intl/dngettext.c [_LIBC] (DCNGETTEXT): Use INTUSE.
* intl/ngettext.c: Likewise.
* include/sys/socket.h: Declare __connect_internal and define
__connect macro if not NOT_IN_libc.
* sysdeps/mach/hurd/connect.c: Use INTDEF for __connect.
* sysdeps/unix/sysv/aix/connect.c: Likewise.
* sysdeps/unix/sysv/linux/connect.S: Add __connect_internal alias.
* include/unistd.h: Declare __close_internal and define __close macro
if not NOT_IN_libc.
* libio/libioP.h (JUMO0, JUMP1, JUMP2, JUMP3, WJUMP0, WJUMP1, WJUMP2,
WJUMP3): Add extra parenthesis to avoid expanding element names with
macors like __close.
* sysdeps/unix/syscalls.list: Add __close_internal alias.
* include/unistd.h: Declare __dup2_internal and define __dup2 macro
if not NOT_IN_libc.
* sysdeps/mach/hurd/dup2.c: Use INTDEF for __dup2.
* sysdeps/posix/dup2.c: Use INTDEF for __dup2.
* sysdeps/unix/syscalls.list: Add __dup2_internal alias.
* include/unistd.h: Declare __fork_internal and define __fork macro
if not NOT_IN_libc.
* sysdeps/mach/hurd/fork.c: Use INTDEF for __fork.
* sysdeps/unix/sysv/aix/fork.c: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Add __fork_internal alias.
* include/stdio_ext.h: Declare __fsetlocking_internal and define
__fsetlocking macro to use it if not NOT_IN_libc.
* libio/__fsetlocking.c: Use INTDEF for __fsetlocking.
* libio/__fbufsize.c: Correct copyright.
* libio/__flbf.c: Likewise.
* libio/__fpending.c: Likewise.
* libio/__fpurge.c: Likewise.
* libio/__freadable.c: Likewise.
* libio/__freading.c: Likewise.
* libio/__fsetlocking.c: Likewise.
* libio/__fwritable.c: Likewise.
* libio/__fwriting.c: Likewise.
* include/stdio.h: Declare __asprintf_internal and define __asprintf
macro to use it if not NOT_IN_libc.
* stdio-common/asprintf.c: Use INTDEF for __asprintf.
* include/mntent.h: Declare __setmntent_internal,
__getmntent_r_internal, __endmntent_internal. Define __setmntent,
__getmntent_r, and __endmntent macros to use these functions if not
NOT_IN_libc.
* misc/mntent_r.c: Use INTDEF for __setmntent, __getmntent_r, and
__endmntent.
* include/math.h: Declare __finite_internal, __finitef_internal, and
__finitel_internal. Redefine isfinite macro if in libc or libm using
these functions.
* sysdeps/generic/s_ldexp.c: Use INTUSE for __finite calls.
* sysdeps/generic/s_ldexpf.c: Use INTUSE for __finitef calls.
* sysdeps/generic/s_ldexpl.c: Use INTUSE for __finitel calls.
* sysdeps/i386/fpu/s_finite.S: Define _internal alias.
* sysdeps/i386/fpu/s_finitef.S: Likewise.
* sysdeps/i386/fpu/s_finitel.S: Likewise.
* sysdeps/ieee754/dbl-64/s_finite.c: Likewise.
* sysdeps/ieee754/flt-32/s_finitef.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_finitel.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_finitel.c: Likewise.
* include/fcntl.h: Declare __fcntl_internal. Define __fcntl macro
to use this function if not NOT_IN_libc.
* libio/iofdopen.c (_IO_fcntl): Use INTUSE.
* sysdeps/generic/fcntl.c: Use INTDEF for __fcntl.
* sysdeps/mach/hurd/fcntl.c: Likewise.
* sysdeps/unix/sysv/aix/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
* include/argz.h: Declare __argz_count_internal and
__argz_stringify_internal.
* intl/l10nflist.c [_LIBC]: Use INTUSE for __argz_count and
__argz_stringify.
* string/argz-count.c: Use INTDEF for __argz_count.
* string/argz-stringify.c: Use INTDEF for __argz_stringify.
* include/stdlib.h: Declare __cxa_atexit_internal and define
__cxa_atexit macro if not NOT_IN_libc.
* stdlib/cxa_atexit.c: Use INTDEF for __cxa_atexit.
* dlfcn/Makefile: Define NOT_IN_libc when compiling modcxaatexit.c.
* assert/assert.c: Use INTDEF for __assert_fail.
* assert/__assert.c: Use INTUSE for call to __assert_fail.
* include/assert.h: Declare __assert_fail_internal.
2002-04-09 20:36:24 +00:00
|
|
|
extern int __asprintf_internal (char **__restrict __ptr,
|
|
|
|
__const char *__restrict __fmt, ...)
|
|
|
|
attribute_hidden __attribute__ ((__format__ (__printf__, 2, 3)));
|
|
|
|
# ifndef NOT_IN_libc
|
|
|
|
# define __asprintf(ptr, fmt, args...) \
|
|
|
|
INTUSE(__asprintf) (ptr, fmt, ##args)
|
|
|
|
# endif
|
|
|
|
|
Update.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* stdio-common/vfscanf.c [! USE_IN_LIBIO]: Add necessary
definitions for MEMCPY, ISSPACE, ISDIGIT, ISXDIGIT, TOLOWER, L_,
CHAR_T, UCHAR_T and WIN_T to make the code compile again when
stdio is used instead of libio.
* stdio-common/vfprintf.c [! USE_IN_LIBIO]: Add necessary
definitions for CHAR_T, UCHAR_T, INT_T, L_, ISDIGIT, PAD and PUTC
to make the code compile again when stdio is used instead of
libio.
(vfprintf): Only check for correct orientation if ORIENT is
defined.
* stdio-common/Makefile (routines): Only add vfwprintf and
vfwscanf if we're using libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/stdio.h [! USE_IN_LIBIO && __need_FILE]: Avoid defining
any additional prototype just as we do for libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/bits/xopen_lim.h: Do not define STREAM_MAX and
TZNAME_MAX. These limits are not X/Open specific.
* stdio-common/stdio_lim.h.in: Allow inclusion when __need_IOV_MAX
is defined.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* Rules: When generated stdio_lim.h, avoid defining IOV_MAX if
UIO_MAXIOV is left undefined in sys/uio.h.
* stdio-common/stdio_lim.h.in: Adapt for change above.
1999-08-21 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h (SA_RESETHAND): Add it.
* sysdeps/mips/bits/dlfcn.h: Remove SGI specific calls, add RTLD_LOCAL.
Patches by Ralf Baechle <ralf@uni-koblenz.de>
1999-08-22 16:26:00 +00:00
|
|
|
# endif
|
1998-12-14 15:23:56 +00:00
|
|
|
|
1998-09-06 23:45:24 +00:00
|
|
|
#endif
|