about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-04-22 17:37:40 +0000
committerUlrich Drepper <drepper@redhat.com>2001-04-22 17:37:40 +0000
commita3bbce5b6895a927b60ba92e384e9682afb9d8c3 (patch)
treed887d4cc901a31f44c93ad69e578380df84b88ec /sysdeps
parente17e51b4dac7c359049a915d380c4793231e0eda (diff)
downloadglibc-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.h27
-rw-r--r--sysdeps/posix/fpathconf.c17
-rw-r--r--sysdeps/posix/pathconf.c17
-rw-r--r--sysdeps/posix/sysconf.c8
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