From bdbf022df8d6df07ae7c69b7e386278e27804e58 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 9 Aug 1998 17:39:48 +0000 Subject: Update. 1998-08-09 09:40 Ulrich Drepper * nss/nss_files/files-XXX.c (internal_getent): In case of an read error do not trust errno value, set it to ENOENT. * db2/db_185.h: Move __ prototypes into include/* header. * dirent/dirent.h: Likewise. * elf/dlfcn.h: Likewise. * gmon/sys/gmon.h: Likewise. * grp/grp.h: Likewise. * intl/libintl.h: Likewise. * io/fcntl.h: Likewise. * io/sys/stat.h: Likewise. * io/sys/statfs.h: Likewise. * io/sys/statvfs.h: Likewise. * libio/stdio.h: Likewise. * login/utmp.h: Likewise. * misc/mntent.h: Likewise. * misc/search.h: Likewise. * misc/sys/file.h: Likewise. * misc/sys/ioctl.h: Likewise. * misc/sys/select.h: Likewise. * misc/sys/uio.h: Likewise. * misc/sys/ustat.h: Likewise. * posix/unistd.h: Likewise. * posix/sys/times.h: Likewise. * posix/sys/wait.h: Likewise. * pwd/pwd.h: Likewise. * resource/ulimit.h: Likewise. * resource/sys/resource.h: Likewise. * setjmp/setjmp.h: Likewise. * shadow/shadow.h: Likewise. * signal/signal.h: Likewise. * socket/sys/socket.h: Likewise. * stdlib/alloca.h: Likewise. * stdlib/stdlib.h: Likewise. * string/string.h: Likewise. * sysdeps/generic/sys/mman.h: Likewise. * sysdeps/unix/bsd/osf/sys/mman.h: Likewise. * sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise. * sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise. * sysdeps/unix/sysv/irix4/sys/mman.h: Likewise. * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. * sysdeps/unix/sysv/linux/sys/mman.h: Likewise. * termios/termios.h: Likewise. * time/time.h: Likewise. * time/sys/time.h: Likewise. * wcsmbs/wchar.h: Likewise. * include/alloca.h: Add __ prototypes here. * include/db_185.h: Likewise. * include/dirent.h: Likewise. * include/dlfcn.h: Likewise. * include/fcntl.h: Likewise. * include/grp.h: Likewise. * include/libintl.h: Likewise. * include/mntent.h: Likewise. * include/pwd.h: Likewise. * include/sched.h: Likewise. * include/search.h: Likewise. * include/setjmp.h: Likewise. * include/shadow.h: Likewise. * include/signal.h: Likewise. * include/stdio.h: Likewise. * include/stdlib.h: Likewise. * include/string.h: Likewise. * include/termios.h: Likewise. * include/time.h: Likewise. * include/ulimit.h: Likewise. * include/unistd.h: Likewise. * include/utmp.h: Likewise. * include/wchar.h: Likewise. * include/sys/file.h: Likewise. * include/sys/gmon.h: Likewise. * include/sys/ioctl.h: Likewise. * include/sys/mman.h: Likewise. * include/sys/resource.h: Likewise. * include/sys/select.h: Likewise. * include/sys/socket.h: Likewise. * include/sys/stat.h: Likewise. * include/sys/statfs.h: Likewise. * include/sys/time.h: Likewise. * include/sys/times.h: Likewise. * include/sys/uio.h: Likewise. * include/sys/wait.h: Likewise. * Makeconfig (+includes): Search in $(..)include first. * io/fstat.c: Undefine __fstat. * io/lstat.c: Undefine __lstat. * wcsmbs/Versions: Add __mbrlen. --- include/alloca.h | 9 ++++++++ include/db_185.h | 3 +++ include/dirent.h | 10 ++++++++ include/dlfcn.h | 4 ++++ include/fcntl.h | 3 +++ include/grp.h | 7 ++++++ include/libintl.h | 6 +++++ include/mntent.h | 10 ++++++++ include/pwd.h | 13 +++++++++++ include/sched.h | 6 +++++ include/search.h | 11 +++++++++ include/setjmp.h | 12 ++++++++++ include/shadow.h | 15 ++++++++++++ include/signal.h | 26 ++++++++++++++++++++- include/stdio.h | 22 +++++++++++++++++- include/stdlib.h | 40 ++++++++++++++++++++++++++++++++ include/string.h | 7 ++++++ include/sys/file.h | 3 +++ include/sys/gmon.h | 6 +++++ include/sys/ioctl.h | 3 +++ include/sys/mman.h | 13 +++++++++++ include/sys/resource.h | 5 ++++ include/sys/select.h | 5 ++++ include/sys/socket.h | 3 +++ include/sys/stat.h | 32 ++++++++++++++++++++++++++ include/sys/statfs.h | 4 ++++ include/sys/time.h | 12 ++++++++++ include/sys/times.h | 3 +++ include/sys/uio.h | 8 +++++++ include/sys/wait.h | 8 +++++++ include/termios.h | 3 +++ include/time.h | 38 ++++++++++++++++++++++++++++++- include/ulimit.h | 3 +++ include/unistd.h | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ include/utmp.h | 16 +++++++++++++ include/wchar.h | 29 +++++++++++++++++++++++ 36 files changed, 457 insertions(+), 3 deletions(-) create mode 100644 include/sys/mman.h (limited to 'include') diff --git a/include/alloca.h b/include/alloca.h index 34eeeab78e..ae41090bd1 100644 --- a/include/alloca.h +++ b/include/alloca.h @@ -1 +1,10 @@ #include + +#undef __alloca + +/* Now define the internal interfaces. */ +extern __ptr_t __alloca __P ((size_t __size)); + +#ifdef __GNUC__ +# define __alloca(size) __builtin_alloca (size) +#endif /* GCC. */ diff --git a/include/db_185.h b/include/db_185.h index d303a1ce50..db78199865 100644 --- a/include/db_185.h +++ b/include/db_185.h @@ -1 +1,4 @@ #include + +/* Now define the internal interfaces. */ +DB *__dbopen __P((const char *, int, int, DBTYPE, const void *)); diff --git a/include/dirent.h b/include/dirent.h index f59a6b778b..594d90d89f 100644 --- a/include/dirent.h +++ b/include/dirent.h @@ -1 +1,11 @@ #include + +/* Now define the internal interfaces. */ +extern DIR *__opendir __P ((__const char *__name)); +extern int __closedir __P ((DIR *__dirp)); +extern struct dirent *__readdir __P ((DIR *__dirp)); +extern struct dirent64 *__readdir64 __P ((DIR *__dirp)); +extern int __readdir_r __P ((DIR *__dirp, struct dirent *__entry, + struct dirent **__result)); +extern __ssize_t __getdirentries __P ((int __fd, char *__buf, + size_t __nbytes, __off_t *__basep)); diff --git a/include/dlfcn.h b/include/dlfcn.h index 92804a1c1c..766c80a11a 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -1 +1,5 @@ #include + +/* Now define the internal interfaces. */ +extern void *__dlvsym __P ((void *__handle, __const char *__name, + __const char *__version)); diff --git a/include/fcntl.h b/include/fcntl.h index bac1e8685d..cce3d5ee10 100644 --- a/include/fcntl.h +++ b/include/fcntl.h @@ -1 +1,4 @@ #include + +/* Now define the internal interfaces. */ +extern int __open64 __P ((__const char *__file, int __oflag, ...)); diff --git a/include/grp.h b/include/grp.h index 250092cbf1..ddde842fe6 100644 --- a/include/grp.h +++ b/include/grp.h @@ -1 +1,8 @@ #include + +/* Now define the internal interfaces. */ +extern int __getgrent_r __P ((struct group *__resultbuf, char *buffer, + size_t __buflen, struct group **__result)); +extern int __fgetgrent_r __P ((FILE * __stream, struct group *__resultbuf, + char *buffer, size_t __buflen, + struct group **__result)); diff --git a/include/libintl.h b/include/libintl.h index be1062ca03..582cb05d74 100644 --- a/include/libintl.h +++ b/include/libintl.h @@ -1 +1,7 @@ #include + +/* Now define the internal interfaces. */ +extern char *__gettext __P ((__const char *__msgid)); +extern char *__textdomain __P ((__const char *__domainname)); +extern char *__bindtextdomain __P ((__const char *__domainname, + __const char *__dirname)); diff --git a/include/mntent.h b/include/mntent.h index 87a6fb9f2c..d869625607 100644 --- a/include/mntent.h +++ b/include/mntent.h @@ -1 +1,11 @@ #include + +/* Now define the internal interfaces. */ +extern FILE *__setmntent __P ((__const char *__file, __const char *__mode)); +extern struct mntent *__getmntent_r __P ((FILE *__stream, + struct mntent *__result, + char *__buffer, int __bufsize)); +extern int __addmntent __P ((FILE *__stream, __const struct mntent *__mnt)); +extern int __endmntent __P ((FILE *__stream)); +extern char *__hasmntopt __P ((__const struct mntent *__mnt, + __const char *__opt)); diff --git a/include/pwd.h b/include/pwd.h index 28d59a6a0a..2c57df938f 100644 --- a/include/pwd.h +++ b/include/pwd.h @@ -1 +1,14 @@ #include + +/* Now define the internal interfaces. */ +extern int __getpwent_r __P ((struct passwd *__resultbuf, char *__buffer, + size_t __buflen, struct passwd **__result)); +extern int __getpwuid_r __P ((__uid_t __uid, struct passwd *__resultbuf, + char *__buffer, size_t __buflen, + struct passwd **__result)); +extern int __getpwnam_r __P ((__const char *__name, struct passwd *__resultbuf, + char *__buffer, size_t __buflen, + struct passwd **__result)); +extern int __fgetpwent_r __P ((FILE * __stream, struct passwd *__resultbuf, + char *__buffer, size_t __buflen, + struct passwd **__result)); diff --git a/include/sched.h b/include/sched.h index b9bebc9dee..02dc60a872 100644 --- a/include/sched.h +++ b/include/sched.h @@ -1 +1,7 @@ #include "posix/sched.h" + +/* Now define the internal interfaces. */ + +/* This is Linux specific. */ +extern int __clone __P ((int (*__fn) (void *__arg), void *__child_stack, + int __flags, void *__arg)); diff --git a/include/search.h b/include/search.h index ff24508172..05dc75aee9 100644 --- a/include/search.h +++ b/include/search.h @@ -1 +1,12 @@ #include + +/* Now define the internal interfaces. */ +extern void __hdestroy __P ((void)); +extern void *__tsearch __PMT ((__const void *__key, void **__rootp, + __compar_fn_t compar)); +extern void *__tfind __PMT ((__const void *__key, void *__const *__rootp, + __compar_fn_t compar)); +extern void *__tdelete __PMT ((__const void *__key, void **__rootp, + __compar_fn_t compar)); +extern void __twalk __PMT ((__const void *__root, __action_fn_t action)); +extern void __tdestroy __PMT ((void *__root, __free_fn_t freefct)); diff --git a/include/setjmp.h b/include/setjmp.h index c78a964566..34fc9e5f69 100644 --- a/include/setjmp.h +++ b/include/setjmp.h @@ -1 +1,13 @@ #include + +/* Now define the internal interfaces. */ + +/* Internal machine-dependent function to restore context sans signal mask. */ +extern void __longjmp __P ((__jmp_buf __env, int __val)) + __attribute__ ((__noreturn__)); + +/* Internal function to possibly save the current mask of blocked signals + in ENV, and always set the flag saying whether or not it was saved. + This is used by the machine-dependent definition of `__sigsetjmp'. + Always returns zero, for convenience. */ +extern int __sigjmp_save __P ((jmp_buf __env, int __savemask)); diff --git a/include/shadow.h b/include/shadow.h index 4848197be1..5e7f943bc0 100644 --- a/include/shadow.h +++ b/include/shadow.h @@ -1 +1,16 @@ #include + +/* Now define the internal interfaces. */ +extern int __getspent_r __P ((struct spwd *__result_buf, char *__buffer, + size_t __buflen, struct spwd **__result)); +extern int __getspnam_r __P ((__const char *__name, struct spwd *__result_buf, + char *__buffer, size_t __buflen, + struct spwd **__result)); +extern int __sgetspent_r __P ((__const char *__string, + struct spwd *__result_buf, char *__buffer, + size_t __buflen, struct spwd **__result)); +extern int __fgetspent_r __P ((FILE *__stream, struct spwd *__result_buf, + char *__buffer, size_t __buflen, + struct spwd **__result)); +extern int __lckpwdf __P ((void)); +extern int __ulckpwdf __P ((void)); diff --git a/include/signal.h b/include/signal.h index d9939c4e83..693aeb807a 100644 --- a/include/signal.h +++ b/include/signal.h @@ -1 +1,25 @@ -#include +#if defined __need_sig_atomic_t || defined __need_sigset_t +# include +#else +# include + +/* Now define the internal interfaces. */ +extern __sighandler_t __bsd_signal __P ((int __sig, __sighandler_t __handler)); +extern int __kill __P ((__pid_t __pid, int __sig)); +extern int __sigblock __P ((int __mask)); +extern int __sigsetmask __P ((int __mask)); +extern int __sigprocmask __P ((int __how, + __const sigset_t *__set, sigset_t *__oset)); +extern int __sigsuspend __P ((__const sigset_t *__set)); +extern int __sigwait __P ((__const sigset_t *__set, int *__sig)); +extern int __sigwaitinfo __P ((__const sigset_t *__set, siginfo_t *__info)); +extern int __sigtimedwait __P ((__const sigset_t *__set, siginfo_t *__info, + __const struct timespec *__timeout)); +extern int __sigqueue __P ((__pid_t __pid, int __sig, + __const union sigval __val)); +extern int __sigvec __P ((int __sig, __const struct sigvec *__vec, + struct sigvec *__ovec)); +extern int __sigreturn __P ((struct sigcontext *__scp)); +extern int __sigaltstack __P ((__const struct sigaltstack *__ss, + struct sigaltstack *__oss)); +#endif diff --git a/include/stdio.h b/include/stdio.h index 457eabe32f..c0ca6027e8 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -1,5 +1,25 @@ #ifdef USE_IN_LIBIO -#include +#ifdef __need_FILE +# include +#else +# include + +/* Now define the internal interfaces. */ +extern int __fcloseall __P ((void)); +extern int __snprintf __P ((char *__restrict __s, size_t __maxlen, + __const char *__restrict __format, ...)) + __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __vfscanf __P ((FILE *__restrict __s, + __const char *__restrict __format, + _G_va_list __arg)) + __attribute__ ((__format__ (__scanf__, 2, 0))); +extern int __vscanf __P ((__const char *__restrict __format, + _G_va_list __arg)) + __attribute__ ((__format__ (__scanf__, 1, 0))); +extern _IO_ssize_t __getline __P ((char **__lineptr, size_t *__n, + FILE *__stream)); + +#endif #else #include #endif diff --git a/include/stdlib.h b/include/stdlib.h index c0887a99e9..c45730428b 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -1 +1,41 @@ #include + +/* Now define the internal interfaces. */ +extern int32_t __random __P ((void)); +extern void __srandom __P ((unsigned int __seed)); +extern __ptr_t __initstate __P ((unsigned int __seed, __ptr_t __statebuf, + size_t __statelen)); +extern __ptr_t __setstate __P ((__ptr_t __statebuf)); +extern int __random_r __P ((struct random_data *__buf, int32_t *__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 __setstate_r __P ((__ptr_t __statebuf, struct random_data *__buf)); +extern int __rand_r __P ((unsigned int *__seed)); +extern int __erand48_r __P ((unsigned short int __xsubi[3], + struct drand48_data *__buffer, double *__result)); +extern int __nrand48_r __P ((unsigned short int __xsubi[3], + struct drand48_data *__buffer, + long int *__result)); +extern int __jrand48_r __P ((unsigned short int __xsubi[3], + struct drand48_data *__buffer, + long int *__result)); +extern int __srand48_r __P ((long int __seedval, + struct drand48_data *__buffer)); +extern int __seed48_r __P ((unsigned short int __seed16v[3], + struct drand48_data *__buffer)); +extern int __lcong48_r __P ((unsigned short int __param[7], + struct drand48_data *__buffer)); + +/* Internal function to compute next state of the generator. */ +extern int __drand48_iterate __P ((unsigned short int __xsubi[3], + struct drand48_data *__buffer)); + +extern int __setenv __P ((__const char *__name, __const char *__value, + int __replace)); +extern void __unsetenv __P ((__const char *__name)); +extern int __clearenv __P ((void)); +extern char *__canonicalize_file_name __P ((__const char *__name)); +extern char *__realpath __P ((__const char *__name, char *__resolved)); +extern int __ptsname_r __P ((int __fd, char *__buf, size_t __buflen)); +extern int __getpt __P ((void)); diff --git a/include/string.h b/include/string.h index b557c65f39..1ee7ced249 100644 --- a/include/string.h +++ b/include/string.h @@ -1 +1,8 @@ #include + +/* Now define the internal interfaces. */ +extern __ptr_t __memccpy __P ((__ptr_t __dest, __const __ptr_t __src, + int __c, size_t __n)); +extern size_t __strnlen __P ((__const char *__string, size_t __maxlen)); +extern char *__strsep __P ((char **__stringp, __const char *__delim)); +extern int __strverscmp __P ((__const char *__s1, __const char *__s2)); diff --git a/include/sys/file.h b/include/sys/file.h index fb3cd7544e..ec7f3de73d 100644 --- a/include/sys/file.h +++ b/include/sys/file.h @@ -1 +1,4 @@ #include + +/* Now define the internal interfaces. */ +extern int __flock __P ((int __fd, int __operation)); diff --git a/include/sys/gmon.h b/include/sys/gmon.h index 987589fcfe..2e56188027 100644 --- a/include/sys/gmon.h +++ b/include/sys/gmon.h @@ -1 +1,7 @@ #include + +/* Now define the internal interfaces. */ + +/* Write current profiling data to file. */ +extern void __write_profiling __P ((void)); +extern void write_profiling __P ((void)); diff --git a/include/sys/ioctl.h b/include/sys/ioctl.h index 8cc77757f6..e07b08a64f 100644 --- a/include/sys/ioctl.h +++ b/include/sys/ioctl.h @@ -1 +1,4 @@ #include + +/* Now define the internal interfaces. */ +extern int __ioctl __P ((int __fd, unsigned long int __request, ...)); diff --git a/include/sys/mman.h b/include/sys/mman.h new file mode 100644 index 0000000000..3a6c33a354 --- /dev/null +++ b/include/sys/mman.h @@ -0,0 +1,13 @@ +#include_next + +/* Now define the internal interfaces. */ +extern __ptr_t __mmap __P ((__ptr_t __addr, size_t __len, int __prot, + int __flags, int __fd, __off_t __offset)); +extern __ptr_t __mmap64 __P ((__ptr_t __addr, size_t __len, int __prot, + int __flags, int __fd, __off64_t __offset)); +extern int __munmap __P ((__ptr_t __addr, size_t __len)); +extern int __mprotect __P ((__ptr_t __addr, size_t __len, int __prot)); + +/* This one is Linux specific. */ +extern __ptr_t __mremap __P ((__ptr_t __addr, size_t __old_len, + size_t __new_len, int __may_move)); diff --git a/include/sys/resource.h b/include/sys/resource.h index 33e6f4de9e..36950e2f10 100644 --- a/include/sys/resource.h +++ b/include/sys/resource.h @@ -1 +1,6 @@ #include + +/* Now define the internal interfaces. */ +extern int __getrlimit __P ((enum __rlimit_resource __resource, + struct rlimit *__rlimits)); +extern int __getrusage __P ((enum __rusage_who __who, struct rusage *__usage)); diff --git a/include/sys/select.h b/include/sys/select.h index f793af7bf0..860b01347d 100644 --- a/include/sys/select.h +++ b/include/sys/select.h @@ -1 +1,6 @@ #include + +/* Now define the internal interfaces. */ +extern int __pselect __P ((int __nfds, __fd_set *__readfds, + __fd_set *__writefds, __fd_set *__exceptfds, + struct timespec *__timeout)); diff --git a/include/sys/socket.h b/include/sys/socket.h index 999a683016..a319272b55 100644 --- a/include/sys/socket.h +++ b/include/sys/socket.h @@ -1 +1,4 @@ #include + +/* Now define the internal interfaces. */ +extern int __socket __P ((int __domain, int __type, int __protocol)); diff --git a/include/sys/stat.h b/include/sys/stat.h index 16950eb039..768630fd34 100644 --- a/include/sys/stat.h +++ b/include/sys/stat.h @@ -1,5 +1,35 @@ +#ifndef _SYS_STAT_H #include +/* Now define the internal interfaces. */ +extern int __stat __P ((__const char *__file, struct stat *__buf)); +extern int __fstat __P ((int __fd, struct stat *__buf)); +extern int __lstat __P ((__const char *__file, struct stat *__buf)); +extern int __chmod __P ((__const char *__file, __mode_t __mode)); +extern int __fchmod __P ((int __fd, __mode_t __mode)); +extern __mode_t __umask __P ((__mode_t __mask)); +extern int __mkdir __P ((__const char *__path, __mode_t __mode)); +extern int __mknod __P ((__const char *__path, + __mode_t __mode, __dev_t __dev)); +extern __inline__ int __stat (__const char *__path, struct stat *__statbuf) +{ + return __xstat (_STAT_VER, __path, __statbuf); +} +extern __inline__ int __lstat (__const char *__path, struct stat *__statbuf) +{ + return __lxstat (_STAT_VER, __path, __statbuf); +} +extern __inline__ int __fstat (int __fd, struct stat *__statbuf) +{ + return __fxstat (_STAT_VER, __fd, __statbuf); +} +extern __inline__ int __mknod (__const char *__path, __mode_t __mode, + __dev_t __dev) +{ + return __xmknod (_MKNOD_VER, __path, __mode, &__dev); +} + + /* The `stat', `fstat', `lstat' functions have to be handled special since even while not compiling the library with optimization calls to these functions in the shared library must reference the `xstat' etc functions. @@ -7,8 +37,10 @@ since on user level we must use real functions. */ #define stat(fname, buf) __xstat (_STAT_VER, fname, buf) #define fstat(fd, buf) __fxstat (_STAT_VER, fd, buf) +#define __fstat(fd, buf) __fxstat (_STAT_VER, fd, buf) #define lstat(fname, buf) __lxstat (_STAT_VER, fname, buf) #define __lstat(fname, buf) __lxstat (_STAT_VER, fname, buf) #define stat64(fname, buf) __xstat64 (_STAT_VER, fname, buf) #define fstat64(fd, buf) __fxstat64 (_STAT_VER, fd, buf) #define lstat64(fname, buf) __lxstat64 (_STAT_VER, fname, buf) +#endif diff --git a/include/sys/statfs.h b/include/sys/statfs.h index d42df4b65d..bb4999e2a3 100644 --- a/include/sys/statfs.h +++ b/include/sys/statfs.h @@ -1 +1,5 @@ #include + +/* Now define the internal interfaces. */ +extern int __statfs __P ((__const char *__file, struct statfs *__buf)); +extern int __fstatfs __P ((int __fildes, struct statfs *__buf)); diff --git a/include/sys/time.h b/include/sys/time.h index 5595a957a0..fd9f46778d 100644 --- a/include/sys/time.h +++ b/include/sys/time.h @@ -1 +1,13 @@ #include