home *** CD-ROM | disk | FTP | other *** search
- /*
- * Mach Operating System
- * Copyright (c) 1989 Carnegie-Mellon University
- * Copyright (c) 1988 Carnegie-Mellon University
- * All rights reserved. The CMU software License Agreement specifies
- * the terms and conditions for use and redistribution.
- */
- /*
- * HISTORY
- * $Log: host_info.h,v $
- * Revision 2.4 89/10/15 02:05:31 rpd
- * Minor cleanups.
- *
- * Revision 2.2 89!1t11 14:36:55 dlb
- * Add sched_info flavor to return minimum times for use by
- * external schedulers.
- * [89/06/08 dlb]
- *
- * Added kernel_version type definitions.
- * [88/12/02 dlb]
- *
- * Revision 2.1.1.3 89/08/02 23:07:57 dlb
- * Cleanup changes.
- * [89/08/02 dlb]
- *
- * Revision 2.1.1.2 89/07/25 18:45:09 dlb
- * Add sched_info flavor to return minimum times for use by
- * external schedulers.
- * [89/06/08 dlb]
- *
- * Revision 2.1.1.1 89/01/30 22:42:52 dlb
- * Added kernel_version type definitions.
- * [88/12/02 dlb]
- *
- * 30-Nov-88 David Black (dlb) at Carnegie-Mellon University
- * Created. 2 flavors so far: basic info, slot numbers.
- *
- */
-
- /*
- * File: mach/host_info.h
- *
- * Definitions for host_info call.
- */
-
- #ifndef _MACH_HOST_INFO_H_
- #define _MACH_HOST_INFO_H_
-
- #import <mach/machine.h>
- #import <mach/machine/vm_types.h>
-
- /*
- * Generic information structure to allow for expansion.
- */
- typedef int *host_info_t; /* varying array of int. */
-
- #define HOST_INFO_MAX (1024) /* max array size */
- typedef int host_info_data_t[HOST_INFO_MAX];
-
- #define KERNEL_VERSION_MAX (512)
- typedef char kernel_version_t[KERNEL_VERSION_MAX];
- /*
- * Currently defined information.
- */
- #define HOST_BASIC_INFO 1 /* basic info */
- #define HOST_PROCESSOR_SLOTS 2 /* processor slot numbers */
- #define HOST_SCHED_INFO 3 /* scheduling info */
-
- struct host_basic_info {
- int max_cpus; /* max number of cpus possible */
- int avail_cpus; /* number of cpus now available */
- vm_size_t memory_size; /* size of memory in bytes */
- cpu_type_t cpu_type; /* cpu type */
- cpu_subtype_t cpu_subtype; /* cpu subtype */
- };
-
- typedef struct host_basic_info host_basic_info_data_t;
- typedef struct host_basic_info *host_basic_info_t;
- #define HOST_BASIC_INFO_COUNT \
- (sizeof(host_basic_info_data_t)/sizeof(int))
-
- struct host_sched_info {
- int min_timeout; /* minimum timeout in milliseconds */
- int min_quantum; /* minimum quantum in milliseconds */
- };
-
- typedef struct host_sched_info host_sched_info_data_t;
- typedef struct host_sched_info *host_sched_info_t;
- #define HOST_SCHED_INFO_COUNT \
- (sizeof(host_sched_info_data_t)/sizeof(int))
-
- #endif _MACH_HOST_INFO_H_
-