home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.0 / NeXTSTEP3.0.iso / NextDeveloper / Headers / mach / task_info.h < prev    next >
Text File  |  1992-07-29  |  2KB  |  71 lines

  1. /* 
  2.  * Mach Operating System
  3.  * Copyright (c) 1989 Carnegie-Mellon University
  4.  * Copyright (c) 1988 Carnegie-Mellon University
  5.  * Copyright (c) 1987 Carnegie-Mellon University
  6.  * All rights reserved.  The CMU software License Agreement specifies
  7.  * the terms and conditions for use and redistribution.
  8.  */
  9. /*
  10.  * HISTORY
  11.  * $Log:    task_info.h,v $
  12.  * 31-May-90  Gregg Kellogg (gk) at NeXT
  13.  *    NeXT doesn't implement TASK_EVENTS_INFO (neither does anyone else, so
  14.  *    far as I can see).
  15.  *
  16.  * Revision 2.4  89/03/09  20:23:59  rpd
  17.  *     More cleanup.
  18.  * 
  19.  * Revision 2.3  89/02/25  18:41:06  gm0w
  20.  *     Changes for cleanup.
  21.  * 
  22.  * 15-Jan-88  David Golub (dbg) at Carnegie-Mellon University
  23.  *    Created, based on!2' task_statistics.
  24.  *
  25.  */
  26. /*
  27.  *    Machine-independent task information structures and definitions.
  28.  *
  29.  *    The definitions in this file are exported to the user.  The kernel
  30.  *    will translate its internal data structures to these structures
  31.  *    as appropriate.
  32.  *
  33.  */
  34.  
  35. #ifndef    _MACH_TASK_INFO_H_
  36. #define _MACH_TASK_INFO_H_
  37.  
  38. #import <mach/machine/vm_types.h>
  39. #import <mach/time_value.h>
  40.  
  41. /*
  42.  *    Generic information structure to allow for expansion.
  43.  */
  44. typedef    int    *task_info_t;        /* varying array of int */
  45.  
  46. #define TASK_INFO_MAX    (1024)        /* maximum array size */
  47. typedef    int    task_info_data_t[TASK_INFO_MAX];
  48.  
  49. /*
  50.  *    Currently defined information structures.
  51.  */
  52. #define TASK_BASIC_INFO        1    /* basic information */
  53.  
  54. struct task_basic_info {
  55.     int        suspend_count;    /* suspend count for task */
  56.     int        base_priority;    /* base scheduling priority */
  57.     vm_size_t    virtual_size;    /* number of virtual pages */
  58.     vm_size_t    resident_size;    /* number of resident pages */
  59.     time_value_t    user_time;    /* total user run time for
  60.                        terminated threads */
  61.     time_value_t    system_time;    /* total system run time for
  62.                        terminated threads */
  63. };
  64.  
  65. typedef struct task_basic_info        task_basic_info_data_t;
  66. typedef struct task_basic_info        *task_basic_info_t;
  67. #define TASK_BASIC_INFO_COUNT    \
  68.         (sizeof(task_basic_info_data_t) / sizeof(int))
  69.  
  70. #endif    _MACH_TASK_INFO_H_
  71.