]> sourceware.org Git - glibc.git/blame - sysdeps/unix/bsd/ultrix4/sysconf.c
Update.
[glibc.git] / sysdeps / unix / bsd / ultrix4 / sysconf.c
CommitLineData
478b92f0
UD
1/* Copyright (C) 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
28f540f4
RM
3 Contributed by Ian Lance Taylor (ian@airs.com).
4
478b92f0
UD
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public License as
7 published by the Free Software Foundation; either version 2 of the
8 License, or (at your option) any later version.
28f540f4 9
478b92f0
UD
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
28f540f4 14
478b92f0
UD
15 You should have received a copy of the GNU Library General Public
16 License along with the GNU C Library; see the file COPYING.LIB. If not,
17 write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. */
28f540f4
RM
19
20/* On Ultrix we can use the getsysinfo call to get the right return
21 value for _SC_CHILD_MAX. Everything else is from <sys/param.h>,
22 which the default sysconf already knows how to handle. */
23
28f540f4
RM
24#include <unistd.h>
25#include <errno.h>
26
27/* This is an Ultrix header file. */
28#include <sys/sysinfo.h>
29
c4029823
UD
30extern int __getsysinfo __P ((unsigned int op, void *buffer,
31 size_t nbytes, int *start, void *arg));
32extern long int __default_sysconf __P ((int name));
28f540f4
RM
33
34long int
c4029823
UD
35__sysconf (name)
36 int name;
28f540f4
RM
37{
38 if (name == _SC_CHILD_MAX)
39 {
40 int save = errno;
41 int start = 0;
42 int ret;
43
44 /* getsysinfo returns the number of values it put into the
45 buffer, or 0 if not available, or -1 on error. */
46 if (__getsysinfo (GSI_MAX_UPROCS, &ret, sizeof (ret), &start,
47 (void *) 0) > 0)
48 {
c4029823 49 __set_errno (save);
28f540f4
RM
50 return ret;
51 }
52
c4029823 53 __set_errno (save);
28f540f4
RM
54 }
55
56 return __default_sysconf (name);
57}
58
59#define __sysconf __default_sysconf
60
61#include <sysdeps/posix/sysconf.c>
This page took 0.076488 seconds and 5 git commands to generate.