Annotation of OSKit-Mach/include/mach_debug/ipc_info.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Mach Operating System
                      3:  * Copyright (c) 1991,1990 Carnegie Mellon University
                      4:  * All Rights Reserved.
                      5:  *
                      6:  * Permission to use, copy, modify and distribute this software and its
                      7:  * documentation is hereby granted, provided that both the copyright
                      8:  * notice and this permission notice appear in all copies of the
                      9:  * software, derivative works or modified versions, and any portions
                     10:  * thereof, and that both notices appear in supporting documentation.
                     11:  *
                     12:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
                     13:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
                     14:  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
                     15:  *
                     16:  * Carnegie Mellon requests users of this software to return to
                     17:  *
                     18:  *  Software Distribution Coordinator  or  [email protected]
                     19:  *  School of Computer Science
                     20:  *  Carnegie Mellon University
                     21:  *  Pittsburgh PA 15213-3890
                     22:  *
                     23:  * any improvements or extensions that they make and grant Carnegie Mellon
                     24:  * the rights to redistribute these changes.
                     25:  */
                     26: /*
                     27:  *     File:   mach_debug/ipc_info.h
                     28:  *     Author: Rich Draves
                     29:  *     Date:   March, 1990
                     30:  *
                     31:  *     Definitions for the IPC debugging interface.
                     32:  */
                     33: 
                     34: #ifndef        _MACH_DEBUG_IPC_INFO_H_
                     35: #define _MACH_DEBUG_IPC_INFO_H_
                     36: 
                     37: #include <mach/boolean.h>
                     38: #include <mach/port.h>
                     39: #include <mach/machine/vm_types.h>
                     40: 
                     41: /*
                     42:  *     Remember to update the mig type definitions
                     43:  *     in mach_debug_types.defs when adding/removing fields.
                     44:  */
                     45: 
                     46: 
                     47: typedef struct ipc_info_space {
                     48:        natural_t iis_genno_mask;       /* generation number mask */
                     49:        natural_t iis_table_size;       /* size of table */
                     50:        natural_t iis_table_next;       /* next possible size of table */
                     51:        natural_t iis_tree_size;        /* size of tree */
                     52:        natural_t iis_tree_small;       /* # of small entries in tree */
                     53:        natural_t iis_tree_hash;        /* # of hashed entries in tree */
                     54: } ipc_info_space_t;
                     55: 
                     56: 
                     57: typedef struct ipc_info_name {
                     58:        mach_port_t iin_name;           /* port name, including gen number */
                     59: /*boolean_t*/integer_t iin_collision;  /* collision at this entry? */
                     60: /*boolean_t*/integer_t iin_compat;     /* is this a compat-mode entry? */
                     61: /*boolean_t*/integer_t iin_marequest;  /* extant msg-accepted request? */
                     62:        mach_port_type_t iin_type;      /* straight port type */
                     63:        mach_port_urefs_t iin_urefs;    /* user-references */
                     64:        vm_offset_t iin_object;         /* object pointer */
                     65:        natural_t iin_next;             /* marequest/next in free list */
                     66:        natural_t iin_hash;             /* hash index */
                     67: } ipc_info_name_t;
                     68: 
                     69: typedef ipc_info_name_t *ipc_info_name_array_t;
                     70: 
                     71: 
                     72: typedef struct ipc_info_tree_name {
                     73:        ipc_info_name_t iitn_name;
                     74:        mach_port_t iitn_lchild;        /* name of left child */
                     75:        mach_port_t iitn_rchild;        /* name of right child */
                     76: } ipc_info_tree_name_t;
                     77: 
                     78: typedef ipc_info_tree_name_t *ipc_info_tree_name_array_t;
                     79: 
                     80: /*
                     81:  *     Type definitions for mach_port_kernel_object.
                     82:  *     By remarkable coincidence, these closely resemble
                     83:  *     the IKOT_* definitions in ipc/ipc_kobject.h.
                     84:  */
                     85: 
                     86: #define        IPC_INFO_TYPE_NONE              0
                     87: #define IPC_INFO_TYPE_THREAD           1
                     88: #define        IPC_INFO_TYPE_TASK              2
                     89: #define        IPC_INFO_TYPE_HOST              3
                     90: #define        IPC_INFO_TYPE_HOST_PRIV         4
                     91: #define        IPC_INFO_TYPE_PROCESSOR         5
                     92: #define        IPC_INFO_TYPE_PSET              6
                     93: #define        IPC_INFO_TYPE_PSET_NAME         7
                     94: #define        IPC_INFO_TYPE_PAGER             8
                     95: #define        IPC_INFO_TYPE_PAGING_REQUEST    9
                     96: #define        IPC_INFO_TYPE_DEVICE            10
                     97: #define        IPC_INFO_TYPE_XMM_PAGER         11
                     98: #define IPC_INFO_TYPE_PAGING_NAME      12
                     99: 
                    100: #endif /* _MACH_DEBUG_IPC_INFO_H_ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.