aboutsummaryrefslogtreecommitdiff
path: root/libps/host.c
diff options
context:
space:
mode:
Diffstat (limited to 'libps/host.c')
-rw-r--r--libps/host.c52
1 files changed, 27 insertions, 25 deletions
diff --git a/libps/host.c b/libps/host.c
index 26be9a31..9a46e008 100644
--- a/libps/host.c
+++ b/libps/host.c
@@ -1,8 +1,8 @@
/* Routines to get global host info.
- Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1995,96,2001,02 Free Software Foundation, Inc.
- Written by Miles Bader <miles@gnu.ai.mit.edu>
+ Written by Miles Bader <miles@gnu.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -29,78 +29,80 @@
/* ---------------------------------------------------------------- */
/*
- The Basic & Sched info types are pretty static, so we cache them, but load
- info is dynamic so we don't cache that.
+ The Basic & Sched info types are pretty must static so we cache them.
+ However, as load info is dynamic, we do not cache it.
See <mach/host_info.h> for information on the data types these routines
return.
*/
/* Return the current host port. */
-host_t
+mach_port_t
ps_get_host ()
{
- static host_t host = MACH_PORT_NULL;
+ static mach_port_t host = MACH_PORT_NULL;
if (host == MACH_PORT_NULL)
host = mach_host_self ();
return host;
}
-/* Return a pointer to basic info about the current host in INFO. Since
- this is static global information we just use a static buffer. If a
- system error occurs, the error code is returned, otherwise 0. */
+/* Return a pointer to the basic info about the current host in INFO.
+ Since this is static global information, we just use a static buffer.
+ If a system error occurs, the error code is returned, otherwise 0 is
+ returned. */
error_t
ps_host_basic_info (host_basic_info_t *info)
{
- int initialized = FALSE;
+ static int initialized;
static host_basic_info_data_t buf;
if (!initialized)
{
- int size = sizeof (buf);
- error_t err = host_info (ps_get_host (), HOST_BASIC_INFO,
+ size_t size = sizeof (buf);
+ error_t err = host_info (ps_get_host (), HOST_BASIC_INFO,
(host_info_t) &buf, &size);
if (err)
return err;
- initialized = TRUE;
+ initialized = 1;
}
*info = &buf;
return 0;
}
-/* Return a pointer to scheduling info about the current host in INFO.
- Since this is static global information we just use a static buffer. If a
- system error occurs, the error code is returned, otherwise 0. */
+/* Return a pointer to the scheduling info about the current host in INFO.
+ Since this is static global information, we just use a static buffer.
+ If a system error occurs, the error code is returned, otherwise 0 is
+ returned. */
error_t
ps_host_sched_info (host_sched_info_t *info)
{
- int initialized = FALSE;
+ static int initialized;
static host_sched_info_data_t buf;
if (!initialized)
{
- int size = sizeof (buf);
- error_t err = host_info (ps_get_host (), HOST_SCHED_INFO,
+ size_t size = sizeof (buf);
+ error_t err = host_info (ps_get_host (), HOST_SCHED_INFO,
(host_info_t) &buf, &size);
if (err)
return err;
- initialized = TRUE;
+ initialized = 1;
}
*info = &buf;
return 0;
}
-/* Return a pointer to load info about the current host in INFO. Since
- this is global information we just use a static buffer (if someone desires
- to keep old load info, they should copy the buffer we return a pointer
- to). If a system error occurs, the error code is returned, otherwise 0. */
+/* Return a pointer to the load info about the current host in INFO. Since
+ this is global information, we just use a static buffer (if someone desires
+ to keep old load info, they should copy the returned buffer). If a system
+ error occurs, the error code is returned, otherwise 0 is returned. */
error_t
ps_host_load_info (host_load_info_t *info)
{
static host_load_info_data_t buf;
- int size = sizeof (buf);
+ size_t size = sizeof (buf);
error_t err = host_info (ps_get_host (), HOST_LOAD_INFO,
(host_info_t) &buf, &size);