mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Update.
* sysdeps/generic/getsysstat.c: Change return value of get_phys_pages and get_avphys_page to long int. * sysdeps/unix/sysv/linux/getsysstat.c: Likewise. * include/sys/sysinfo.h: Likewise. * sysdeps/generic/sys/sysinfo.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise.
This commit is contained in:
@ -1,5 +1,12 @@
|
|||||||
2001-02-11 Ulrich Drepper <drepper@redhat.com>
|
2001-02-11 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/generic/getsysstat.c: Change return value of get_phys_pages
|
||||||
|
and get_avphys_page to long int.
|
||||||
|
* sysdeps/unix/sysv/linux/getsysstat.c: Likewise.
|
||||||
|
* include/sys/sysinfo.h: Likewise.
|
||||||
|
* sysdeps/generic/sys/sysinfo.h: Likewise.
|
||||||
|
* sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise.
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Fail if we
|
* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Fail if we
|
||||||
cannot return as many values as the user asked for.
|
cannot return as many values as the user asked for.
|
||||||
|
|
||||||
|
24
PROJECTS
24
PROJECTS
@ -1,6 +1,6 @@
|
|||||||
Open jobs for finishing GNU libc:
|
Open jobs for finishing GNU libc:
|
||||||
---------------------------------
|
---------------------------------
|
||||||
Status: December 1998
|
Status: February 2001
|
||||||
|
|
||||||
If you have time and talent to take over any of the jobs below please
|
If you have time and talent to take over any of the jobs below please
|
||||||
contact <bug-glibc@gnu.org>.
|
contact <bug-glibc@gnu.org>.
|
||||||
@ -77,6 +77,9 @@ contact <bug-glibc@gnu.org>.
|
|||||||
|
|
||||||
It is planned to do a complete rewrite.
|
It is planned to do a complete rewrite.
|
||||||
|
|
||||||
|
*** We have no multibyte character support. But a rewrite is still
|
||||||
|
necessary.
|
||||||
|
|
||||||
|
|
||||||
[11] Write access function for netmasks, bootparams, and automount
|
[11] Write access function for netmasks, bootparams, and automount
|
||||||
databases for nss_files and nss_db module.
|
databases for nss_files and nss_db module.
|
||||||
@ -84,24 +87,20 @@ contact <bug-glibc@gnu.org>.
|
|||||||
hard and not all services must be supported at once.
|
hard and not all services must be supported at once.
|
||||||
|
|
||||||
|
|
||||||
[14] We need to write a library for on-the-fly transformation of streams
|
|
||||||
of text. In fact, this would be a recode-library (you know, GNU recode).
|
|
||||||
This is needed in several places in the GNU libc and I already have
|
|
||||||
rather concrete plans but so far no possibility to start this.
|
|
||||||
|
|
||||||
*** The library is available, now it remains to be used in the streams.
|
|
||||||
|
|
||||||
|
|
||||||
[15] Cleaning up the header files. Ideally, each header style should
|
[15] Cleaning up the header files. Ideally, each header style should
|
||||||
follow the "good examples". Each variable and function should have
|
follow the "good examples". Each variable and function should have
|
||||||
a short description of the function and its parameters. The prototypes
|
a short description of the function and its parameters. The prototypes
|
||||||
should always contain variable names which can help to identify their
|
should always contain variable names which can help to identify their
|
||||||
meaning; better than
|
meaning; better than
|
||||||
|
|
||||||
int foo __P ((int, int, int, int));
|
int foo (int, int, int, int);
|
||||||
|
|
||||||
Blargh!
|
Blargh!
|
||||||
|
|
||||||
|
*** The conformtest.pl tool helps cleaning the namespace. As far as
|
||||||
|
known the prototypes all contain parameter names. But maybe some
|
||||||
|
comments can be improved.
|
||||||
|
|
||||||
|
|
||||||
[16] The libio stream file functions should be extended in a way to use
|
[16] The libio stream file functions should be extended in a way to use
|
||||||
mmap to map the file and use it as the buffer to user sees. For
|
mmap to map the file and use it as the buffer to user sees. For
|
||||||
@ -194,7 +193,4 @@ contact <bug-glibc@gnu.org>.
|
|||||||
user should be preferred even if the last user spent more time.
|
user should be preferred even if the last user spent more time.
|
||||||
|
|
||||||
|
|
||||||
[26] Improve the AIO implementation so that threads do not immediately
|
[26] ...done
|
||||||
terminate if no more requests are available. Let them sleep for a
|
|
||||||
while and wake them up on demand. If after a while no request arrived
|
|
||||||
they really can die.
|
|
||||||
|
@ -10,9 +10,9 @@ extern int __get_nprocs_conf (void);
|
|||||||
extern int __get_nprocs (void);
|
extern int __get_nprocs (void);
|
||||||
|
|
||||||
/* Return number of physical pages of memory in the system. */
|
/* Return number of physical pages of memory in the system. */
|
||||||
extern int __get_phys_pages (void);
|
extern long int __get_phys_pages (void);
|
||||||
|
|
||||||
/* Return number of available physical pages of memory in the system. */
|
/* Return number of available physical pages of memory in the system. */
|
||||||
extern int __get_avphys_pages (void);
|
extern long int __get_avphys_pages (void);
|
||||||
|
|
||||||
#endif /* sys/sysinfo.h */
|
#endif /* sys/sysinfo.h */
|
||||||
|
@ -140,6 +140,34 @@ syntax errors (@pxref{File Name Errors}), plus @code{ENOTDIR} if the
|
|||||||
file @var{filename} is not a directory.
|
file @var{filename} is not a directory.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
|
@comment unistd.h
|
||||||
|
@comment XPG
|
||||||
|
@deftypefun int fchdir (int @var{filedes})
|
||||||
|
This function is used to set the process's working directory to
|
||||||
|
directory associated with the file descriptor @var{filedes}.
|
||||||
|
|
||||||
|
The normal, successful return value from @code{fchdir} is @code{0}. A
|
||||||
|
value of @code{-1} is returned to indicate an error. The following
|
||||||
|
@code{errno} error conditions are defined for this function:
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@item EACCES
|
||||||
|
Read permission is denied for the directory named by @code{dirname}.
|
||||||
|
|
||||||
|
@item EBADF
|
||||||
|
The @var{filedes} argument is not a valid file descriptor.
|
||||||
|
|
||||||
|
@item ENOTDIR
|
||||||
|
The file descriptor @var{filedes} is not associated with a directory.
|
||||||
|
|
||||||
|
@item EINTR
|
||||||
|
The function call was interrupt by a signal.
|
||||||
|
|
||||||
|
@item EIO
|
||||||
|
An I/O error occurred.
|
||||||
|
@end table
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
|
||||||
@node Accessing Directories
|
@node Accessing Directories
|
||||||
@section Accessing Directories
|
@section Accessing Directories
|
||||||
@ -206,7 +234,7 @@ type of the appropriate size
|
|||||||
This is the type of the file, possibly unknown. The following constants
|
This is the type of the file, possibly unknown. The following constants
|
||||||
are defined for its value:
|
are defined for its value:
|
||||||
|
|
||||||
@table @code
|
@vtable @code
|
||||||
@item DT_UNKNOWN
|
@item DT_UNKNOWN
|
||||||
The type is unknown. On some systems this is the only value returned.
|
The type is unknown. On some systems this is the only value returned.
|
||||||
|
|
||||||
@ -227,24 +255,34 @@ A character device.
|
|||||||
|
|
||||||
@item DT_BLK
|
@item DT_BLK
|
||||||
A block device.
|
A block device.
|
||||||
@end table
|
@end vtable
|
||||||
|
|
||||||
This member is a BSD extension. On systems where it is used, it
|
This member is a BSD extension. The symbol @code{_DIRENT_HAVE_D_TYPE}
|
||||||
|
is defined if this member is available. On systems where it is used, it
|
||||||
corresponds to the file type bits in the @code{st_mode} member of
|
corresponds to the file type bits in the @code{st_mode} member of
|
||||||
@code{struct statbuf}. On other systems it will always be DT_UNKNOWN.
|
@code{struct statbuf}. If the value cannot be determine the member
|
||||||
These two macros convert between @code{d_type} values and @code{st_mode}
|
value is DT_UNKNOWN. These two macros convert between @code{d_type}
|
||||||
values:
|
values and @code{st_mode} values:
|
||||||
|
|
||||||
|
@comment dirent.h
|
||||||
|
@comment BSD
|
||||||
@deftypefun int IFTODT (mode_t @var{mode})
|
@deftypefun int IFTODT (mode_t @var{mode})
|
||||||
This returns the @code{d_type} value corresponding to @var{mode}.
|
This returns the @code{d_type} value corresponding to @var{mode}.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
|
@comment dirent.h
|
||||||
|
@comment BSD
|
||||||
@deftypefun mode_t DTTOIF (int @var{dtype})
|
@deftypefun mode_t DTTOIF (int @var{dtype})
|
||||||
This returns the @code{st_mode} value corresponding to @var{dtype}.
|
This returns the @code{st_mode} value corresponding to @var{dtype}.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
This structure may contain additional members in the future.
|
This structure may contain additional members in the future. Their
|
||||||
|
availability is always announced in the compilation environment by a
|
||||||
|
macro names @code{_DIRENT_HAVE_D_xxx} where @code{xxx} is replaced by
|
||||||
|
the name of the new member. For instance, the member @code{d_reclen}
|
||||||
|
available on some systems is announced through the macro
|
||||||
|
@code{_DIRENT_HAVE_D_RECLEN}.
|
||||||
|
|
||||||
When a file has multiple names, each name has its own directory entry.
|
When a file has multiple names, each name has its own directory entry.
|
||||||
The only way you can tell that the directory entries belong to a
|
The only way you can tell that the directory entries belong to a
|
||||||
@ -304,6 +342,24 @@ and the @code{opendir} function in terms of the @code{open} function.
|
|||||||
file descriptors are closed on @code{exec} (@pxref{Executing a File}).
|
file descriptors are closed on @code{exec} (@pxref{Executing a File}).
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
|
In some situations it can be desirable to get hold of the file
|
||||||
|
descriptor which is created by the @code{opendir} call. For instance,
|
||||||
|
to switch the current working directory to the directory just read the
|
||||||
|
@code{fchdir} function could be used. Historically the @code{DIR} type
|
||||||
|
was exposed and programs could access the fields. This does not happen
|
||||||
|
in the GNU C library. Instead a separate function is provided to allow
|
||||||
|
access.
|
||||||
|
|
||||||
|
@comment dirent.h
|
||||||
|
@comment GNU
|
||||||
|
@deftypefun int dirfd (DIR *@var{dirstream})
|
||||||
|
The function @code{dirfd} returns the file descriptor associated with
|
||||||
|
the directory stream @var{dirstream}. This descriptor can be used until
|
||||||
|
the directory is closed with @code{closedir}. If the directory stream
|
||||||
|
implementation is not using file descriptors the return value is
|
||||||
|
@code{-1}.
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
@node Reading/Closing Directory
|
@node Reading/Closing Directory
|
||||||
@subsection Reading and Closing a Directory Stream
|
@subsection Reading and Closing a Directory Stream
|
||||||
|
|
||||||
|
@ -1401,3 +1401,22 @@ processors and so the call
|
|||||||
@noindent
|
@noindent
|
||||||
returns the number of processors which are currently inline (i.e.,
|
returns the number of processors which are currently inline (i.e.,
|
||||||
available).
|
available).
|
||||||
|
|
||||||
|
@cindex load average
|
||||||
|
Before starting more threads it should be checked whether the processors
|
||||||
|
are not already overused. Unix systems calculate something called the
|
||||||
|
@dfn{load average}. This is a number indicating how many processes were
|
||||||
|
running. This number is average over different periods of times
|
||||||
|
(normally 1, 5, and 15 minutes).
|
||||||
|
|
||||||
|
@comment stdlib.h
|
||||||
|
@comment BSD
|
||||||
|
@deftypefun int getloadavg (double @var{loadavg}[], int @var{nelem})
|
||||||
|
This function gets the 1, 5 and 15 minute load averages of the
|
||||||
|
system. The values are placed in @var{loadavg}. @code{getloadavg} will
|
||||||
|
place at most @var{nelem} elements into the array but never more than
|
||||||
|
three elements. The return value is the number of elements written to
|
||||||
|
@var{loadavg}, or -1 on error.
|
||||||
|
|
||||||
|
This function is declared in @file{stdlib.h}.
|
||||||
|
@end deftypefun
|
||||||
|
@ -15,7 +15,6 @@ can make changes.
|
|||||||
machine type
|
machine type
|
||||||
* Filesystem Handling:: Controlling/querying mounts
|
* Filesystem Handling:: Controlling/querying mounts
|
||||||
* System Parameters:: Getting and setting various system parameters
|
* System Parameters:: Getting and setting various system parameters
|
||||||
* Load Average:: Getting the system load average
|
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
To get information on parameters of the system that are built into the
|
To get information on parameters of the system that are built into the
|
||||||
@ -1193,23 +1192,3 @@ parameters are:
|
|||||||
@item
|
@item
|
||||||
@code{bdflush}
|
@code{bdflush}
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
@node Load Average
|
|
||||||
@section Getting the system load average
|
|
||||||
|
|
||||||
This section describes the @code{getloadavg} function, which gets the 1, 5
|
|
||||||
and 15 minute load averages of the system. The load average is the number of
|
|
||||||
processes in the system run queue, averaged over various periods of time
|
|
||||||
(1, 5 and 15 minutes in this case).
|
|
||||||
|
|
||||||
The symbols used in this section are declared in the file @file{stdlib.h}.
|
|
||||||
|
|
||||||
@comment stdlib.h
|
|
||||||
@comment BSD
|
|
||||||
@deftypefun int getloadavg (double @var{loadavg}[], int @var{nelem})
|
|
||||||
This function gets the 1, 5 and 15 minute load averages of the system. The
|
|
||||||
values are placed in @var{loadavg}. The function will place at most
|
|
||||||
@var{nelem} elements into the array, @var{loadavg}. Never are there more
|
|
||||||
than three elements returned and possibly less than @var{nelem}. The return
|
|
||||||
value is the number of elements written to @var{loadavg}, or -1 on error.
|
|
||||||
@end deftypefun
|
|
||||||
|
@ -59,7 +59,7 @@ Pass to another daemon
|
|||||||
Discard
|
Discard
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
Syslogd can also handle messages from other systems. It listens on the
|
Syslogd can also handle messages from other systems. It listens on the
|
||||||
@code{syslog} UDP port as well as the local socket for messages.
|
@code{syslog} UDP port as well as the local socket for messages.
|
||||||
|
|
||||||
Syslog can handle messages from the kernel itself. But the kernel
|
Syslog can handle messages from the kernel itself. But the kernel
|
||||||
@ -158,7 +158,7 @@ to identify the source of the message, and people conventionally set it
|
|||||||
to the name of the program that will submit the messages.
|
to the name of the program that will submit the messages.
|
||||||
|
|
||||||
@code{openlog} may or may not open the @file{/dev/log} socket, depending
|
@code{openlog} may or may not open the @file{/dev/log} socket, depending
|
||||||
on @var{option}. If it does, it tries to open it and connect it as a
|
on @var{option}. If it does, it tries to open it and connect it as a
|
||||||
stream socket. If that doesn't work, it tries to open it and connect it
|
stream socket. If that doesn't work, it tries to open it and connect it
|
||||||
as a datagram socket. The socket has the ``Close on Exec'' attribute,
|
as a datagram socket. The socket has the ``Close on Exec'' attribute,
|
||||||
so the kernel will close it if the process performs an exec.
|
so the kernel will close it if the process performs an exec.
|
||||||
@ -166,7 +166,7 @@ so the kernel will close it if the process performs an exec.
|
|||||||
You don't have to use @code{openlog}. If you call @code{syslog} without
|
You don't have to use @code{openlog}. If you call @code{syslog} without
|
||||||
having called @code{openlog}, @code{syslog} just opens the connection
|
having called @code{openlog}, @code{syslog} just opens the connection
|
||||||
implicitly and uses defaults for the information in @var{ident} and
|
implicitly and uses defaults for the information in @var{ident} and
|
||||||
@var{options}.
|
@var{options}.
|
||||||
|
|
||||||
@var{options} is a bit string, with the bits as defined by the following
|
@var{options} is a bit string, with the bits as defined by the following
|
||||||
single bit masks:
|
single bit masks:
|
||||||
@ -243,7 +243,7 @@ writing to the Unix domain socket @code{/dev/log}.
|
|||||||
|
|
||||||
@code{syslog} submits the message with the facility and priority indicated
|
@code{syslog} submits the message with the facility and priority indicated
|
||||||
by @var{facility_priority}. The macro @code{LOG_MAKEPRI} generates a
|
by @var{facility_priority}. The macro @code{LOG_MAKEPRI} generates a
|
||||||
facility/priority from a facility and a priority, as in the following
|
facility/priority from a facility and a priority, as in the following
|
||||||
example:
|
example:
|
||||||
|
|
||||||
@smallexample
|
@smallexample
|
||||||
@ -255,7 +255,7 @@ The possible values for the facility code are (macros):
|
|||||||
@c Internally, there is also LOG_KERN, but LOG_KERN == 0, which means
|
@c Internally, there is also LOG_KERN, but LOG_KERN == 0, which means
|
||||||
@c if you try to use it here, just selects default.
|
@c if you try to use it here, just selects default.
|
||||||
|
|
||||||
@table @code
|
@vtable @code
|
||||||
@item LOG_USER
|
@item LOG_USER
|
||||||
A miscellaneous user process
|
A miscellaneous user process
|
||||||
@item LOG_MAIL
|
@item LOG_MAIL
|
||||||
@ -294,15 +294,15 @@ Locally defined
|
|||||||
Locally defined
|
Locally defined
|
||||||
@item LOG_LOCAL7
|
@item LOG_LOCAL7
|
||||||
Locally defined
|
Locally defined
|
||||||
@end table
|
@end vtable
|
||||||
|
|
||||||
Results are undefined if the facility code is anything else.
|
Results are undefined if the facility code is anything else.
|
||||||
|
|
||||||
@strong{note:} Syslog recognizes one other facility code: that of the
|
@strong{note:} @code{syslog} recognizes one other facility code: that of
|
||||||
kernel. But you can't specify that facility code with these functions.
|
the kernel. But you can't specify that facility code with these
|
||||||
If you try, it looks the same to @code{syslog} as if you are requesting
|
functions. If you try, it looks the same to @code{syslog} as if you are
|
||||||
the default facility. But you wouldn't want to anyway, because any
|
requesting the default facility. But you wouldn't want to anyway,
|
||||||
program that uses the GNU C library is not the kernel.
|
because any program that uses the GNU C library is not the kernel.
|
||||||
|
|
||||||
You can use just a priority code as @var{facility_priority}. In that
|
You can use just a priority code as @var{facility_priority}. In that
|
||||||
case, @code{syslog} assumes the default facility established when the
|
case, @code{syslog} assumes the default facility established when the
|
||||||
@ -310,7 +310,7 @@ Syslog connection was opened. @xref{Syslog Example}.
|
|||||||
|
|
||||||
The possible values for the priority code are (macros):
|
The possible values for the priority code are (macros):
|
||||||
|
|
||||||
@table @code
|
@vtable @code
|
||||||
@item LOG_EMERG
|
@item LOG_EMERG
|
||||||
The message says the system is unusable.
|
The message says the system is unusable.
|
||||||
@item LOG_ALERT
|
@item LOG_ALERT
|
||||||
@ -327,7 +327,7 @@ The message describes a normal but important event.
|
|||||||
The message is purely informational.
|
The message is purely informational.
|
||||||
@item LOG_DEBUG
|
@item LOG_DEBUG
|
||||||
The message is only for debugging purposes.
|
The message is only for debugging purposes.
|
||||||
@end table
|
@end vtable
|
||||||
|
|
||||||
Results are undefined if the priority code is anything else.
|
Results are undefined if the priority code is anything else.
|
||||||
|
|
||||||
@ -354,8 +354,8 @@ Example:
|
|||||||
@smallexample
|
@smallexample
|
||||||
|
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
syslog(LOG_MAKEPRI(LOG_LOCAL1, LOG_ERROR),
|
syslog (LOG_MAKEPRI(LOG_LOCAL1, LOG_ERROR),
|
||||||
"Unable to make network connection to %s. Error=%m", host);
|
"Unable to make network connection to %s. Error=%m", host);
|
||||||
|
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
@ -364,8 +364,7 @@ syslog(LOG_MAKEPRI(LOG_LOCAL1, LOG_ERROR),
|
|||||||
|
|
||||||
@comment syslog.h
|
@comment syslog.h
|
||||||
@comment BSD
|
@comment BSD
|
||||||
@deftypefun void vsyslog (int @var{facility_priority}, char *@var{format},
|
@deftypefun void vsyslog (int @var{facility_priority}, char *@var{format}, va_list arglist)
|
||||||
__gnuc_va_list arglist)
|
|
||||||
|
|
||||||
This is functionally identical to @code{syslog}, with the BSD style variable
|
This is functionally identical to @code{syslog}, with the BSD style variable
|
||||||
length argument.
|
length argument.
|
||||||
@ -381,7 +380,7 @@ The symbols referred to in this section are declared in the file
|
|||||||
|
|
||||||
@comment syslog.h
|
@comment syslog.h
|
||||||
@comment BSD
|
@comment BSD
|
||||||
@deftypefun void closelog ()
|
@deftypefun void closelog (void)
|
||||||
|
|
||||||
@code{closelog} closes the current Syslog connection, if there is one.
|
@code{closelog} closes the current Syslog connection, if there is one.
|
||||||
This include closing the @file{dev/log} socket, if it is open.
|
This include closing the @file{dev/log} socket, if it is open.
|
||||||
@ -444,7 +443,7 @@ on for a certain priority and all priorities above it:
|
|||||||
LOG_UPTO(LOG_ERROR)
|
LOG_UPTO(LOG_ERROR)
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
The unfortunate naming of the macro is due to the fact that internally,
|
The unfortunate naming of the macro is due to the fact that internally,
|
||||||
higher numbers are used for lower message priorities.
|
higher numbers are used for lower message priorities.
|
||||||
|
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
@ -462,16 +461,13 @@ in the example does nothing.
|
|||||||
@smallexample
|
@smallexample
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
|
|
||||||
setlogmask(LOG_UPTO(LOG_NOTICE));
|
setlogmask (LOG_UPTO (LOG_NOTICE));
|
||||||
|
|
||||||
openlog("exampleprog", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);
|
openlog ("exampleprog", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);
|
||||||
|
|
||||||
syslog(LOG_NOTICE, "Program started by User %d", getuid());
|
syslog (LOG_NOTICE, "Program started by User %d", getuid ());
|
||||||
syslog(LOG_INFO, "A tree falls in a forest");
|
syslog (LOG_INFO, "A tree falls in a forest");
|
||||||
|
|
||||||
closelog();
|
closelog ();
|
||||||
|
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* getsysstats - Determine various system internal values, stub version.
|
/* getsysstats - Determine various system internal values, stub version.
|
||||||
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
Copyright (C) 1996, 1997, 2001 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ weak_alias (__get_nprocs, get_nprocs)
|
|||||||
link_warning (get_nprocs, "warning: get_nprocs will always return 1")
|
link_warning (get_nprocs, "warning: get_nprocs will always return 1")
|
||||||
|
|
||||||
|
|
||||||
int
|
long int
|
||||||
__get_phys_pages ()
|
__get_phys_pages ()
|
||||||
{
|
{
|
||||||
/* We have no general way to determine this value. */
|
/* We have no general way to determine this value. */
|
||||||
@ -56,7 +56,7 @@ weak_alias (__get_phys_pages, get_phys_pages)
|
|||||||
stub_warning (get_phys_pages)
|
stub_warning (get_phys_pages)
|
||||||
|
|
||||||
|
|
||||||
int
|
long int
|
||||||
__get_avphys_pages ()
|
__get_avphys_pages ()
|
||||||
{
|
{
|
||||||
/* We have no general way to determine this value. */
|
/* We have no general way to determine this value. */
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
|
/* Copyright (C) 1996, 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -17,8 +17,8 @@
|
|||||||
Boston, MA 02111-1307, USA. */
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
#ifndef _SYS_SYSINFO_H
|
#ifndef _SYS_SYSINFO_H
|
||||||
|
|
||||||
#define _SYS_SYSINFO_H 1
|
#define _SYS_SYSINFO_H 1
|
||||||
|
|
||||||
#include <features.h>
|
#include <features.h>
|
||||||
|
|
||||||
/* Return number of configured processors. */
|
/* Return number of configured processors. */
|
||||||
@ -29,9 +29,9 @@ extern int get_nprocs (void) __THROW;
|
|||||||
|
|
||||||
|
|
||||||
/* Return number of physical pages of memory in the system. */
|
/* Return number of physical pages of memory in the system. */
|
||||||
extern int get_phys_pages (void) __THROW;
|
extern long int get_phys_pages (void) __THROW;
|
||||||
|
|
||||||
/* Return number of available physical pages of memory in the system. */
|
/* Return number of available physical pages of memory in the system. */
|
||||||
extern int get_avphys_pages (void) __THROW;
|
extern long int get_avphys_pages (void) __THROW;
|
||||||
|
|
||||||
#endif /* sys/sysinfo.h */
|
#endif /* sys/sysinfo.h */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Determine various system internal values, Linux version.
|
/* Determine various system internal values, Linux version.
|
||||||
Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||||
|
|
||||||
@ -203,14 +203,14 @@ weak_alias (__get_nprocs_conf, get_nprocs_conf)
|
|||||||
|
|
||||||
/* General function to get information about memory status from proc
|
/* General function to get information about memory status from proc
|
||||||
filesystem. */
|
filesystem. */
|
||||||
static int
|
static long int
|
||||||
internal_function
|
internal_function
|
||||||
phys_pages_info (const char *format)
|
phys_pages_info (const char *format)
|
||||||
{
|
{
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
char buffer[8192];
|
char buffer[8192];
|
||||||
const char *proc_path;
|
const char *proc_path;
|
||||||
int result = -1;
|
long int result = -1;
|
||||||
|
|
||||||
/* Get mount point of proc filesystem. */
|
/* Get mount point of proc filesystem. */
|
||||||
proc_path = get_proc_path (buffer, sizeof buffer);
|
proc_path = get_proc_path (buffer, sizeof buffer);
|
||||||
@ -258,12 +258,12 @@ phys_pages_info (const char *format)
|
|||||||
|
|
||||||
But not all systems have support for the /proc filesystem. If it
|
But not all systems have support for the /proc filesystem. If it
|
||||||
is not available we return -1 as an error signal. */
|
is not available we return -1 as an error signal. */
|
||||||
int
|
long int
|
||||||
__get_phys_pages ()
|
__get_phys_pages ()
|
||||||
{
|
{
|
||||||
/* XXX Here will come a test for the new system call. */
|
/* XXX Here will come a test for the new system call. */
|
||||||
|
|
||||||
return phys_pages_info ("MemTotal: %d kB");
|
return phys_pages_info ("MemTotal: %ld kB");
|
||||||
}
|
}
|
||||||
weak_alias (__get_phys_pages, get_phys_pages)
|
weak_alias (__get_phys_pages, get_phys_pages)
|
||||||
|
|
||||||
@ -279,12 +279,12 @@ weak_alias (__get_phys_pages, get_phys_pages)
|
|||||||
|
|
||||||
But not all systems have support for the /proc filesystem. If it
|
But not all systems have support for the /proc filesystem. If it
|
||||||
is not available we return -1 as an error signal. */
|
is not available we return -1 as an error signal. */
|
||||||
int
|
long int
|
||||||
__get_avphys_pages ()
|
__get_avphys_pages ()
|
||||||
{
|
{
|
||||||
/* XXX Here will come a test for the new system call. */
|
/* XXX Here will come a test for the new system call. */
|
||||||
|
|
||||||
return phys_pages_info ("MemFree: %d kB");
|
return phys_pages_info ("MemFree: %ld kB");
|
||||||
}
|
}
|
||||||
weak_alias (__get_avphys_pages, get_avphys_pages)
|
weak_alias (__get_avphys_pages, get_avphys_pages)
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1996, 1999 Free Software Foundation, Inc.
|
/* Copyright (C) 1996, 1999, 2001 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -17,8 +17,8 @@
|
|||||||
Boston, MA 02111-1307, USA. */
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
#ifndef _SYS_SYSINFO_H
|
#ifndef _SYS_SYSINFO_H
|
||||||
|
|
||||||
#define _SYS_SYSINFO_H 1
|
#define _SYS_SYSINFO_H 1
|
||||||
|
|
||||||
#include <features.h>
|
#include <features.h>
|
||||||
|
|
||||||
/* Get sysinfo structure from kernel header. */
|
/* Get sysinfo structure from kernel header. */
|
||||||
@ -38,10 +38,10 @@ extern int get_nprocs (void) __THROW;
|
|||||||
|
|
||||||
|
|
||||||
/* Return number of physical pages of memory in the system. */
|
/* Return number of physical pages of memory in the system. */
|
||||||
extern int get_phys_pages (void) __THROW;
|
extern long int get_phys_pages (void) __THROW;
|
||||||
|
|
||||||
/* Return number of available physical pages of memory in the system. */
|
/* Return number of available physical pages of memory in the system. */
|
||||||
extern int get_avphys_pages (void) __THROW;
|
extern long int get_avphys_pages (void) __THROW;
|
||||||
|
|
||||||
__END_DECLS
|
__END_DECLS
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user