diff options
author | Ulrich Drepper <drepper@redhat.com> | 1997-10-15 05:34:02 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1997-10-15 05:34:02 +0000 |
commit | f2ea0f5b0d6ff2bbf261a5fd3d61f967e36f22e6 (patch) | |
tree | 9553a1d3102f18a5c73538902c851b463b70c108 /sysdeps/generic/sysconf.c | |
parent | 1ea89a402d892b68b193e2e4390d8eb33ed686e7 (diff) | |
download | glibc-f2ea0f5b0d6ff2bbf261a5fd3d61f967e36f22e6.tar.gz glibc-f2ea0f5b0d6ff2bbf261a5fd3d61f967e36f22e6.tar.xz glibc-f2ea0f5b0d6ff2bbf261a5fd3d61f967e36f22e6.zip |
Update. cvs/libc-ud-971014
1997-10-15 06:56 Ulrich Drepper <drepper@cygnus.com> * Rules: Remove ruls to magically install <subdir>.h headers. Reported by Mark Kettenis <kettenis@phys.uva.nl>. * glibcbug.in: Fix @gnu.ai.mit.edu -> @gnu.org. * version.c: Likewise. * catgets/gencat.c: Likewise. * db2/makedb.c: Likewise. * locale/programs/locale.c: Likewise. * locale/programs/localedef.c: Likewise. * libc.map: Move _IO_list_all back to GLIBC_2.0. * elf/rtld.c: Provide name of running program to _dl_new_object. * Rules: Implement shared-only-sources. * include/libc-symbols.h: Define default_symbol_version. * libio/Makefile (shared-only-sources): Define. * libio/freopen.c: Define as default version. * libio/iofopen.c: Likewise. * libio/genops.c: Define _IO_list_all here. * libio/stdfiles.c: Create linked list with public names. * libio/oldstdfiles.c: Likewise. * stdio-common/printf.c: Optimize. * stdio-common/scanf.c: Optimize. * sysdeps/generic/setfpucw.c: Include #include <...> not "...". * sysdeps/i386/i486/bits/string.h: Add optimized versions of index and rindex. 1997-10-14 Andreas Jaeger <aj@arthur.rhein-neckar.de> * manual/arith.texi: Spelling fixes. * manual/conf.texi: Likewise. * manual/creature.texi: Likewise. * manual/filesys.texi: Likewise. * manual/intro.texi: Likewise. * manual/llio.texi: Likewise. * manual/math.texi: Likewise. * manual/message.texi: Likewise. * manual/pattern.texi: Likewise. * manual/search.texi: Likewise. * manual/signal.texi: Likewise. * manual/socket.texi: Likewise. * manual/startup.texi: Likewise. * manual/stdio.texi: Likewise. * manual/string.texi: Likewise. * manual/time.texi: Likewise. * manual/users.texi: Likewise. 1997-10-13 05:25 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/sys/mman.h: Use __ptr_t instead of __caddr_t. * 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/sys/mman.h: Likewise. * sysdeps/mach/hurd/mmap.c: Likewise. * sysdeps/generic/mmap.c: Likewise. * sysdeps/unix/bsd/sun/sunos4/mmap.c: Likewise. * sysdeps/mach/munmap.c: Likewise. * sysdeps/generic/munmap.c: Likewise. * sysdeps/mach/mprotect.c: Likewise. * sysdeps/generic/mprotect.c: Likewise. * sysdeps/generic/msync.c: Likewise. * sysdeps/generic/madvise.c: Likewise. * sysdeps/unix/sysv/linux/madvise.c: Include stub version from generic subdir. 1997-10-12 20:27 Zack Weinberg <zack@rabi.phys.columbia.edu> * sysdeps/stub (all files): Moved to sysdeps/generic. * all files using stub_warning: Include <stub-tag.h>. * include/stub-tag.h: New file, marks stubs in .d files. * Makerules: Look for stub-tag.h, not sysdeps/stub, when building <gnu/stubs.h>. * configure.in: Don't add sysdeps/stub to $sysnames. * sysdeps/unix/Makefile: Look for generic headers, not stub headers. * sysdeps/generic/Makefile: Likewise. * manual/maint.texi: Delete references to sysdeps/stub. * INSTALL: Rebuilt. * configure: Rebuilt.
Diffstat (limited to 'sysdeps/generic/sysconf.c')
-rw-r--r-- | sysdeps/generic/sysconf.c | 255 |
1 files changed, 255 insertions, 0 deletions
diff --git a/sysdeps/generic/sysconf.c b/sysdeps/generic/sysconf.c new file mode 100644 index 0000000000..b3fa62aa9a --- /dev/null +++ b/sysdeps/generic/sysconf.c @@ -0,0 +1,255 @@ +/* Copyright (C) 1991, 1993, 1995, 1996 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 + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <errno.h> +#include <stdio.h> +#include <unistd.h> +#include <time.h> +#include <limits.h> +#include <sys/sysinfo.h> + + +/* Get the value of the system variable NAME. */ +long int +__sysconf (name) + int name; +{ + switch (name) + { + default: + __set_errno (EINVAL); + return -1; + + case _SC_TZNAME_MAX: + return __tzname_max (); + + case _SC_CHARCLASS_NAME_MAX: +#ifdef CHARCLASS_NAME_MAX + return CHARCLASS_NAME_MAX; +#else + return -1; +#endif + + case _SC_COLL_WEIGHTS_MAX: +#ifdef COLL_WEIGHTS_MAX + return COLL_WEIGHTS_MAX; +#else + return -1; +#endif + + case _SC_EQUIV_CLASS_MAX: +#ifdef EQUIV_CLASS_MAX + return EQUIV_CLASS_MAX; +#else + return -1; +#endif + + case _SC_2_LOCALEDEF: +#ifdef _POSIX2_LOCALEDEF + return _POSIX2_LOCALEDEF; +#else + return -1; +#endif + + case _SC_NPROCESSORS_CONF: + return __get_nprocs_conf (); + + case _SC_NPROCESSORS_ONLN: + return __get_nprocs (); + + case _SC_PHYS_PAGES: + return __get_phys_pages (); + + case _SC_AVPHYS_PAGES: + return __get_avphys_pages (); + + case _SC_ATEXIT_MAX: + /* We have no limit since we use lists. */ + return INT_MAX; + + case _SC_PASS_MAX: + /* We have no limit but since the return value might be used to + allocate a buffer we restrict the value. */ + return BUFSIZ; + + case _SC_CHAR_BIT: + return CHAR_BIT; + + case _SC_CHAR_MAX: + return CHAR_MAX; + + case _SC_CHAR_MIN: + return CHAR_MIN; + + case _SC_INT_MAX: + return INT_MAX; + + case _SC_INT_MIN: + return INT_MIN; + + case _SC_LONG_BIT: + return sizeof (long int) * CHAR_BIT; + + case _SC_WORD_BIT: + return sizeof (int) * CHAR_BIT; + + case _SC_MB_LEN_MAX: + return MB_LEN_MAX; + + case _SC_NZERO: + return NZERO; + + case _SC_SSIZE_MAX: + return _POSIX_SSIZE_MAX; + + case _SC_SCHAR_MAX: + return SCHAR_MAX; + + case _SC_SCHAR_MIN: + return SCHAR_MIN; + + case _SC_SHRT_MAX: + return SHRT_MAX; + + case _SC_SHRT_MIN: + return SHRT_MIN; + + case _SC_UCHAR_MAX: + return UCHAR_MAX; + + case _SC_UINT_MAX: + return UINT_MAX; + + case _SC_ULONG_MAX: + return ULONG_MAX; + + case _SC_USHRT_MAX: + return USHRT_MAX; + + case _SC_ARG_MAX: + case _SC_CHILD_MAX: + case _SC_CLK_TCK: + case _SC_NGROUPS_MAX: + case _SC_OPEN_MAX: + case _SC_STREAM_MAX: + case _SC_JOB_CONTROL: + case _SC_SAVED_IDS: + case _SC_REALTIME_SIGNALS: + case _SC_PRIORITY_SCHEDULING: + case _SC_TIMERS: + case _SC_ASYNCHRONOUS_IO: + case _SC_PRIORITIZED_IO: + case _SC_SYNCHRONIZED_IO: + case _SC_FSYNC: + case _SC_MAPPED_FILES: + case _SC_MEMLOCK: + case _SC_MEMLOCK_RANGE: + case _SC_MEMORY_PROTECTION: + case _SC_MESSAGE_PASSING: + case _SC_SEMAPHORES: + case _SC_SHARED_MEMORY_OBJECTS: + + case _SC_AIO_LISTIO_MAX: + case _SC_AIO_MAX: + case _SC_AIO_PRIO_DELTA_MAX: + case _SC_DELAYTIMER_MAX: + case _SC_MQ_OPEN_MAX: + case _SC_MQ_PRIO_MAX: + case _SC_VERSION: + case _SC_PAGESIZE: + case _SC_RTSIG_MAX: + case _SC_SEM_NSEMS_MAX: + case _SC_SEM_VALUE_MAX: + case _SC_SIGQUEUE_MAX: + case _SC_TIMER_MAX: + + case _SC_PII: + case _SC_PII_XTI: + case _SC_PII_SOCKET: + case _SC_PII_OSI: + case _SC_POLL: + case _SC_SELECT: + case _SC_UIO_MAXIOV: + case _SC_PII_INTERNET_STREAM: + case _SC_PII_INTERNET_DGRAM: + case _SC_PII_OSI_COTS: + case _SC_PII_OSI_CLTS: + case _SC_PII_OSI_M: + case _SC_T_IOV_MAX: + + case _SC_BC_BASE_MAX: + case _SC_BC_DIM_MAX: + case _SC_BC_SCALE_MAX: + case _SC_BC_STRING_MAX: + case _SC_EXPR_NEST_MAX: + case _SC_LINE_MAX: + case _SC_RE_DUP_MAX: + case _SC_2_VERSION: + case _SC_2_C_BIND: + case _SC_2_C_DEV: + case _SC_2_FORT_DEV: + case _SC_2_SW_DEV: + case _SC_2_CHAR_TERM: + case _SC_2_C_VERSION: + case _SC_2_UPE: + + case _SC_THREADS: + case _SC_THREAD_SAFE_FUNCTIONS: + case _SC_GETGR_R_SIZE_MAX: + case _SC_GETPW_R_SIZE_MAX: + case _SC_LOGIN_NAME_MAX: + case _SC_TTY_NAME_MAX: + case _SC_THREAD_DESTRUCTOR_ITERATIONS: + case _SC_THREAD_KEYS_MAX: + case _SC_THREAD_STACK_MIN: + case _SC_THREAD_THREADS_MAX: + case _SC_THREAD_ATTR_STACKADDR: + case _SC_THREAD_ATTR_STACKSIZE: + case _SC_THREAD_PRIORITY_SCHEDULING: + case _SC_THREAD_PRIO_INHERIT: + case _SC_THREAD_PRIO_PROTECT: + case _SC_THREAD_PROCESS_SHARED: + + case _SC_XOPEN_VERSION: + case _SC_XOPEN_XCU_VERSION: + case _SC_XOPEN_UNIX: + case _SC_XOPEN_CRYPT: + case _SC_XOPEN_ENH_I18N: + case _SC_XOPEN_SHM: + case _SC_XOPEN_XPG2: + case _SC_XOPEN_XPG3: + case _SC_XOPEN_XPG4: + + case _SC_NL_ARGMAX: + case _SC_NL_LANGMAX: + case _SC_NL_MSGMAX: + case _SC_NL_NMAX: + case _SC_NL_SETMAX: + case _SC_NL_TEXTMAX: + + break; + } + + __set_errno (ENOSYS); + return -1; +} + +weak_alias (__sysconf, sysconf) + +stub_warning (sysconf) +#include <stub-tag.h> |