home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Headers / mach / mach_types.h < prev    next >
Text File  |  1997-04-27  |  6KB  |  202 lines

  1. /* 
  2.  * Mach Operating System
  3.  * Copyright (c) 1992,1991,1990,1989,1988 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  Software.Distribution@CS.CMU.EDU
  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.  * HISTORY
  28.  * $Log:    mach_types.h,v $
  29.  * Revision 2.11  93/01/24  13:20:48  danner
  30.  *     Include the pc_sample.h definition for everyone.  The 
  31.  *     sample_control structure is included in task.h and thread.h.
  32.  *     [93/01/12            rvb]
  33.  * 
  34.  * Revision 2.10  93/01/14  17:44:36  danner
  35.  *     Moved definition of vm_address_t to std_types.h.
  36.  *     [92/12/14            pds]
  37.  *     Cleanup.
  38.  *     [92/06/10            pds]
  39.  * 
  40.  * Revision 2.9  92/03/10  16:27:03  jsb
  41.  *     NORMA_VM: define mach_xmm_obj_t and xmm_kobj_lookup().
  42.  *     [92/02/10  08:47:29  jsb]
  43.  * 
  44.  * Revision 2.8  91/06/25  10:30:20  rpd
  45.  *     Added KERNEL-compilation includes for *_array_t types.
  46.  *     [91/05/23            rpd]
  47.  * 
  48.  * Revision 2.7  91/06/06  17:08:07  jsb
  49.  *     Added emulation_vector_t for new get/set emulation vector calls.
  50.  *     [91/05/24  17:46:31  jsb]
  51.  * 
  52.  * Revision 2.6  91/05/14  16:55:17  mrt
  53.  *     Correcting copyright
  54.  * 
  55.  * Revision 2.5  91/02/05  17:33:43  mrt
  56.  *     Changed to new Mach copyright
  57.  *     [91/02/01  17:18:38  mrt]
  58.  * 
  59.  * Revision 2.4  90/08/07  18:00:30  rpd
  60.  *     Added processor_set_name_array_t.
  61.  *     Removed vm_region_t, vm_region_array_t.
  62.  *     [90/08/07            rpd]
  63.  * 
  64.  * Revision 2.3  90/06/02  14:58:42  rpd
  65.  *     Converted to new IPC.
  66.  *     [90/03/26  22:33:59  rpd]
  67.  * 
  68.  * Revision 2.2  90/01/22  23:05:48  af
  69.  *     Added inclusion of vm_attributes.
  70.  *     [89/12/09            af]
  71.  * 
  72.  *     Moved KERNEL type definitions into kern/mach_types_kernel.h, so
  73.  *     that changing them will not affect user programs.
  74.  *     [89/04/06            dbg]
  75.  * 
  76.  *     Removed io_buf_t, io_buf_ptr_t in favor of device interface.
  77.  *     Removed include of ipc_netport.h.  Removed vm_page_data_t
  78.  *     (obsolete).
  79.  *     [89/01/14            dbg]
  80.  * 
  81.  * Revision 2.1  89/08/03  16:02:27  rwd
  82.  * Created.
  83.  * 
  84.  * Revision 2.3  89/02/25  18:38:04  gm0w
  85.  *     Changes for cleanup.
  86.  * 
  87.  * Revision 2.2  89/01/15  16:30:50  rpd
  88.  *     Moved from kern/ to mach/.
  89.  *     [89/01/15  14:35:53  rpd]
  90.  * 
  91.  * Revision 2.10  89/01/12  11:15:18  rpd
  92.  *     Removed pointer_t declaration; it belongs in std_types.h.
  93.  * 
  94.  * Revision 2.9  89/01/12  07:57:53  rpd
  95.  *     Moved basic stuff to std_types.h.  Removed debugging definitions.
  96.  *     Moved io_buf definitions to device_types.h.
  97.  *     [89/01/12  04:51:54  rpd]
  98.  * 
  99.  * Revision 2.8  89/01/04  13:37:34  rpd
  100.  *     Include <kern/fpa_counters.h>, for fpa_counters_t.
  101.  *     [89/01/01  15:03:52  rpd]
  102.  * 
  103.  * Revision 2.7  88/09/25  22:15:28  rpd
  104.  *     Changed sys/callout.h to kern/callout_statistics.h.
  105.  *     [88/09/09  14:00:19  rpd]
  106.  *     
  107.  *     Changed includes to the new style.
  108.  *     Added include of sys/callout.h.
  109.  *     [88/09/09  04:47:42  rpd]
  110.  * 
  111.  * Revision 2.6  88/08/06  18:22:34  rpd
  112.  * Changed sys/mach_ipc_netport.h to kern/ipc_netport.h.
  113.  * 
  114.  * Revision 2.5  88/07/21  00:36:06  rpd
  115.  * Added include of ipc_statistics.h.
  116.  * 
  117.  * Revision 2.4  88/07/17  19:33:20  mwyoung
  118.  * *** empty log message ***
  119.  * 
  120.  * 29-Jun-88  Michael Young (mwyoung) at Carnegie-Mellon University
  121.  *    Use new <mach/memory_object.h>.
  122.  *
  123.  *  9-Apr-88  Daniel Julin (dpj) at Carnegie-Mellon University
  124.  *    Changed mach_ipc_vmtp.h to mach_ipc_netport.h.
  125.  *
  126.  *  1-Mar-88  Mary Thompson (mrt) at Carnegie Mellon
  127.  *    Added a conditional on _MACH_INIT_ before the include
  128.  *    of mach_init.h so that the kernel make of mach_user_internal
  129.  *    would not include mach_init.h
  130.  *
  131.  * 18-Jan-88  David Golub (dbg) at Carnegie-Mellon University
  132.  *    Added includes of task_info, thread_info, task_special_ports,
  133.  *    thread_special_ports for new interfaces.
  134.  *
  135.  * 12-Dec-87  Michael Young (mwyoung) at Carnegie-Mellon University
  136.  *    Reduced old history.
  137.  */
  138. /*
  139.  *    File:    mach/mach_types.h
  140.  *    Author:    Avadis Tevanian, Jr., Michael Wayne Young
  141.  *    Date:    1986
  142.  *
  143.  *    Mach external interface definitions.
  144.  *
  145.  */
  146.  
  147. #ifndef    _MACH_MACH_TYPES_H_
  148. #define _MACH_MACH_TYPES_H_
  149.  
  150. #import <mach/host_info.h>
  151. #import <mach/machine.h>
  152. #import <mach/machine/vm_types.h>
  153. #import <mach/memory_object.h>
  154. #import <mach/port.h>
  155. #import <mach/processor_info.h>
  156. #import <mach/task_info.h>
  157. #import <mach/task_special_ports.h>
  158. #import <mach/thread_info.h>
  159. #import <mach/thread_special_ports.h>
  160. #import <mach/thread_status.h>
  161. #import <mach/time_value.h>
  162. #import <mach/vm_attributes.h>
  163. #import <mach/vm_inherit.h>
  164. #import <mach/vm_prot.h>
  165. #import <mach/vm_statistics.h>
  166.  
  167. typedef    mach_port_t    task_t;
  168. typedef task_t        *task_array_t;
  169. typedef    task_t        vm_task_t;
  170. typedef task_t        ipc_space_t;
  171. typedef    mach_port_t    thread_t;
  172. typedef    thread_t    *thread_array_t;
  173. typedef mach_port_t    host_t;
  174. typedef mach_port_t    host_priv_t;
  175. typedef mach_port_t    processor_t;
  176. typedef mach_port_t    *processor_array_t;
  177. typedef mach_port_t    processor_set_t;
  178. typedef mach_port_t    processor_set_name_t;
  179. typedef mach_port_t    *processor_set_array_t;
  180. typedef mach_port_t    *processor_set_name_array_t;
  181. /*
  182.  * Define NULL types here.
  183.  */
  184. #define    HOST_NULL        (host_t)0
  185. #define    PROCESSOR_SET_NULL    (processor_set_t)0
  186. #define    PROCESSOR_NULL        (processor_t)0
  187. #define    TASK_NULL        (task_t)0
  188. #define    THREAD_NULL        (thread_t)0
  189.  
  190. /*
  191.  *    Backwards compatibility, for those programs written
  192.  *    before mach/{std,mach}_types.{defs,h} were set up.
  193.  */
  194. #import <mach/std_types.h>
  195.  
  196. typedef    unsigned int    vm_region_t;
  197. typedef    vm_region_t    *vm_region_array_t;
  198.  
  199. typedef    char        vm_page_data_t[4096];
  200.  
  201. #endif    _MACH_MACH_TYPES_H_
  202.