Update.
1998-12-04 Ulrich Drepper <drepper@cygnus.com> * argp/argp.h: Add __retrict. * dirent/dirent.h: Likewise. * elf/dlfcn.h: Likewise. * grp/grp.h: Likewise. * iconv/iconv.h: Likewise. * inet/aliases.h: Likewise. * libio/libio.h: Likewise. * libio/stdio.h: Likewise. * locale/locale.h: Likewise. * misc/mntent.h: Likewise. * posix/wordexp.h: Likewise. * pwd/pwd.h: Likewise. * resolv/netdb.h: Likewise. * rt/aio.h: Likewise. * stdio-common/printf.h: Likewise. * stdlib/monetary.h: Likewise. * stdlib/stdlib.h: Likewise. * string/argz.h: Likewise. * string/envz.h: Likewise. * string/string.h: Likewise. * time/time.h: Likewise. 1998-12-04 Zack Weinberg <zack@rabi.phys.columbia.edu> * misc/sys/cdefs.h: Only include features.h if _FEATURES_H isn't defined. gcc's redundant include optimizer isn't clever enough to prevent a reinclusion here. Define __restrict to the empty string only if not GCC or GCC version less than 2.92. 1998-12-03 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * sysdeps/unix/sysv/linux/configure.in: Fix last change. 1998-12-03 Mark Kettenis <kettenis@phys.uva.nl> * time/strptime.c (strptime_internal): Make use of `%C' format specifier if it is seen together with the `%y' specifier. 1998-12-04 Ulrich Drepper <drepper@cygnus.com> * po/sk.po: New file. 1998-12-03 Scott Bambrough <scottb@corelcomputer.com> * sysdeps/arm/dl-machine.h (dl_start_user): Incorrect address for _dl_main_searchlist passed to _dl_init_next. 1998-12-02 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * math/libm-test.c: Expand literal tabs in strings. Normalize whitespace. 1998-12-02 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * sysdeps/unix/sysv/linux/sys/fsuid.h: Fix spelling.
This commit is contained in:
parent
fcb7e0a5f7
commit
a6ff34d7b0
59
ChangeLog
59
ChangeLog
@ -1,3 +1,62 @@
|
||||
1998-12-04 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* argp/argp.h: Add __retrict.
|
||||
* dirent/dirent.h: Likewise.
|
||||
* elf/dlfcn.h: Likewise.
|
||||
* grp/grp.h: Likewise.
|
||||
* iconv/iconv.h: Likewise.
|
||||
* inet/aliases.h: Likewise.
|
||||
* libio/libio.h: Likewise.
|
||||
* libio/stdio.h: Likewise.
|
||||
* locale/locale.h: Likewise.
|
||||
* misc/mntent.h: Likewise.
|
||||
* posix/wordexp.h: Likewise.
|
||||
* pwd/pwd.h: Likewise.
|
||||
* resolv/netdb.h: Likewise.
|
||||
* rt/aio.h: Likewise.
|
||||
* stdio-common/printf.h: Likewise.
|
||||
* stdlib/monetary.h: Likewise.
|
||||
* stdlib/stdlib.h: Likewise.
|
||||
* string/argz.h: Likewise.
|
||||
* string/envz.h: Likewise.
|
||||
* string/string.h: Likewise.
|
||||
* time/time.h: Likewise.
|
||||
|
||||
1998-12-04 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||||
|
||||
* misc/sys/cdefs.h: Only include features.h if _FEATURES_H isn't
|
||||
defined. gcc's redundant include optimizer isn't clever enough to
|
||||
prevent a reinclusion here.
|
||||
Define __restrict to the empty string only if not GCC or
|
||||
GCC version less than 2.92.
|
||||
|
||||
1998-12-03 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||||
|
||||
* sysdeps/unix/sysv/linux/configure.in: Fix last change.
|
||||
|
||||
1998-12-03 Mark Kettenis <kettenis@phys.uva.nl>
|
||||
|
||||
* time/strptime.c (strptime_internal): Make use of `%C' format
|
||||
specifier if it is seen together with the `%y' specifier.
|
||||
|
||||
1998-12-04 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* po/sk.po: New file.
|
||||
|
||||
1998-12-03 Scott Bambrough <scottb@corelcomputer.com>
|
||||
|
||||
* sysdeps/arm/dl-machine.h (dl_start_user): Incorrect address
|
||||
for _dl_main_searchlist passed to _dl_init_next.
|
||||
|
||||
1998-12-02 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||||
|
||||
* math/libm-test.c: Expand literal tabs in strings. Normalize
|
||||
whitespace.
|
||||
|
||||
1998-12-02 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||||
|
||||
* sysdeps/unix/sysv/linux/sys/fsuid.h: Fix spelling.
|
||||
|
||||
1998-12-04 Mark Kettenis <kettenis@phys.uva.nl>
|
||||
|
||||
Provide backwards binary compatibility for the Hurd.
|
||||
|
67
argp/argp.h
67
argp/argp.h
@ -388,12 +388,15 @@ struct argp_state
|
||||
routine returned a non-zero value, it is returned; otherwise 0 is
|
||||
returned. This function may also call exit unless the ARGP_NO_HELP flag
|
||||
is set. INPUT is a pointer to a value to be passed in to the parser. */
|
||||
extern error_t argp_parse __P ((__const struct argp *__argp,
|
||||
int __argc, char **__argv, unsigned __flags,
|
||||
int *__arg_index, void *__input));
|
||||
extern error_t __argp_parse __P ((__const struct argp *__argp,
|
||||
int __argc, char **__argv, unsigned __flags,
|
||||
int *__arg_index, void *__input));
|
||||
extern error_t argp_parse __P ((__const struct argp *__restrict __argp,
|
||||
int __argc, char **__restrict __argv,
|
||||
unsigned __flags, int *__restrict __arg_index,
|
||||
void *__restrict __input));
|
||||
extern error_t __argp_parse __P ((__const struct argp *__restrict __argp,
|
||||
int __argc, char **__restrict __argv,
|
||||
unsigned __flags,
|
||||
int *__restrict __arg_index,
|
||||
void *__restrict __input));
|
||||
|
||||
/* Global variables. */
|
||||
|
||||
@ -408,8 +411,9 @@ extern __const char *argp_program_version;
|
||||
calls this function with a stream to print the version to and a pointer to
|
||||
the current parsing state, and then exits (unless the ARGP_NO_EXIT flag is
|
||||
used). This variable takes precedent over ARGP_PROGRAM_VERSION. */
|
||||
extern void (*argp_program_version_hook) __PMT ((FILE *__stream,
|
||||
struct argp_state *__state));
|
||||
extern void (*argp_program_version_hook) __PMT ((FILE *__restrict __stream,
|
||||
struct argp_state *__restrict
|
||||
__state));
|
||||
|
||||
/* If defined or set by the user program, it should point to string that is
|
||||
the bug-reporting address for the program. It will be printed by
|
||||
@ -454,10 +458,12 @@ extern error_t argp_err_exit_status;
|
||||
|
||||
/* Output a usage message for ARGP to STREAM. FLAGS are from the set
|
||||
ARGP_HELP_*. */
|
||||
extern void argp_help __P ((__const struct argp *__argp, FILE *__stream,
|
||||
unsigned __flags, char *__name));
|
||||
extern void __argp_help __P ((__const struct argp *__argp, FILE *__stream,
|
||||
unsigned __flags, char *__name));
|
||||
extern void argp_help __P ((__const struct argp *__restrict __argp,
|
||||
FILE *__restrict __stream,
|
||||
unsigned __flags, char *__restrict __name));
|
||||
extern void __argp_help __P ((__const struct argp *__restrict __argp,
|
||||
FILE *__restrict __stream, unsigned __flags,
|
||||
char *__name));
|
||||
|
||||
/* The following routines are intended to be called from within an argp
|
||||
parsing routine (thus taking an argp_state structure as the first
|
||||
@ -469,10 +475,14 @@ extern void __argp_help __P ((__const struct argp *__argp, FILE *__stream,
|
||||
|
||||
/* Output, if appropriate, a usage message for STATE to STREAM. FLAGS are
|
||||
from the set ARGP_HELP_*. */
|
||||
extern void argp_state_help __P ((__const struct argp_state *__state,
|
||||
FILE *__stream, unsigned __flags));
|
||||
extern void __argp_state_help __P ((__const struct argp_state *__state,
|
||||
FILE *__stream, unsigned __flags));
|
||||
extern void argp_state_help __P ((__const struct argp_state *__restrict
|
||||
__state,
|
||||
FILE *__restrict __stream,
|
||||
unsigned int __flags));
|
||||
extern void __argp_state_help __P ((__const struct argp_state *__restrict
|
||||
__state,
|
||||
FILE *__restrict __stream,
|
||||
unsigned int __flags));
|
||||
|
||||
/* Possibly output the standard usage message for ARGP to stderr and exit. */
|
||||
extern void argp_usage __P ((__const struct argp_state *__state));
|
||||
@ -481,11 +491,11 @@ extern void __argp_usage __P ((__const struct argp_state *__state));
|
||||
/* If appropriate, print the printf string FMT and following args, preceded
|
||||
by the program name and `:', to stderr, and followed by a `Try ... --help'
|
||||
message, then exit (1). */
|
||||
extern void argp_error __P ((__const struct argp_state *__state,
|
||||
__const char *__fmt, ...))
|
||||
extern void argp_error __P ((__const struct argp_state *__restrict __state,
|
||||
__const char *__restrict __fmt, ...))
|
||||
__attribute__ ((__format__ (__printf__, 2, 3)));
|
||||
extern void __argp_error __P ((__const struct argp_state *__state,
|
||||
__const char *__fmt, ...))
|
||||
extern void __argp_error __P ((__const struct argp_state *__restrict __state,
|
||||
__const char *__restrict __fmt, ...))
|
||||
__attribute__ ((__format__ (__printf__, 2, 3)));
|
||||
|
||||
/* Similar to the standard gnu error-reporting function error(), but will
|
||||
@ -496,13 +506,13 @@ extern void __argp_error __P ((__const struct argp_state *__state,
|
||||
difference between this function and argp_error is that the latter is for
|
||||
*parsing errors*, and the former is for other problems that occur during
|
||||
parsing but don't reflect a (syntactic) problem with the input. */
|
||||
extern void argp_failure __P ((__const struct argp_state *__state,
|
||||
extern void argp_failure __P ((__const struct argp_state *__restrict __state,
|
||||
int __status, int __errnum,
|
||||
__const char *__fmt, ...))
|
||||
__const char *__restrict __fmt, ...))
|
||||
__attribute__ ((__format__ (__printf__, 4, 5)));
|
||||
extern void __argp_failure __P ((__const struct argp_state *__state,
|
||||
extern void __argp_failure __P ((__const struct argp_state *__restrict __state,
|
||||
int __status, int __errnum,
|
||||
__const char *__fmt, ...))
|
||||
__const char *__restrict __fmt, ...))
|
||||
__attribute__ ((__format__ (__printf__, 4, 5)));
|
||||
|
||||
/* Returns true if the option OPT is a valid short option. */
|
||||
@ -516,10 +526,11 @@ extern int __option_is_end __P ((__const struct argp_option *__opt));
|
||||
|
||||
/* Return the input field for ARGP in the parser corresponding to STATE; used
|
||||
by the help routines. */
|
||||
extern void *_argp_input __P ((__const struct argp *argp,
|
||||
__const struct argp_state *state));
|
||||
extern void *__argp_input __P ((__const struct argp *argp,
|
||||
__const struct argp_state *state));
|
||||
extern void *_argp_input __P ((__const struct argp *__restrict __argp,
|
||||
__const struct argp_state *__restrict __state));
|
||||
extern void *__argp_input __P ((__const struct argp *__restrict __argp,
|
||||
__const struct argp_state *__restrict
|
||||
__state));
|
||||
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
|
||||
|
@ -143,12 +143,14 @@ extern struct dirent64 *readdir64 __P ((DIR *__dirp));
|
||||
/* Reentrant version of `readdir'. Return in RESULT a pointer to the
|
||||
next entry. */
|
||||
# ifndef __USE_FILE_OFFSET64
|
||||
extern int readdir_r __P ((DIR *__dirp, struct dirent *__entry,
|
||||
struct dirent **__result));
|
||||
extern int readdir_r __P ((DIR *__restrict __dirp,
|
||||
struct dirent *__restrict __entry,
|
||||
struct dirent **__restrict __result));
|
||||
# else
|
||||
# ifdef __REDIRECT
|
||||
extern int __REDIRECT (readdir_r, __P ((DIR *__dirp, struct dirent *__entry,
|
||||
struct dirent **__result)),
|
||||
extern int __REDIRECT (readdir_r, __P ((DIR *__restrict __dirp,
|
||||
struct dirent *__restrict __entry,
|
||||
struct dirent **__restrict __result)),
|
||||
readdir64_r);
|
||||
# else
|
||||
# define readdir_r readdir64_r
|
||||
@ -156,8 +158,9 @@ extern int __REDIRECT (readdir_r, __P ((DIR *__dirp, struct dirent *__entry,
|
||||
# endif
|
||||
|
||||
# ifdef __USE_LARGEFILE64
|
||||
extern int readdir64_r __P ((DIR *__dirp, struct dirent64 *__entry,
|
||||
struct dirent64 **__result));
|
||||
extern int readdir64_r __P ((DIR *__restrict __dirp,
|
||||
struct dirent64 *__restrict __entry,
|
||||
struct dirent64 **__restrict __result));
|
||||
# endif
|
||||
#endif /* POSIX or misc */
|
||||
|
||||
@ -203,14 +206,15 @@ extern int dirfd __P ((DIR *__dirp));
|
||||
sorted using qsort with CMP, and collected in a malloc'd array in
|
||||
*NAMELIST. Returns the number of entries selected, or -1 on error. */
|
||||
# ifndef __USE_FILE_OFFSET64
|
||||
extern int scandir __P ((__const char *__dir, struct dirent ***__namelist,
|
||||
extern int scandir __P ((__const char *__restrict __dir,
|
||||
struct dirent ***__restrict __namelist,
|
||||
int (*__selector) (__const struct dirent *),
|
||||
int (*__cmp) (__const __ptr_t, __const __ptr_t)));
|
||||
# else
|
||||
# ifdef __REDIRECT
|
||||
extern int __REDIRECT (scandir,
|
||||
__P ((__const char *__dir,
|
||||
struct dirent ***__namelist,
|
||||
__P ((__const char *__restrict __dir,
|
||||
struct dirent ***__restrict __namelist,
|
||||
int (*__selector) (__const struct dirent *),
|
||||
int (*__cmp) (__const __ptr_t, __const __ptr_t))),
|
||||
scandir64);
|
||||
@ -222,7 +226,8 @@ extern int __REDIRECT (scandir,
|
||||
# if defined __USE_GNU && defined __USE_LARGEFILE64
|
||||
/* This function is like `scandir' but it uses the 64bit dirent structure.
|
||||
Please note that the CMP function must now work with struct dirent64 **. */
|
||||
extern int scandir64 __P ((__const char *__dir, struct dirent64 ***__namelist,
|
||||
extern int scandir64 __P ((__const char *__restrict __dir,
|
||||
struct dirent64 ***__restrict __namelist,
|
||||
int (*__selector) (__const struct dirent64 *),
|
||||
int (*__cmp) (__const __ptr_t, __const __ptr_t)));
|
||||
# endif
|
||||
@ -267,8 +272,9 @@ extern int versionsort64 __P ((__const __ptr_t __e1, __const __ptr_t __e2));
|
||||
Reading starts at offset *BASEP, and *BASEP is updated with the new
|
||||
position after reading. Returns the number of bytes read; zero when at
|
||||
end of directory; or -1 for errors. */
|
||||
extern __ssize_t getdirentries __P ((int __fd, char *__buf,
|
||||
size_t __nbytes, __off_t *__basep));
|
||||
extern __ssize_t getdirentries __P ((int __fd, char *__restrict __buf,
|
||||
size_t __nbytes,
|
||||
__off_t *__restrict __basep));
|
||||
|
||||
|
||||
#endif /* Use BSD or misc. */
|
||||
|
@ -50,13 +50,15 @@ extern int dlclose __P ((void *__handle));
|
||||
|
||||
/* Find the run-time address in the shared object HANDLE refers to
|
||||
of the symbol called NAME. */
|
||||
extern void *dlsym __P ((void *__handle, __const char *__name));
|
||||
extern void *dlsym __P ((void *__restrict __handle,
|
||||
__const char *__restrict __name));
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Find the run-time address in the shared object HANDLE refers to
|
||||
of the symbol called NAME with VERSION. */
|
||||
extern void *dlvsym __P ((void *__handle, __const char *__name,
|
||||
__const char *__version));
|
||||
extern void *dlvsym __P ((void *__restrict __handle,
|
||||
__const char *__restrict __name,
|
||||
__const char *__restrict __version));
|
||||
#endif
|
||||
|
||||
/* When any of the above functions fails, call this function
|
||||
|
29
grp/grp.h
29
grp/grp.h
@ -73,7 +73,8 @@ extern struct group *fgetgrent __P ((FILE *__stream));
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Write the given entry onto the given stream. */
|
||||
extern int putgrent __P ((__const struct group *__p, FILE *__f));
|
||||
extern int putgrent __P ((__const struct group *__restrict __p,
|
||||
FILE *__restrict __f));
|
||||
#endif
|
||||
|
||||
/* Search for an entry with a matching group ID. */
|
||||
@ -99,26 +100,30 @@ extern struct group *getgrnam __P ((__const char *__name));
|
||||
POSIX people would choose. */
|
||||
|
||||
# if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED
|
||||
extern int getgrent_r __P ((struct group *__resultbuf, char *__buffer,
|
||||
size_t __buflen, struct group **__result));
|
||||
extern int getgrent_r __P ((struct group *__restrict __resultbuf,
|
||||
char *__restrict __buffer, size_t __buflen,
|
||||
struct group **__restrict __result));
|
||||
# endif
|
||||
|
||||
/* Search for an entry with a matching group ID. */
|
||||
extern int getgrgid_r __P ((__gid_t __gid, struct group *__resultbuf,
|
||||
char *__buffer, size_t __buflen,
|
||||
struct group **__result));
|
||||
extern int getgrgid_r __P ((__gid_t __gid,
|
||||
struct group *__restrict __resultbuf,
|
||||
char *__restrict __buffer, size_t __buflen,
|
||||
struct group **__restrict __result));
|
||||
|
||||
/* Search for an entry with a matching group name. */
|
||||
extern int getgrnam_r __P ((__const char *__name, struct group *__resultbuf,
|
||||
char *__buffer, size_t __buflen,
|
||||
struct group **__result));
|
||||
extern int getgrnam_r __P ((__const char *__restrict __name,
|
||||
struct group *__restrict __resultbuf,
|
||||
char *__restrict __buffer, size_t __buflen,
|
||||
struct group **__restrict __result));
|
||||
|
||||
# ifdef __USE_SVID
|
||||
/* Read a group entry from STREAM. This function is not standardized
|
||||
an probably never will. */
|
||||
extern int fgetgrent_r __P ((FILE * __stream, struct group *__resultbuf,
|
||||
char *__buffer, size_t __buflen,
|
||||
struct group **__result));
|
||||
extern int fgetgrent_r __P ((FILE *__restrict __stream,
|
||||
struct group *__restrict __resultbuf,
|
||||
char *__restrict __buffer, size_t __buflen,
|
||||
struct group **__restrict __result));
|
||||
# endif
|
||||
|
||||
#endif /* POSIX or reentrant */
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -39,8 +39,10 @@ extern iconv_t iconv_open __P ((__const char *__tocode,
|
||||
code conversion algorithm specified by CD and place up to
|
||||
*OUTBYTESLEFT bytes in buffer at *OUTBUF. */
|
||||
extern size_t iconv __P ((iconv_t cd,
|
||||
__const char **__inbuf, size_t *__inbytesleft,
|
||||
char **__outbuf, size_t *__outbytesleft));
|
||||
__const char **__restrict __inbuf,
|
||||
size_t *__restrict __inbytesleft,
|
||||
char **__restrict __outbuf,
|
||||
size_t *__restrict __outbytesleft));
|
||||
|
||||
/* Free resources allocated for descriptor CD for code conversion. */
|
||||
extern int iconv_close __P ((iconv_t __cd));
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -46,17 +46,19 @@ extern void endaliasent __P ((void));
|
||||
extern struct aliasent *getaliasent __P ((void));
|
||||
|
||||
/* Get the next entry from the alias data base and put it in RESULT_BUF. */
|
||||
extern int getaliasent_r __P ((struct aliasent *__result_buf, char *__buffer,
|
||||
size_t __buflen, struct aliasent **__result));
|
||||
extern int getaliasent_r __P ((struct aliasent *__restrict __result_buf,
|
||||
char *__restrict __buffer,
|
||||
size_t __buflen,
|
||||
struct aliasent **__restrict __result));
|
||||
|
||||
/* Get alias entry corresponding to NAME. */
|
||||
extern struct aliasent *getaliasbyname __P ((__const char *__name));
|
||||
|
||||
/* Get alias entry corresponding to NAME and put it in RESULT_BUF. */
|
||||
extern int getaliasbyname_r __P ((__const char *__name,
|
||||
struct aliasent *__result_buf,
|
||||
char *__buffer, size_t __buflen,
|
||||
struct aliasent **__result));
|
||||
extern int getaliasbyname_r __P ((__const char *__restrict __name,
|
||||
struct aliasent *__restrict __result_buf,
|
||||
char *__restrict __buffer, size_t __buflen,
|
||||
struct aliasent **__restrict __result));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
@ -325,8 +325,10 @@ extern int _IO_ftrylockfile __P ((_IO_FILE *));
|
||||
# define _IO_cleanup_region_end(_Doit) /**/
|
||||
#endif /* !_IO_MTSAFE_IO */
|
||||
|
||||
extern int _IO_vfscanf __P ((_IO_FILE *, const char *, _IO_va_list, int *));
|
||||
extern int _IO_vfprintf __P ((_IO_FILE *, const char *, _IO_va_list));
|
||||
extern int _IO_vfscanf __P ((_IO_FILE * __restrict, const char * __restrict,
|
||||
_IO_va_list, int *__restrict));
|
||||
extern int _IO_vfprintf __P ((_IO_FILE *__restrict, const char *__restrict,
|
||||
_IO_va_list));
|
||||
extern _IO_ssize_t _IO_padn __P ((_IO_FILE *, int, _IO_ssize_t));
|
||||
extern _IO_size_t _IO_sgetn __P ((_IO_FILE *, void *, _IO_size_t));
|
||||
|
||||
|
@ -211,13 +211,15 @@ extern FILE *fdopen __P ((int __fd, __const char *__modes));
|
||||
#ifdef __USE_GNU
|
||||
/* Create a new stream that refers to the given magic cookie,
|
||||
and uses the given functions for input and output. */
|
||||
extern FILE *fopencookie __P ((void *__magic_cookie, __const char *__modes,
|
||||
extern FILE *fopencookie __P ((void *__restrict __magic_cookie,
|
||||
__const char *__restrict __modes,
|
||||
_IO_cookie_io_functions_t __io_funcs));
|
||||
|
||||
/* Open a stream that writes into a malloc'd buffer that is expanded as
|
||||
necessary. *BUFLOC and *SIZELOC are updated with the buffer's location
|
||||
and the number of characters written on fflush or fclose. */
|
||||
extern FILE *open_memstream __P ((char **__bufloc, size_t *__sizeloc));
|
||||
extern FILE *open_memstream __P ((char **__restrict __bufloc,
|
||||
size_t *__restrict __sizeloc));
|
||||
#endif
|
||||
|
||||
|
||||
@ -233,7 +235,8 @@ extern int setvbuf __P ((FILE *__restrict __stream, char *__restrict __buf,
|
||||
#ifdef __USE_BSD
|
||||
/* If BUF is NULL, make STREAM unbuffered.
|
||||
Else make it use SIZE bytes of BUF for buffering. */
|
||||
extern void setbuffer __P ((FILE *__stream, char *__buf, size_t __size));
|
||||
extern void setbuffer __P ((FILE *__restrict __stream, char *__restrict __buf,
|
||||
size_t __size));
|
||||
|
||||
/* Make STREAM line-buffered. */
|
||||
extern void setlinebuf __P ((FILE *__stream));
|
||||
@ -398,14 +401,17 @@ extern char *gets __P ((char *__s));
|
||||
NULL), pointing to *N characters of space. It is realloc'd as
|
||||
necessary. Returns the number of characters read (not including the
|
||||
null terminator), or -1 on error or EOF. */
|
||||
extern _IO_ssize_t __getdelim __P ((char **__lineptr, size_t *__n,
|
||||
int __delimiter, FILE *__stream));
|
||||
extern _IO_ssize_t getdelim __P ((char **__lineptr, size_t *__n,
|
||||
int __delimiter, FILE *__stream));
|
||||
extern _IO_ssize_t __getdelim __P ((char **__restrict __lineptr,
|
||||
size_t *__restrict __n, int __delimiter,
|
||||
FILE *__restrict __stream));
|
||||
extern _IO_ssize_t getdelim __P ((char **__restrict __lineptr,
|
||||
size_t *__restrict __n, int __delimiter,
|
||||
FILE *__restrict __stream));
|
||||
|
||||
/* Like `getdelim', but reads up to a newline. */
|
||||
extern _IO_ssize_t getline __P ((char **__lineptr, size_t *__n,
|
||||
FILE *__stream));
|
||||
extern _IO_ssize_t getline __P ((char **__restrict __lineptr,
|
||||
size_t *__restrict __n,
|
||||
FILE *__restrict __stream));
|
||||
#endif
|
||||
|
||||
|
||||
@ -584,10 +590,10 @@ extern char *cuserid __P ((char *__s));
|
||||
struct obstack; /* See <obstack.h>. */
|
||||
|
||||
/* Write formatted output to an obstack. */
|
||||
extern int obstack_printf __P ((struct obstack *__obstack,
|
||||
__const char *__format, ...));
|
||||
extern int obstack_vprintf __P ((struct obstack *__obstack,
|
||||
__const char *__format,
|
||||
extern int obstack_printf __P ((struct obstack *__restrict __obstack,
|
||||
__const char *__restrict __format, ...));
|
||||
extern int obstack_vprintf __P ((struct obstack *__restrict __obstack,
|
||||
__const char *__restrict __format,
|
||||
_G_va_list __args));
|
||||
#endif /* Use GNU. */
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
1998-12-02 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* pthread.c (__pthread_sig_restart): Initiliaze to 0 if
|
||||
SIGRTMIN is defined.
|
||||
(__pthread_sig_cancel): Likewise.
|
||||
|
||||
1998-12-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||||
|
||||
* wrapsyscall.c: Include <sys/mman.h> for msync,
|
||||
|
@ -147,8 +147,13 @@ const int __pthread_offsetof_pid = offsetof(struct _pthread_descr_struct,
|
||||
p_pid);
|
||||
|
||||
/* Signal numbers used for the communication. */
|
||||
#ifdef SIGRTMIN
|
||||
int __pthread_sig_restart;
|
||||
int __pthread_sig_cancel;
|
||||
#else
|
||||
int __pthread_sig_restart = DEFAULT_SIG_RESTART;
|
||||
int __pthread_sig_cancel = DEFAULT_SIG_CANCEL;
|
||||
#endif
|
||||
|
||||
/* These variables are used by the setup code. */
|
||||
extern int _errno;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991, 92, 95, 96, 97, 98 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -115,8 +115,8 @@ extern struct lconv *localeconv __P ((void));
|
||||
BASE is non-null the appropriate category information in the BASE
|
||||
record is replaced. */
|
||||
extern __locale_t __newlocale __P ((int __category_mask,
|
||||
__const char *__locale,
|
||||
__locale_t __base));
|
||||
__const char *__locale,
|
||||
__locale_t __base));
|
||||
|
||||
/* Return a duplicate of the set of locale in DATASET. All usage
|
||||
counters are increased if necessary. */
|
||||
|
1720
math/libm-test.c
1720
math/libm-test.c
File diff suppressed because it is too large
Load Diff
@ -73,14 +73,16 @@ extern struct mntent *getmntent __P ((FILE *__stream));
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* Reentrant version of the above function. */
|
||||
extern struct mntent *getmntent_r __P ((FILE *__stream,
|
||||
struct mntent *__result,
|
||||
char *__buffer, int __bufsize));
|
||||
extern struct mntent *getmntent_r __P ((FILE *__restrict __stream,
|
||||
struct mntent *__restrict __result,
|
||||
char *__restrict __buffer,
|
||||
int __bufsize));
|
||||
#endif
|
||||
|
||||
/* Write the mount table entry described by MNT to STREAM.
|
||||
Return zero on success, nonzero on failure. */
|
||||
extern int addmntent __P ((FILE *__stream, __const struct mntent *__mnt));
|
||||
extern int addmntent __P ((FILE *__restrict __stream,
|
||||
__const struct mntent *__restrict __mnt));
|
||||
|
||||
/* Close a stream opened with `setmntent'. */
|
||||
extern int endmntent __P ((FILE *__stream));
|
||||
|
@ -19,7 +19,10 @@
|
||||
#ifndef _SYS_CDEFS_H
|
||||
#define _SYS_CDEFS_H 1
|
||||
|
||||
/* We are almost always included from features.h. */
|
||||
#ifndef _FEATURES_H
|
||||
#include <features.h>
|
||||
#endif
|
||||
|
||||
/* Some user header file might have defined this before. */
|
||||
#undef __P
|
||||
@ -152,8 +155,11 @@
|
||||
|
||||
#endif
|
||||
|
||||
/* No current version of gcc knows the `restrict' keyword. Define it
|
||||
for now unconditionally to the empty string. */
|
||||
#define __restrict
|
||||
/* __restrict is known in EGCS 1.2 and above. */
|
||||
#if !defined __GNUC__ || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 92)
|
||||
|
||||
# define __restrict /* Ignore */
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* sys/cdefs.h */
|
||||
|
@ -58,8 +58,8 @@ enum
|
||||
};
|
||||
|
||||
/* Do word expansion of WORDS into PWORDEXP. */
|
||||
extern int wordexp __P ((__const char *__words, wordexp_t *__pwordexp,
|
||||
int __flags));
|
||||
extern int wordexp __P ((__const char *__restrict __words,
|
||||
wordexp_t *__restrict __pwordexp, int __flags));
|
||||
|
||||
/* Free the storage allocated by a `wordexp' call. */
|
||||
extern void wordfree __P ((wordexp_t *__wordexp));
|
||||
|
29
pwd/pwd.h
29
pwd/pwd.h
@ -81,7 +81,8 @@ extern struct passwd *getpwent __P ((void));
|
||||
extern struct passwd *fgetpwent __P ((FILE *__stream));
|
||||
|
||||
/* Write the given entry onto the given stream. */
|
||||
extern int putpwent __P ((__const struct passwd *__p, FILE *__f));
|
||||
extern int putpwent __P ((__const struct passwd *__restrict __p,
|
||||
FILE *__restrict __f));
|
||||
#endif
|
||||
|
||||
/* Search for an entry with a matching user ID. */
|
||||
@ -107,25 +108,29 @@ extern struct passwd *getpwnam __P ((__const char *__name));
|
||||
POSIX people would choose. */
|
||||
|
||||
# if defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN_EXTENDED
|
||||
extern int getpwent_r __P ((struct passwd *__resultbuf, char *__buffer,
|
||||
size_t __buflen, struct passwd **__result));
|
||||
extern int getpwent_r __P ((struct passwd *__restrict __resultbuf,
|
||||
char *__restrict __buffer, size_t __buflen,
|
||||
struct passwd **__restrict __result));
|
||||
# endif
|
||||
|
||||
extern int getpwuid_r __P ((__uid_t __uid, struct passwd *__resultbuf,
|
||||
char *__buffer, size_t __buflen,
|
||||
struct passwd **__result));
|
||||
extern int getpwuid_r __P ((__uid_t __uid,
|
||||
struct passwd *__restrict __resultbuf,
|
||||
char *__restrict __buffer, size_t __buflen,
|
||||
struct passwd **__restrict __result));
|
||||
|
||||
extern int getpwnam_r __P ((__const char *__name, struct passwd *__resultbuf,
|
||||
char *__buffer, size_t __buflen,
|
||||
struct passwd **__result));
|
||||
extern int getpwnam_r __P ((__const char *__restrict __name,
|
||||
struct passwd *__restrict __resultbuf,
|
||||
char *__restrict __buffer, size_t __buflen,
|
||||
struct passwd **__restrict __result));
|
||||
|
||||
|
||||
# ifdef __USE_SVID
|
||||
/* Read an entry from STREAM. This function is not standardized and
|
||||
probably never will. */
|
||||
extern int fgetpwent_r __P ((FILE * __stream, struct passwd *__resultbuf,
|
||||
char *__buffer, size_t __buflen,
|
||||
struct passwd **__result));
|
||||
extern int fgetpwent_r __P ((FILE *__restrict __stream,
|
||||
struct passwd *__restrict __resultbuf,
|
||||
char *__restrict __buffer, size_t __buflen,
|
||||
struct passwd **__restrict __result));
|
||||
# endif
|
||||
|
||||
#endif /* POSIX or reentrant */
|
||||
|
247
resolv/netdb.h
247
resolv/netdb.h
@ -130,39 +130,49 @@ extern struct hostent *gethostbyname2 __P ((__const char *__name, int __af));
|
||||
argument is a pointer to a variable which gets the value which
|
||||
would be stored in the global variable `herrno' by the
|
||||
non-reentrant functions. */
|
||||
extern int __gethostent_r __P ((struct hostent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct hostent **__result,
|
||||
int *__h_errnop));
|
||||
extern int gethostent_r __P ((struct hostent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct hostent **__result,
|
||||
int *__h_errnop));
|
||||
extern int __gethostent_r __P ((struct hostent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct hostent **__restrict __result,
|
||||
int *__restrict __h_errnop));
|
||||
extern int gethostent_r __P ((struct hostent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct hostent **__restrict __result,
|
||||
int *__restrict __h_errnop));
|
||||
|
||||
extern int __gethostbyaddr_r __P ((__const char *__addr, int __len, int __type,
|
||||
struct hostent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct hostent **__result,
|
||||
int *__h_errnop));
|
||||
extern int gethostbyaddr_r __P ((__const char *__addr, int __len, int __type,
|
||||
struct hostent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct hostent **__result,
|
||||
int *__h_errnop));
|
||||
extern int __gethostbyaddr_r __P ((__const char *__restrict __addr,
|
||||
int __len, int __type,
|
||||
struct hostent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct hostent **__restrict __result,
|
||||
int *__restrict __h_errnop));
|
||||
extern int gethostbyaddr_r __P ((__const char *__restrict __addr, int __len,
|
||||
int __type,
|
||||
struct hostent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct hostent **__restrict __result,
|
||||
int *__restrict __h_errnop));
|
||||
|
||||
extern int __gethostbyname_r __P ((__const char *__name,
|
||||
struct hostent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct hostent **__result,
|
||||
int *__h_errnop));
|
||||
extern int gethostbyname_r __P ((__const char *__name,
|
||||
struct hostent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct hostent **__result,
|
||||
int *__h_errnop));
|
||||
extern int __gethostbyname_r __P ((__const char *__restrict __name,
|
||||
struct hostent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct hostent **__restrict __result,
|
||||
int *__restrict __h_errnop));
|
||||
extern int gethostbyname_r __P ((__const char *__restrict __name,
|
||||
struct hostent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct hostent **__restrict __result,
|
||||
int *__restrict __h_errnop));
|
||||
|
||||
extern int __gethostbyname2_r __P ((__const char *__name, int __af,
|
||||
struct hostent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct hostent **__result,
|
||||
int *__h_errnop));
|
||||
extern int gethostbyname2_r __P ((__const char *__name, int __af,
|
||||
struct hostent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct hostent **__result,
|
||||
int *__h_errnop));
|
||||
extern int __gethostbyname2_r __P ((__const char *__restrict __name, int __af,
|
||||
struct hostent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct hostent **__restrict __result,
|
||||
int *__restrict __h_errnop));
|
||||
extern int gethostbyname2_r __P ((__const char *__restrict __name, int __af,
|
||||
struct hostent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct hostent **__restrict __result,
|
||||
int *__restrict __h_errnop));
|
||||
#endif /* misc */
|
||||
|
||||
|
||||
@ -215,30 +225,36 @@ extern struct netent *getnetbyname __P ((__const char *__name));
|
||||
argument is a pointer to a variable which gets the value which
|
||||
would be stored in the global variable `herrno' by the
|
||||
non-reentrant functions. */
|
||||
extern int __getnetent_r __P ((struct netent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct netent **__result,
|
||||
int *__h_errnop));
|
||||
extern int getnetent_r __P ((struct netent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct netent **__result,
|
||||
int *__h_errnop));
|
||||
extern int __getnetent_r __P ((struct netent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct netent **__restrict __result,
|
||||
int *__restrict __h_errnop));
|
||||
extern int getnetent_r __P ((struct netent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct netent **__restrict __result,
|
||||
int *__restrict __h_errnop));
|
||||
|
||||
extern int __getnetbyaddr_r __P ((unsigned long int __net, int __type,
|
||||
struct netent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct netent **__result,
|
||||
int *__h_errnop));
|
||||
struct netent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct netent **__restrict __result,
|
||||
int *__restrict __h_errnop));
|
||||
extern int getnetbyaddr_r __P ((unsigned long int __net, int __type,
|
||||
struct netent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct netent **__result,
|
||||
int *__h_errnop));
|
||||
struct netent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct netent **__restrict __result,
|
||||
int *__restrict __h_errnop));
|
||||
|
||||
extern int __getnetbyname_r __P ((__const char *__name,
|
||||
struct netent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct netent **__result,
|
||||
int *__h_errnop));
|
||||
extern int getnetbyname_r __P ((__const char *__name,
|
||||
struct netent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct netent **__result,
|
||||
int *__h_errnop));
|
||||
extern int __getnetbyname_r __P ((__const char *__restrict __name,
|
||||
struct netent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct netent **__restrict __result,
|
||||
int *__restrict __h_errnop));
|
||||
extern int getnetbyname_r __P ((__const char *__restrict __name,
|
||||
struct netent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct netent **__restrict __result,
|
||||
int *__restrict __h_errnop));
|
||||
#endif /* misc */
|
||||
|
||||
|
||||
@ -275,26 +291,33 @@ extern struct servent *getservbyport __P ((int __port, __const char *__proto));
|
||||
#ifdef __USE_MISC
|
||||
/* Reentrant versions of the functions above. The additional
|
||||
arguments specify a buffer of BUFLEN starting at BUF. */
|
||||
extern int __getservent_r __P ((struct servent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct servent **__result));
|
||||
extern int getservent_r __P ((struct servent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct servent **__result));
|
||||
extern int __getservent_r __P ((struct servent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct servent **__restrict __result));
|
||||
extern int getservent_r __P ((struct servent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct servent **__restrict __result));
|
||||
|
||||
extern int __getservbyname_r __P ((__const char *__name, __const char *__proto,
|
||||
struct servent *__result_buf, char *__buf,
|
||||
size_t __buflen,
|
||||
struct servent **__result));
|
||||
extern int getservbyname_r __P ((__const char *__name, __const char *__proto,
|
||||
struct servent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct servent **__result));
|
||||
extern int __getservbyname_r __P ((__const char *__restrict __name,
|
||||
__const char *__restrict __proto,
|
||||
struct servent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct servent **__restrict __result));
|
||||
extern int getservbyname_r __P ((__const char *__restrict __name,
|
||||
__const char *__restrict __proto,
|
||||
struct servent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct servent **__restrict __result));
|
||||
|
||||
extern int __getservbyport_r __P ((int __port, __const char *__proto,
|
||||
struct servent *__result_buf, char *__buf,
|
||||
size_t __buflen,
|
||||
struct servent **__result));
|
||||
extern int getservbyport_r __P ((int __port, __const char *__proto,
|
||||
struct servent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct servent **__result));
|
||||
extern int __getservbyport_r __P ((int __port,
|
||||
__const char *__restrict __proto,
|
||||
struct servent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct servent **__restrict __result));
|
||||
extern int getservbyport_r __P ((int __port, __const char *__restrict __proto,
|
||||
struct servent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct servent **__restrict __result));
|
||||
#endif /* misc */
|
||||
|
||||
|
||||
@ -327,26 +350,30 @@ extern struct protoent *getprotobynumber __P ((int __proto));
|
||||
#ifdef __USE_MISC
|
||||
/* Reentrant versions of the functions above. The additional
|
||||
arguments specify a buffer of BUFLEN starting at BUF. */
|
||||
extern int __getprotoent_r __P ((struct protoent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct protoent **__result));
|
||||
extern int getprotoent_r __P ((struct protoent *__result_buf, char *__buf,
|
||||
size_t __buflen, struct protoent **__result));
|
||||
extern int __getprotoent_r __P ((struct protoent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct protoent **__restrict __result));
|
||||
extern int getprotoent_r __P ((struct protoent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct protoent **__restrict __result));
|
||||
|
||||
extern int __getprotobyname_r __P ((__const char *__name,
|
||||
struct protoent *__result_buf, char *__buf,
|
||||
size_t __buflen,
|
||||
struct protoent **__result));
|
||||
extern int getprotobyname_r __P ((__const char *__name,
|
||||
struct protoent *__result_buf, char *__buf,
|
||||
size_t __buflen,
|
||||
struct protoent **__result));
|
||||
extern int __getprotobyname_r __P ((__const char *__restrict __name,
|
||||
struct protoent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct protoent **__restrict __result));
|
||||
extern int getprotobyname_r __P ((__const char *__restrict __name,
|
||||
struct protoent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct protoent **__restrict __result));
|
||||
|
||||
extern int __getprotobynumber_r __P ((int __proto, struct protoent *__res_buf,
|
||||
char *__buf, size_t __buflen,
|
||||
struct protoent **__result));
|
||||
extern int getprotobynumber_r __P ((int __proto, struct protoent *__result_buf,
|
||||
char *__buf, size_t __buflen,
|
||||
struct protoent **__result));
|
||||
extern int __getprotobynumber_r __P ((int __proto,
|
||||
struct protoent *__restrict __res_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct protoent **__restrict __result));
|
||||
extern int getprotobynumber_r __P ((int __proto,
|
||||
struct protoent *__restrict __result_buf,
|
||||
char *__restrict __buf, size_t __buflen,
|
||||
struct protoent **__restrict __result));
|
||||
#endif /* misc */
|
||||
|
||||
|
||||
@ -358,8 +385,9 @@ extern void endnetgrent __P ((void));
|
||||
|
||||
/* Get next member of netgroup established by last `setnetgrent' call
|
||||
and return pointers to elements in HOSTP, USERP, and DOMAINP. */
|
||||
extern int getnetgrent __P ((char **__hostp, char **__userp,
|
||||
char **__domainp));
|
||||
extern int getnetgrent __P ((char **__restrict __hostp,
|
||||
char **__restrict __userp,
|
||||
char **__restrict __domainp));
|
||||
|
||||
/* Test whether NETGROUP contains the triple (HOST,USER,DOMAIN). */
|
||||
extern int innetgr __P ((__const char *__netgroup, __const char *__host,
|
||||
@ -367,12 +395,14 @@ extern int innetgr __P ((__const char *__netgroup, __const char *__host,
|
||||
|
||||
#ifdef __USE_MISC
|
||||
/* Reentrant version of `getnetgrent' where result is placed in BUFFER. */
|
||||
extern int __getnetgrent_r __P ((char **__hostp, char **__userp,
|
||||
char **__domainp,
|
||||
char *__buffer, size_t __buflen));
|
||||
extern int getnetgrent_r __P ((char **__hostp, char **__userp,
|
||||
char **__domainp,
|
||||
char *__buffer, size_t __buflen));
|
||||
extern int __getnetgrent_r __P ((char **__restrict __hostp,
|
||||
char **__restrict __userp,
|
||||
char **__restrict __domainp,
|
||||
char *__restrict __buffer, size_t __buflen));
|
||||
extern int getnetgrent_r __P ((char **__restrict __hostp,
|
||||
char **__restrict __userp,
|
||||
char **__restrict __domainp,
|
||||
char *__restrict __buffer, size_t __buflen));
|
||||
#endif /* misc */
|
||||
|
||||
|
||||
@ -383,18 +413,21 @@ extern int getnetgrent_r __P ((char **__hostp, char **__userp,
|
||||
connection is returned. The caller must have the right to use a
|
||||
reserved port. When the function returns *AHOST contains the
|
||||
official host name. */
|
||||
extern int rcmd __P ((char **__ahost, unsigned short int __rport,
|
||||
__const char *__locuser, __const char *__remuser,
|
||||
__const char *__cmd, int *__fd2p));
|
||||
extern int rcmd __P ((char **__restrict __ahost, unsigned short int __rport,
|
||||
__const char *__restrict __locuser,
|
||||
__const char *__restrict __remuser,
|
||||
__const char *__restrict __cmd, int *__restrict __fd2p));
|
||||
|
||||
/* Call `rexecd' at port RPORT on remote machine *AHOST to execute
|
||||
CMD. The process runs at the remote machine using the ID of user
|
||||
NAME whose cleartext password is PASSWD. In *FD2P the descriptor
|
||||
to the socket for the connection is returned. When the function
|
||||
returns *AHOST contains the official host name. */
|
||||
extern int rexec __P ((char **__ahost, int __rport, __const char *__name,
|
||||
__const char *__pass, __const char *__cmd,
|
||||
int *__fd2p));
|
||||
extern int rexec __P ((char **__restrict __ahost, int __rport,
|
||||
__const char *__restrict __name,
|
||||
__const char *__restrict __pass,
|
||||
__const char *__restrict __cmd,
|
||||
int *__restrict __fd2p));
|
||||
|
||||
/* Check whether user REMUSER on system RHOST is allowed to login as LOCUSER.
|
||||
If SUSER is not zero the user tries to become superuser. Return 0 if
|
||||
@ -453,9 +486,10 @@ struct addrinfo
|
||||
|
||||
/* Translate name of a service location and/or a service name to set of
|
||||
socket addresses. */
|
||||
extern int getaddrinfo __P ((__const char *__name, __const char *__service,
|
||||
__const struct addrinfo *__req,
|
||||
struct addrinfo **__pai));
|
||||
extern int getaddrinfo __P ((__const char *__restrict __name,
|
||||
__const char *__restrict __service,
|
||||
__const struct addrinfo *__restrict __req,
|
||||
struct addrinfo **__restrict __pai));
|
||||
|
||||
/* Free `addrinfo' structure AI including associated storage. */
|
||||
extern void freeaddrinfo __P ((struct addrinfo *__ai));
|
||||
@ -464,9 +498,10 @@ extern void freeaddrinfo __P ((struct addrinfo *__ai));
|
||||
extern char *gai_strerror __P ((int __ecode));
|
||||
|
||||
/* Translate a socket address to a location and service name. */
|
||||
extern int getnameinfo __P ((__const struct sockaddr *__sa, socklen_t __salen,
|
||||
char *__host, size_t __hostlen,
|
||||
char *__serv, size_t __servlen,
|
||||
extern int getnameinfo __P ((__const struct sockaddr *__restrict __sa,
|
||||
socklen_t __salen,
|
||||
char *__restrict __host, size_t __hostlen,
|
||||
char *__restrict __serv, size_t __servlen,
|
||||
int __flags));
|
||||
|
||||
#endif /* POSIX */
|
||||
|
27
rt/aio.h
27
rt/aio.h
@ -143,8 +143,9 @@ extern int aio_read __P ((struct aiocb *__aiocbp));
|
||||
extern int aio_write __P ((struct aiocb *__aiocbp));
|
||||
|
||||
/* Initiate list of I/O requests. */
|
||||
extern int lio_listio __P ((int __mode, struct aiocb *__const __list[],
|
||||
int __nent, struct sigevent *__sig));
|
||||
extern int lio_listio __P ((int __mode,
|
||||
struct aiocb *__const __list[],
|
||||
int __nent, struct sigevent *__restrict __sig));
|
||||
|
||||
/* Retrieve error status associated with AIOCBP. */
|
||||
extern int aio_error __P ((__const struct aiocb *__aiocbp));
|
||||
@ -158,7 +159,8 @@ extern int aio_cancel __P ((int __fildes, struct aiocb *__aiocbp));
|
||||
/* Suspend calling thread until at least one of the asynchronous I/O
|
||||
operations referenced by LIST has completed. */
|
||||
extern int aio_suspend __P ((__const struct aiocb *__const __list[],
|
||||
int __nent, __const struct timespec *__timeout));
|
||||
int __nent,
|
||||
__const struct timespec *__restrict __timeout));
|
||||
|
||||
/* Force all operations associated with file desriptor described by
|
||||
`aio_fildes' member of AIOCBP. */
|
||||
@ -168,9 +170,10 @@ extern int aio_fsync __P ((int __operation, struct aiocb *__aiocbp));
|
||||
extern int __REDIRECT (aio_read, __P ((struct aiocb *__aiocbp)), aio_read64);
|
||||
extern int __REDIRECT (aio_write, __P ((struct aiocb *__aiocbp)), aio_write64);
|
||||
|
||||
extern int __REDIRECT (lio_listio, __P ((int __mode,
|
||||
struct aiocb *__const __list[],
|
||||
int __nent, struct sigevent *__sig)),
|
||||
extern int __REDIRECT (lio_listio,
|
||||
__P ((int __mode,
|
||||
struct aiocb *__const __restrict __list[],
|
||||
int __nent, struct sigevent *__restrict __sig)),
|
||||
lio_listio64);
|
||||
|
||||
extern int __REDIRECT (aio_error, __P ((__const struct aiocb *__aiocbp)),
|
||||
@ -183,8 +186,9 @@ extern int __REDIRECT (aio_cancel, __P ((int __fildes,
|
||||
aio_cancel64);
|
||||
|
||||
extern int __REDIRECT (aio_suspend,
|
||||
__P ((__const struct aiocb *__const __list[],
|
||||
int __nent, __const struct timespec *__timeout)),
|
||||
__P ((__const struct aiocb *__const __restrict __list[],
|
||||
int __nent,
|
||||
__const struct timespec *__restrict __timeout)),
|
||||
aio_suspend64);
|
||||
|
||||
extern int __REDIRECT (aio_fsync __P ((int __operation,
|
||||
@ -207,8 +211,9 @@ extern int __REDIRECT (aio_fsync __P ((int __operation,
|
||||
extern int aio_read64 __P ((struct aiocb64 *__aiocbp));
|
||||
extern int aio_write64 __P ((struct aiocb64 *__aiocbp));
|
||||
|
||||
extern int lio_listio64 __P ((int __mode, struct aiocb64 *__const __list[],
|
||||
int __nent, struct sigevent *__sig));
|
||||
extern int lio_listio64 __P ((int __mode,
|
||||
struct aiocb64 *__const __list[], int __nent,
|
||||
struct sigevent *__restrict __sig));
|
||||
|
||||
extern int aio_error64 __P ((__const struct aiocb64 *__aiocbp));
|
||||
extern __ssize_t aio_return64 __P ((struct aiocb64 *__aiocbp));
|
||||
@ -217,7 +222,7 @@ extern int aio_cancel64 __P ((int __fildes, struct aiocb64 *__aiocbp));
|
||||
|
||||
extern int aio_suspend64 __P ((__const struct aiocb64 *__const __list[],
|
||||
int __nent,
|
||||
__const struct timespec *__timeout));
|
||||
__const struct timespec *__restrict __timeout));
|
||||
|
||||
extern int aio_fsync64 __P ((int __operation, struct aiocb64 *__aiocbp));
|
||||
#endif
|
||||
|
@ -91,9 +91,9 @@ extern int register_printf_function __P ((int __spec, printf_function __func,
|
||||
array it is passed with the types of the arguments it wants, and return
|
||||
the number of arguments it wants. */
|
||||
|
||||
extern size_t parse_printf_format __P ((__const char *__fmt,
|
||||
extern size_t parse_printf_format __P ((__const char *__restrict __fmt,
|
||||
size_t __n,
|
||||
int *__argtypes));
|
||||
int *__restrict __argtypes));
|
||||
|
||||
|
||||
/* Codes returned by `parse_printf_format' for basic types.
|
||||
@ -130,12 +130,14 @@ enum
|
||||
of magnitude used for numbers ('k' for kilo, 'm' for mega etc). If
|
||||
the format specifier is a uppercase character powers of 1000 are
|
||||
used. Otherwise powers of 1024. */
|
||||
extern int printf_size __P ((FILE *__fp, __const struct printf_info *__info,
|
||||
__const void *__const *args));
|
||||
extern int printf_size __P ((FILE *__restrict __fp,
|
||||
__const struct printf_info *__info,
|
||||
__const void *__const *__restrict __args));
|
||||
|
||||
/* This is the appropriate argument information function for `printf_size'. */
|
||||
extern int printf_size_info __P ((__const struct printf_info *__info,
|
||||
size_t __n, int *__argtypes));
|
||||
extern int printf_size_info __P ((__const struct printf_info *__restrict
|
||||
__info, size_t __n,
|
||||
int *__restrict __argtypes));
|
||||
|
||||
|
||||
__END_DECLS
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Header file for monetary value formatting functions.
|
||||
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -28,15 +28,16 @@
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Formatting a monetary value according to the current locale. */
|
||||
extern ssize_t strfmon __P ((char *__s, size_t __maxsize,
|
||||
__const char *__format, ...));
|
||||
extern ssize_t strfmon __P ((char *__restrict __s, size_t __maxsize,
|
||||
__const char *__restrict __format, ...));
|
||||
|
||||
#ifdef __USE_GNU
|
||||
# include <xlocale.h>
|
||||
|
||||
/* Formatting a monetary value according to the current locale. */
|
||||
extern ssize_t __strfmon_l __P ((char *__s, size_t __maxsize, __locale_t loc,
|
||||
__const char *__format, ...));
|
||||
extern ssize_t __strfmon_l __P ((char *__restrict __s, size_t __maxsize,
|
||||
__locale_t loc,
|
||||
__const char *__restrict __format, ...));
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
@ -372,14 +372,18 @@ struct random_data
|
||||
int32_t *end_ptr; /* Pointer behind state table. */
|
||||
};
|
||||
|
||||
extern int random_r __P ((struct random_data *__buf, int32_t *__result));
|
||||
extern int random_r __P ((struct random_data *__restrict __buf,
|
||||
int32_t *__restrict __result));
|
||||
|
||||
extern int srandom_r __P ((unsigned int __seed, struct random_data *__buf));
|
||||
|
||||
extern int initstate_r __P ((unsigned int __seed, __ptr_t __statebuf,
|
||||
size_t __statelen, struct random_data *__buf));
|
||||
extern int initstate_r __P ((unsigned int __seed,
|
||||
__ptr_t __restrict __statebuf,
|
||||
size_t __statelen,
|
||||
struct random_data *__restrict __buf));
|
||||
|
||||
extern int setstate_r __P ((__ptr_t __statebuf, struct random_data *__buf));
|
||||
extern int setstate_r __P ((__ptr_t __restrict __statebuf,
|
||||
struct random_data *__restrict __buf));
|
||||
# endif /* Use misc. */
|
||||
#endif /* Use SVID || extended X/Open. */
|
||||
|
||||
@ -427,19 +431,25 @@ struct drand48_data
|
||||
|
||||
# ifdef __USE_MISC
|
||||
/* Return non-negative, double-precision floating-point value in [0.0,1.0). */
|
||||
extern int drand48_r __P ((struct drand48_data *__buffer, double *__result));
|
||||
extern int drand48_r __P ((struct drand48_data *__restrict __buffer,
|
||||
double *__restrict __result));
|
||||
extern int erand48_r __P ((unsigned short int __xsubi[3],
|
||||
struct drand48_data *__buffer, double *__result));
|
||||
struct drand48_data *__restrict __buffer,
|
||||
double *__restrict __result));
|
||||
|
||||
/* Return non-negative, long integer in [0,2^31). */
|
||||
extern int lrand48_r __P ((struct drand48_data *__buffer, long int *__result));
|
||||
extern int lrand48_r __P ((struct drand48_data *__restrict __buffer,
|
||||
long int *__restrict __result));
|
||||
extern int nrand48_r __P ((unsigned short int __xsubi[3],
|
||||
struct drand48_data *__buffer, long int *__result));
|
||||
struct drand48_data *__restrict __buffer,
|
||||
long int *__restrict __result));
|
||||
|
||||
/* Return signed, long integers in [-2^31,2^31). */
|
||||
extern int mrand48_r __P ((struct drand48_data *__buffer, long int *__result));
|
||||
extern int mrand48_r __P ((struct drand48_data *__restrict __buffer,
|
||||
long int *__restrict __result));
|
||||
extern int jrand48_r __P ((unsigned short int __xsubi[3],
|
||||
struct drand48_data *__buffer, long int *__result));
|
||||
struct drand48_data *__restrict __buffer,
|
||||
long int *__restrict __result));
|
||||
|
||||
/* Seed random number generator. */
|
||||
extern int srand48_r __P ((long int __seedval, struct drand48_data *__buffer));
|
||||
@ -572,7 +582,8 @@ extern char *canonicalize_file_name __P ((__const char *__name));
|
||||
name is PATH_MAX chars or more, returns null with `errno' set to
|
||||
ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, returns the
|
||||
name in RESOLVED. */
|
||||
extern char *realpath __P ((__const char *__name, char *__resolved));
|
||||
extern char *realpath __P ((__const char *__restrict __name,
|
||||
char *__restrict __resolved));
|
||||
#endif
|
||||
|
||||
|
||||
@ -627,14 +638,14 @@ __extension__ extern lldiv_t lldiv __P ((long long int __numer,
|
||||
/* Convert VALUE to a string with NDIGIT digits and return a pointer to
|
||||
this. Set *DECPT with the position of the decimal character and *SIGN
|
||||
with the sign of the number. */
|
||||
extern char *ecvt __P ((double __value, int __ndigit, int *__decpt,
|
||||
int *__sign));
|
||||
extern char *ecvt __P ((double __value, int __ndigit, int *__restrict __decpt,
|
||||
int *__restrict __sign));
|
||||
|
||||
/* Convert VALUE to a string rounded to NDIGIT decimal digits. Set *DECPT
|
||||
with the position of the decimal character and *SIGN with the sign of
|
||||
the number. */
|
||||
extern char *fcvt __P ((double __value, int __ndigit, int *__decpt,
|
||||
int *__sign));
|
||||
extern char *fcvt __P ((double __value, int __ndigit, int *__restrict __decpt,
|
||||
int *__restrict __sign));
|
||||
|
||||
/* If possible convert VALUE to a string with NDIGIT significant digits.
|
||||
Otherwise use exponential representation. The resulting string will
|
||||
@ -642,25 +653,29 @@ extern char *fcvt __P ((double __value, int __ndigit, int *__decpt,
|
||||
extern char *gcvt __P ((double __value, int __ndigit, char *__buf));
|
||||
|
||||
/* Long double versions of above functions. */
|
||||
extern char *qecvt __P ((__long_double_t __value, int __ndigit, int *__decpt,
|
||||
int *__sign));
|
||||
extern char *qfcvt __P ((__long_double_t __value, int __ndigit, int *__decpt,
|
||||
int *__sign));
|
||||
extern char *qecvt __P ((__long_double_t __value, int __ndigit,
|
||||
int *__restrict __decpt, int *__restrict __sign));
|
||||
extern char *qfcvt __P ((__long_double_t __value, int __ndigit,
|
||||
int *__restrict __decpt, int *__restrict __sign));
|
||||
extern char *qgcvt __P ((__long_double_t __value, int __ndigit, char *__buf));
|
||||
|
||||
|
||||
# ifdef __USE_MISC
|
||||
/* Reentrant version of the functions above which provide their own
|
||||
buffers. */
|
||||
extern int ecvt_r __P ((double __value, int __ndigit, int *__decpt,
|
||||
int *__sign, char *__buf, size_t __len));
|
||||
extern int fcvt_r __P ((double __value, int __ndigit, int *__decpt,
|
||||
int *__sign, char *__buf, size_t __len));
|
||||
extern int ecvt_r __P ((double __value, int __ndigit, int *__restrict __decpt,
|
||||
int *__restrict __sign, char *__restrict __buf,
|
||||
size_t __len));
|
||||
extern int fcvt_r __P ((double __value, int __ndigit, int *__restrict __decpt,
|
||||
int *__restrict __sign, char *__restrict __buf,
|
||||
size_t __len));
|
||||
|
||||
extern int qecvt_r __P ((__long_double_t __value, int __ndigit, int *__decpt,
|
||||
int *__sign, char *__buf, size_t __len));
|
||||
extern int qfcvt_r __P ((__long_double_t __value, int __ndigit, int *__decpt,
|
||||
int *__sign, char *__buf, size_t __len));
|
||||
extern int qecvt_r __P ((__long_double_t __value, int __ndigit,
|
||||
int *__restrict __decpt, int *__restrict __sign,
|
||||
char *__restrict __buf, size_t __len));
|
||||
extern int qfcvt_r __P ((__long_double_t __value, int __ndigit,
|
||||
int *__restrict __decpt, int *__restrict __sign,
|
||||
char *__restrict __buf, size_t __len));
|
||||
# endif /* misc */
|
||||
#endif /* use MISC || use X/Open Unix */
|
||||
|
||||
@ -701,8 +716,9 @@ extern int rpmatch __P ((__const char *__response));
|
||||
not part of TOKENS return in *VALUEP beginning of unknown
|
||||
suboption. On exit *OPTIONP is set to the beginning of the next
|
||||
token or at the terminating NUL character. */
|
||||
extern int getsubopt __P ((char **__optionp, __const char *__const *__tokens,
|
||||
char **__valuep));
|
||||
extern int getsubopt __P ((char **__restrict __optionp,
|
||||
__const char *__const *__restrict __tokens,
|
||||
char **__restrict __valuep));
|
||||
#endif
|
||||
|
||||
|
||||
|
110
string/argz.h
110
string/argz.h
@ -40,19 +40,23 @@ __BEGIN_DECLS
|
||||
/* Make a '\0' separated arg vector from a unix argv vector, returning it in
|
||||
ARGZ, and the total length in LEN. If a memory allocation error occurs,
|
||||
ENOMEM is returned, otherwise 0. The result can be destroyed using free. */
|
||||
extern error_t __argz_create __P ((char *__const __argv[], char **__argz,
|
||||
size_t *__len));
|
||||
extern error_t argz_create __P ((char *__const __argv[], char **__argz,
|
||||
size_t *__len));
|
||||
extern error_t __argz_create __P ((char *__const __argv[],
|
||||
char **__restrict __argz,
|
||||
size_t *__restrict __len));
|
||||
extern error_t argz_create __P ((char *__const __argv[],
|
||||
char **__restrict __argz,
|
||||
size_t *__restrict __len));
|
||||
|
||||
/* Make a '\0' separated arg vector from a SEP separated list in
|
||||
STRING, returning it in ARGZ, and the total length in LEN. If a
|
||||
memory allocation error occurs, ENOMEM is returned, otherwise 0.
|
||||
The result can be destroyed using free. */
|
||||
extern error_t __argz_create_sep __P ((__const char *__string, int __sep,
|
||||
char **__argz, size_t *__len));
|
||||
extern error_t argz_create_sep __P ((__const char *__string, int __sep,
|
||||
char **__argz, size_t *__len));
|
||||
extern error_t __argz_create_sep __P ((__const char *__restrict __string,
|
||||
int __sep, char **__restrict __argz,
|
||||
size_t *__restrict __len));
|
||||
extern error_t argz_create_sep __P ((__const char *__restrict __string,
|
||||
int __sep, char **__restrict __argz,
|
||||
size_t *__restrict __len));
|
||||
|
||||
/* Returns the number of strings in ARGZ. */
|
||||
extern size_t __argz_count __P ((__const char *__argz, size_t __len));
|
||||
@ -60,10 +64,10 @@ extern size_t argz_count __P ((__const char *__argz, size_t __len));
|
||||
|
||||
/* Puts pointers to each string in ARGZ into ARGV, which must be large enough
|
||||
to hold them all. */
|
||||
extern void __argz_extract __P ((__const char *__argz, size_t __len,
|
||||
char **__argv));
|
||||
extern void argz_extract __P ((__const char *__argz, size_t __len,
|
||||
char **__argv));
|
||||
extern void __argz_extract __P ((__const char *__restrict __argz, size_t __len,
|
||||
char **__restrict __argv));
|
||||
extern void argz_extract __P ((__const char *__restrict __argz, size_t __len,
|
||||
char **__restrict __argv));
|
||||
|
||||
/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's
|
||||
except the last into the character SEP. */
|
||||
@ -71,29 +75,41 @@ extern void __argz_stringify __P ((char *__argz, size_t __len, int __sep));
|
||||
extern void argz_stringify __P ((char *__argz, size_t __len, int __sep));
|
||||
|
||||
/* Append BUF, of length BUF_LEN to the argz vector in ARGZ & ARGZ_LEN. */
|
||||
extern error_t __argz_append __P ((char **__argz, size_t *__argz_len,
|
||||
__const char *__buf, size_t _buf_len));
|
||||
extern error_t argz_append __P ((char **__argz, size_t *__argz_len,
|
||||
__const char *__buf, size_t __buf_len));
|
||||
extern error_t __argz_append __P ((char **__restrict __argz,
|
||||
size_t *__restrict __argz_len,
|
||||
__const char *__restrict __buf,
|
||||
size_t _buf_len));
|
||||
extern error_t argz_append __P ((char **__restrict __argz,
|
||||
size_t *__restrict __argz_len,
|
||||
__const char *__restrict __buf,
|
||||
size_t __buf_len));
|
||||
|
||||
/* Append STR to the argz vector in ARGZ & ARGZ_LEN. */
|
||||
extern error_t __argz_add __P ((char **__argz, size_t *__argz_len,
|
||||
__const char *__str));
|
||||
extern error_t argz_add __P ((char **__argz, size_t *__argz_len,
|
||||
__const char *__str));
|
||||
extern error_t __argz_add __P ((char **__restrict __argz,
|
||||
size_t *__restrict __argz_len,
|
||||
__const char *__restrict __str));
|
||||
extern error_t argz_add __P ((char **__restrict __argz,
|
||||
size_t *__restrict __argz_len,
|
||||
__const char *__restrict __str));
|
||||
|
||||
/* Append SEP separated list in STRING to the argz vector in ARGZ &
|
||||
ARGZ_LEN. */
|
||||
extern error_t __argz_add_sep __P ((char **__argz, size_t *__argz_len,
|
||||
__const char *__string, int __delim));
|
||||
extern error_t argz_add_sep __P ((char **__argz, size_t *__argz_len,
|
||||
__const char *__string, int __delim));
|
||||
extern error_t __argz_add_sep __P ((char **__restrict __argz,
|
||||
size_t *__restrict __argz_len,
|
||||
__const char *__restrict __string,
|
||||
int __delim));
|
||||
extern error_t argz_add_sep __P ((char **__restrict __argz,
|
||||
size_t *__restrict __argz_len,
|
||||
__const char *__restrict __string,
|
||||
int __delim));
|
||||
|
||||
/* Delete ENTRY from ARGZ & ARGZ_LEN, if it appears there. */
|
||||
extern void __argz_delete __P ((char **__argz, size_t *__argz_len,
|
||||
char *__entry));
|
||||
extern void argz_delete __P ((char **__argz, size_t *__argz_len,
|
||||
char *__entry));
|
||||
extern void __argz_delete __P ((char **__restrict __argz,
|
||||
size_t *__restrict __argz_len,
|
||||
char *__restrict __entry));
|
||||
extern void argz_delete __P ((char **__restrict __argz,
|
||||
size_t *__restrict __argz_len,
|
||||
char *__restrict __entry));
|
||||
|
||||
/* Insert ENTRY into ARGZ & ARGZ_LEN before BEFORE, which should be an
|
||||
existing entry in ARGZ; if BEFORE is NULL, ENTRY is appended to the end.
|
||||
@ -101,20 +117,28 @@ extern void argz_delete __P ((char **__argz, size_t *__argz_len,
|
||||
ARGZ, ENTRY) will insert ENTRY at the beginning of ARGZ. If BEFORE is not
|
||||
in ARGZ, EINVAL is returned, else if memory can't be allocated for the new
|
||||
ARGZ, ENOMEM is returned, else 0. */
|
||||
extern error_t __argz_insert __P ((char **__argz, size_t *__argz_len,
|
||||
char *__before, __const char *__entry));
|
||||
extern error_t argz_insert __P ((char **__argz, size_t *__argz_len,
|
||||
char *__before, __const char *__entry));
|
||||
extern error_t __argz_insert __P ((char **__restrict __argz,
|
||||
size_t *__restrict __argz_len,
|
||||
char *__restrict __before,
|
||||
__const char *__restrict __entry));
|
||||
extern error_t argz_insert __P ((char **__restrict __argz,
|
||||
size_t *__restrict __argz_len,
|
||||
char *__restrict __before,
|
||||
__const char *__restrict __entry));
|
||||
|
||||
/* Replace any occurances of the string STR in ARGZ with WITH, reallocating
|
||||
ARGZ as necessary. If REPLACE_COUNT is non-zero, *REPLACE_COUNT will be
|
||||
incremented by number of replacements performed. */
|
||||
extern error_t __argz_replace (char **__argz, size_t *__argz_len,
|
||||
__const char *__str, __const char *__with,
|
||||
unsigned *__replace_count);
|
||||
extern error_t argz_replace (char **__argz, size_t *__argz_len,
|
||||
__const char *__str, __const char *__with,
|
||||
unsigned *__replace_count);
|
||||
extern error_t __argz_replace (char **__restrict __argz,
|
||||
size_t *__restrict __argz_len,
|
||||
__const char *__restrict __str,
|
||||
__const char *__restrict __with,
|
||||
unsigned int *__restrict __replace_count);
|
||||
extern error_t argz_replace (char **__restrict __argz,
|
||||
size_t *__restrict __argz_len,
|
||||
__const char *__restrict __str,
|
||||
__const char *__restrict __with,
|
||||
unsigned int *__restrict __replace_count);
|
||||
|
||||
/* Returns the next entry in ARGZ & ARGZ_LEN after ENTRY, or NULL if there
|
||||
are no more. If entry is NULL, then the first entry is returned. This
|
||||
@ -130,10 +154,12 @@ extern error_t argz_replace (char **__argz, size_t *__argz_len,
|
||||
for (entry = argz; entry; entry = argz_next (argz, argz_len, entry))
|
||||
...;
|
||||
*/
|
||||
extern char *__argz_next __P ((__const char *argz, size_t __argz_len,
|
||||
__const char *entry));
|
||||
extern char *argz_next __P ((__const char *argz, size_t __argz_len,
|
||||
__const char *entry));
|
||||
extern char *__argz_next __P ((__const char *__restrict __argz,
|
||||
size_t __argz_len,
|
||||
__const char *__restrict __entry));
|
||||
extern char *argz_next __P ((__const char *__restrict __argz,
|
||||
size_t __argz_len,
|
||||
__const char *__restrict __entry));
|
||||
|
||||
#ifdef __USE_EXTERN_INLINES
|
||||
extern inline char *
|
||||
|
@ -31,13 +31,14 @@
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Returns a pointer to the entry in ENVZ for NAME, or 0 if there is none. */
|
||||
extern char *envz_entry __P ((__const char *__envz, size_t __envz_len,
|
||||
__const char *__name));
|
||||
extern char *envz_entry __P ((__const char *__restrict __envz,
|
||||
size_t __envz_len,
|
||||
__const char *__restrict __name));
|
||||
|
||||
/* Returns a pointer to the value portion of the entry in ENVZ for NAME, or 0
|
||||
if there is none. */
|
||||
extern char *envz_get __P ((__const char *__envz, size_t __envz_len,
|
||||
__const char *__name));
|
||||
extern char *envz_get __P ((__const char *__restrict __envz, size_t __envz_len,
|
||||
__const char *__restrict __name));
|
||||
|
||||
/* Adds an entry for NAME with value VALUE to ENVZ & ENVZ_LEN. If an entry
|
||||
with the same name already exists in ENVZ, it is removed. If VALUE is
|
||||
@ -45,22 +46,27 @@ extern char *envz_get __P ((__const char *__envz, size_t __envz_len,
|
||||
return NULL, although envz_entry will still return an entry; this is handy
|
||||
because when merging with another envz, the null entry can override an
|
||||
entry in the other one. Null entries can be removed with envz_strip (). */
|
||||
extern error_t envz_add __P ((char **__envz, size_t *__envz_len,
|
||||
__const char *__name, __const char *__value));
|
||||
extern error_t envz_add __P ((char **__restrict __envz,
|
||||
size_t *__restrict __envz_len,
|
||||
__const char *__restrict __name,
|
||||
__const char *__restrict __value));
|
||||
|
||||
/* Adds each entry in ENVZ2 to ENVZ & ENVZ_LEN, as if with envz_add(). If
|
||||
OVERRIDE is true, then values in ENVZ2 will supersede those with the same
|
||||
name in ENV, otherwise not. */
|
||||
extern error_t envz_merge __P ((char **__envz, size_t *__envz_len,
|
||||
__const char *__envz2, size_t __envz2_len,
|
||||
int __override));
|
||||
extern error_t envz_merge __P ((char **__restrict __envz,
|
||||
size_t *__restrict __envz_len,
|
||||
__const char *__restrict __envz2,
|
||||
size_t __envz2_len, int __override));
|
||||
|
||||
/* Remove the entry for NAME from ENVZ & ENVZ_LEN, if any. */
|
||||
extern void envz_remove __P ((char **__envz, size_t *__envz_len,
|
||||
__const char *__name));
|
||||
extern void envz_remove __P ((char **__restrict __envz,
|
||||
size_t *__restrict __envz_len,
|
||||
__const char *__restrict __name));
|
||||
|
||||
/* Remove null entries. */
|
||||
extern void envz_strip __P ((char **__envz, size_t *__envz_len));
|
||||
extern void envz_strip __P ((char **__restrict __envz,
|
||||
size_t *__restrict __envz_len));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
@ -167,11 +167,13 @@ extern char *strtok __P ((char *__restrict __s,
|
||||
|
||||
/* Divide S into tokens separated by characters in DELIM. Information
|
||||
passed between calls are stored in SAVE_PTR. */
|
||||
extern char *__strtok_r __P ((char *__s, __const char *__delim,
|
||||
char **__save_ptr));
|
||||
extern char *__strtok_r __P ((char *__restrict __s,
|
||||
__const char *__restrict __delim,
|
||||
char **__restrict __save_ptr));
|
||||
#if defined __USE_POSIX || defined __USE_MISC
|
||||
extern char *strtok_r __P ((char *__s, __const char *__delim,
|
||||
char **__save_ptr));
|
||||
extern char *strtok_r __P ((char *__restrict __s,
|
||||
__const char *__restrict __delim,
|
||||
char **__restrict __save_ptr));
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
@ -268,7 +270,8 @@ extern int __strncasecmp_l __P ((__const char *__s1, __const char *__s2,
|
||||
#ifdef __USE_BSD
|
||||
/* Return the next DELIM-delimited token from *STRINGP,
|
||||
terminating it with a '\0', and update *STRINGP to point past it. */
|
||||
extern char *strsep __P ((char **__stringp, __const char *__delim));
|
||||
extern char *strsep __P ((char **__restrict __stringp,
|
||||
__const char *__restrict __delim));
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
@ -279,13 +282,17 @@ extern int strverscmp __P ((__const char *__s1, __const char *__s2));
|
||||
extern char *strsignal __P ((int __sig));
|
||||
|
||||
/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */
|
||||
extern char *__stpcpy __P ((char *__dest, __const char *__src));
|
||||
extern char *stpcpy __P ((char *__dest, __const char *__src));
|
||||
extern char *__stpcpy __P ((char *__restrict __dest,
|
||||
__const char *__restrict __src));
|
||||
extern char *stpcpy __P ((char *__restrict __dest,
|
||||
__const char *__restrict __src));
|
||||
|
||||
/* Copy no more than N characters of SRC to DEST, returning the address of
|
||||
the last character written into DEST. */
|
||||
extern char *__stpncpy __P ((char *__dest, __const char *__src, size_t __n));
|
||||
extern char *stpncpy __P ((char *__dest, __const char *__src, size_t __n));
|
||||
extern char *__stpncpy __P ((char *__restrict __dest,
|
||||
__const char *__restrict __src, size_t __n));
|
||||
extern char *stpncpy __P ((char *__restrict __dest,
|
||||
__const char *__restrict __src, size_t __n));
|
||||
|
||||
/* Sautee STRING briskly. */
|
||||
extern char *strfry __P ((char *__string));
|
||||
|
@ -284,6 +284,7 @@ _dl_start_user:
|
||||
@ now we enter a _dl_init_next loop
|
||||
ldr r4, .L_MAIN_SEARCHLIST
|
||||
ldr r4, [sl, r4]
|
||||
ldr r4, [r4]
|
||||
@ call _dl_init_next to get the address of an initalizer
|
||||
0: mov r0, r4
|
||||
bl _dl_init_next(PLT)
|
||||
|
@ -112,16 +112,17 @@ if test $host = $build; then
|
||||
ac_prefix=$ac_default_prefix
|
||||
fi
|
||||
AC_MSG_CHECKING([for symlinks in ${ac_prefix}/include])
|
||||
ac_message=
|
||||
if test -L ${ac_prefix}/include/net; then
|
||||
message=" ${ac_prefix}/include/net is a symlink"
|
||||
ac_message="$ac_message
|
||||
${ac_prefix}/include/net is a symlink"
|
||||
fi
|
||||
if test -L ${ac_prefix}/include/scsi; then
|
||||
message="$message
|
||||
ac_message="$ac_message
|
||||
${ac_prefix}/include/scsi is a symlink"
|
||||
fi
|
||||
if test -n "$message"; then
|
||||
AC_MSG_ERROR([
|
||||
$message
|
||||
if test -n "$ac_message"; then
|
||||
AC_MSG_ERROR([$ac_message
|
||||
\`make install' will destroy the target of the link(s).
|
||||
Delete the links and re-run configure, or better still, move the entire
|
||||
${ac_prefix}/include directory out of the way.])
|
||||
|
@ -25,7 +25,7 @@
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Change uid used for file access control to UID, without affecting
|
||||
other priveledges (such as who can send signals at the process). */
|
||||
other privileges (such as who can send signals at the process). */
|
||||
extern int setfsuid __P ((__uid_t __uid));
|
||||
|
||||
/* Ditto for group id. */
|
||||
|
@ -203,10 +203,13 @@ strptime_internal (buf, format, tm, decided)
|
||||
int cnt;
|
||||
size_t val;
|
||||
int have_I, is_pm;
|
||||
int century, want_century;
|
||||
|
||||
rp = buf;
|
||||
fmt = format;
|
||||
have_I = is_pm = 0;
|
||||
century = -1;
|
||||
want_century = 0;
|
||||
|
||||
while (*fmt != '\0')
|
||||
{
|
||||
@ -343,7 +346,7 @@ strptime_internal (buf, format, tm, decided)
|
||||
case 'C':
|
||||
/* Match century number. */
|
||||
get_number (0, 99);
|
||||
/* We don't need the number. */
|
||||
century = val;
|
||||
break;
|
||||
case 'd':
|
||||
case 'e':
|
||||
@ -548,11 +551,14 @@ strptime_internal (buf, format, tm, decided)
|
||||
/* The "Year 2000 :The Millennium Rollover" paper suggests that
|
||||
values in the range 69-99 refer to the twentieth century. */
|
||||
tm->tm_year = val >= 69 ? val : val + 100;
|
||||
/* Indicate that we want to use the century, if specified
|
||||
want_century = 1;
|
||||
break;
|
||||
case 'Y':
|
||||
/* Match year including century number. */
|
||||
get_number (0, 9999);
|
||||
tm->tm_year = val - 1900;
|
||||
want_century = 0;
|
||||
break;
|
||||
case 'Z':
|
||||
/* XXX How to handle this? */
|
||||
@ -725,6 +731,9 @@ strptime_internal (buf, format, tm, decided)
|
||||
if (have_I && is_pm)
|
||||
tm->tm_hour += 12;
|
||||
|
||||
if (want_century && century != -1)
|
||||
tm->tm_year = tm->tm_year % 100 + (century - 19) * 100;
|
||||
|
||||
return (char *) rp;
|
||||
}
|
||||
|
||||
|
21
time/time.h
21
time/time.h
@ -214,15 +214,15 @@ extern struct tm *localtime __P ((__const time_t *__timer));
|
||||
# if defined __USE_POSIX || defined __USE_MISC
|
||||
/* Return the `struct tm' representation of *TIMER in UTC,
|
||||
using *TP to store the result. */
|
||||
extern struct tm *__gmtime_r __P ((__const time_t *__timer,
|
||||
struct tm *__tp));
|
||||
extern struct tm *gmtime_r __P ((__const time_t *__timer,
|
||||
struct tm *__tp));
|
||||
extern struct tm *__gmtime_r __P ((__const time_t *__restrict __timer,
|
||||
struct tm *__restrict __tp));
|
||||
extern struct tm *gmtime_r __P ((__const time_t *__restrict __timer,
|
||||
struct tm *__restrict __tp));
|
||||
|
||||
/* Return the `struct tm' representation of *TIMER in local time,
|
||||
using *TP to store the result. */
|
||||
extern struct tm *localtime_r __P ((__const time_t *__timer,
|
||||
struct tm *__tp));
|
||||
extern struct tm *localtime_r __P ((__const time_t *__restrict __timer,
|
||||
struct tm *__restrict __tp));
|
||||
# endif /* POSIX or misc */
|
||||
|
||||
/* Return a string of the form "Day Mon dd hh:mm:ss yyyy\n"
|
||||
@ -237,10 +237,12 @@ extern char *ctime __P ((__const time_t *__timer));
|
||||
|
||||
/* Return in BUF a string of the form "Day Mon dd hh:mm:ss yyyy\n"
|
||||
that is the representation of TP in this format. */
|
||||
extern char *asctime_r __P ((__const struct tm *__tp, char *__buf));
|
||||
extern char *asctime_r __P ((__const struct tm *__restrict __tp,
|
||||
char *__restrict __buf));
|
||||
|
||||
/* Equivalent to `asctime_r (localtime_r (timer, *TMP*), buf)'. */
|
||||
extern char *ctime_r __P ((__const time_t *__timer, char *__buf));
|
||||
extern char *ctime_r __P ((__const time_t *__restrict __timer,
|
||||
char *__restrict __buf));
|
||||
# endif /* POSIX or misc */
|
||||
|
||||
|
||||
@ -326,7 +328,8 @@ extern struct tm *getdate __P ((__const char *__string));
|
||||
variant. The functionality is the same. The result is returned in
|
||||
the buffer pointed to by RESBUFP and in case of an error the return
|
||||
value is != 0 with the same values as given above for `getdate_err'. */
|
||||
extern int getdate_r __P ((__const char *__string, struct tm *__resbufp));
|
||||
extern int getdate_r __P ((__const char *__restrict __string,
|
||||
struct tm *__restrict __resbufp));
|
||||
# endif
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user