diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-04-22 17:37:40 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-04-22 17:37:40 +0000 |
commit | a3bbce5b6895a927b60ba92e384e9682afb9d8c3 (patch) | |
tree | d887d4cc901a31f44c93ad69e578380df84b88ec /sysdeps | |
parent | e17e51b4dac7c359049a915d380c4793231e0eda (diff) | |
download | glibc-a3bbce5b6895a927b60ba92e384e9682afb9d8c3.tar.gz glibc-a3bbce5b6895a927b60ba92e384e9682afb9d8c3.tar.xz glibc-a3bbce5b6895a927b60ba92e384e9682afb9d8c3.zip |
Update.
2001-04-22 Ulrich Drepper <drepper@redhat.com> * posix/getconf.c: Fix names of XBS5 LFS test variables. Add missing configuration variables from XPG6. * posix/tst-getconf.c: New file. * posix/Makefile (generated): Add tst-getconf.out. (tests): Add ($objpfx)tst-getconf.out. Add rule to run tst-getconf.sh. * sysdeps/generic/bits/confname.h: Add missing _PC_ and _SC_ values from XPG6. * sysdeps/posix/fpathconf.c: Add handling of _PC_ALLOC_SIZE_MIN and _PC_SYMLINK_MAX. * sysdeps/posix/pathconf.c: Likewise. * sysdeps/posix/sysconf.c: Correct spelling of _SC_MULTI_PROCESS and _SC_SYMLOOP_MAX.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/bits/confname.h | 27 | ||||
-rw-r--r-- | sysdeps/posix/fpathconf.c | 17 | ||||
-rw-r--r-- | sysdeps/posix/pathconf.c | 17 | ||||
-rw-r--r-- | sysdeps/posix/sysconf.c | 8 |
4 files changed, 59 insertions, 10 deletions
diff --git a/sysdeps/generic/bits/confname.h b/sysdeps/generic/bits/confname.h index 56dc02181d..7c785e87e6 100644 --- a/sysdeps/generic/bits/confname.h +++ b/sysdeps/generic/bits/confname.h @@ -58,8 +58,12 @@ enum #define _PC_REC_MAX_XFER_SIZE _PC_REC_MAX_XFER_SIZE _PC_REC_MIN_XFER_SIZE, #define _PC_REC_MIN_XFER_SIZE _PC_REC_MIN_XFER_SIZE - _PC_REC_XFER_ALIGN + _PC_REC_XFER_ALIGN, #define _PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN + _PC_ALLOC_SIZE_MIN, +#define _PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN + _PC_SYMLINK_MAX +#define _PC_SYMLINK_MAX _PC_SYMLINK_MAX }; /* Values for the argument to `sysconf'. */ @@ -384,8 +388,8 @@ enum #define _SC_FILE_SYSTEM _SC_FILE_SYSTEM _SC_MONOTONIC_CLOCK, #define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK - _SC_MULTIPLE_PROCESS, -#define _SC_MULTIPLE_PROCESS _SC_MULTIPLE_PROCESS + _SC_MULTI_PROCESS, +#define _SC_MULTI_PROCESS _SC_MULTI_PROCESS _SC_SINGLE_PROCESS, #define _SC_SINGLE_PROCESS _SC_SINGLE_PROCESS _SC_NETWORKING, @@ -430,8 +434,8 @@ enum #define _SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE _SC_2_PBS_TRACK, #define _SC_2_PBS_TRACK _SC_2_PBS_TRACK - _SC_SYMLOOP, -#define _SC_SYMLOOP _SC_SYMLOOP + _SC_SYMLOOP_MAX, +#define _SC_SYMLOOP_MAX _SC_SYMLOOP_MAX _SC_STREAMS, #define _SC_STREAMS _SC_STREAMS _SC_2_PBS_CHECKPOINT, @@ -443,8 +447,19 @@ enum #define _SC_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG _SC_V6_LP64_OFF64, #define _SC_V6_LP64_OFF64 _SC_V6_LP64_OFF64 - _SC_V6_LPBIG_OFFBIG + _SC_V6_LPBIG_OFFBIG, #define _SC_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG + + _SC_HOST_NAME_MAX, +#define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX + _SC_TRACE, +#define _SC_TRACE _SC_TRACE + _SC_TRACE_EVENT_FILTER, +#define _SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER + _SC_TRACE_INHERIT, +#define _SC_TRACE_INHERIT _SC_TRACE_INHERIT + _SC_TRACE_LOG +#define _SC_TRACE_LOG _SC_TRACE_LOG }; #if (defined __USE_POSIX2 || defined __USE_UNIX98 \ diff --git a/sysdeps/posix/fpathconf.c b/sysdeps/posix/fpathconf.c index 93f0b99590..539a6caa25 100644 --- a/sysdeps/posix/fpathconf.c +++ b/sysdeps/posix/fpathconf.c @@ -202,6 +202,23 @@ __fpathconf (fd, name) return -1; return sv.f_frsize; } + + case _PC_ALLOC_SIZE_MIN: + { + /* XXX It is not entirely clear what the limit is supposed to do. + I assume that the number should reflect the minimal block + alignment. */ + struct statvfs64 sv; + + if (__fstatvfs64 (fd, &sv) < 0) + return -1; + return sv.f_frsize; + } + + case _PC_SYMLINK_MAX: + /* In general there are no limits. If a system has one it should + overwrite this case. */ + return -1; } } diff --git a/sysdeps/posix/pathconf.c b/sysdeps/posix/pathconf.c index edb3961c67..4ce5c0d1d7 100644 --- a/sysdeps/posix/pathconf.c +++ b/sysdeps/posix/pathconf.c @@ -198,6 +198,23 @@ __pathconf (const char *path, int name) return -1; return sv.f_frsize; } + + case _PC_ALLOC_SIZE_MIN: + { + /* XXX It is not entirely clear what the limit is supposed to do. + I assume that the number should reflect the minimal block + alignment. */ + struct statvfs64 sv; + + if (__statvfs64 (path, &sv) < 0) + return -1; + return sv.f_frsize; + } + + case _PC_SYMLINK_MAX: + /* In general there are no limits. If a system has one it should + overwrite this case. */ + return -1; } } diff --git a/sysdeps/posix/sysconf.c b/sysdeps/posix/sysconf.c index 4b6eced244..7a0cd4204c 100644 --- a/sysdeps/posix/sysconf.c +++ b/sysdeps/posix/sysconf.c @@ -951,9 +951,9 @@ __sysconf (name) return -1; #endif - case _SC_MULTIPLE_PROCESS: -#ifdef _POSIX_MULTIPLE_PROCESS - return _POSIX_MULTIPLE_PROCESS; + case _SC_MULTI_PROCESS: +#ifdef _POSIX_MULTI_PROCESS + return _POSIX_MULTI_PROCESS; #else return -1; #endif @@ -1109,7 +1109,7 @@ __sysconf (name) return -1; #endif - case _SC_SYMLOOP: + case _SC_SYMLOOP_MAX: #ifdef SYMLOOP_MAX return SYMLOOP_MAX; #else |