home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Headers / mach / std_types.defs < prev    next >
Text File  |  1994-05-16  |  6KB  |  200 lines

  1. /* 
  2.  * Mach Operating System
  3.  * Copyright (c) 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:    std_types.defs,v $
  29.  * Revision 2.8  93/01/14  17:46:49  danner
  30.  *     64bit cleanup.  All types based on natural_t/integer_t.
  31.  *     Define and use int32 when we can possibly take a smaller type,
  32.  *     and hint on its minimal size.
  33.  *     [92/12/01            af]
  34.  * 
  35.  * Revision 2.7  92/01/15  13:45:09  rpd
  36.  *     Changed MACH_IPC_COMPAT conditionals to default to not present.
  37.  * 
  38.  * Revision 2.6  92/01/14  16:45:33  rpd
  39.  *     Changed pointer_t to ctype vm_offset_t.
  40.  *     Changed mach_port_array_t, mach_port_name_array_t,
  41.  *     mach_port_type_array_t to indefinite arrays.
  42.  *     [92/01/13            rpd]
  43.  * 
  44.  * Revision 2.5  91/08/28  11:15:41  jsb
  45.  *     Added mach_port_seqno_t.
  46.  *     [91/08/09            rpd]
  47.  * 
  48.  * Revision 2.4  91/05/14  16:58:53  mrt
  49.  *     Correcting copyright
  50.  * 
  51.  * Revision 2.3  91/02/05  17:35:36  mrt
  52.  *     Changed to new Mach copyright
  53.  *     [91/02/01  17:20:49  mrt]
  54.  * 
  55.  * Revision 2.2  90/06/02  14:59:53  rpd
  56.  *     Converted to new IPC.
  57.  *     [90/03/26  22:38:56  rpd]
  58.  * 
  59.  * Revision 2.1  89/08/03  17:18:38  rwd
  60.  * Created.
  61.  * 
  62.  * Revision 2.3  89/02/25  18:40:18  gm0w
  63.  *     Changes for cleanup.
  64.  * 
  65.  * Revision 2.2  89/01/15  16:31:41  rpd
  66.  *     Moved from kern/ to mach/.
  67.  *     [89/01/15  14:33:24  rpd]
  68.  * 
  69.  * Revision 2.2  89/01/12  07:58:48  rpd
  70.  *     Created.
  71.  *     [89/01/12  04:15:04  rpd]
  72.  * 
  73.  */
  74. /*
  75.  *    Mach kernel standard interface type declarations
  76.  */
  77.  
  78. #ifndef    _MACH_STD_TYPES_DEFS_
  79. #define _MACH_STD_TYPES_DEFS_
  80.  
  81. #ifdef    NEW_MACH_IPC
  82.  
  83. type char = MACH_MSG_TYPE_CHAR;
  84. type short = MACH_MSG_TYPE_INTEGER_16;
  85. type int = MACH_MSG_TYPE_INTEGER_32;
  86. type int32 = MACH_MSG_TYPE_INTEGER_32;
  87. type int64 = MACH_MSG_TYPE_INTEGER_64;
  88. type boolean_t = MACH_MSG_TYPE_BOOLEAN;
  89. type unsigned = MACH_MSG_TYPE_INTEGER_32;
  90. type unsigned32 = MACH_MSG_TYPE_INTEGER_32;
  91. type unsigned64 = MACH_MSG_TYPE_INTEGER_64;
  92.  
  93. /* Get the definitions for natural_t and integer_t */
  94. #include <mach/machine/machine_types.defs>
  95.  
  96. type kern_return_t = int;
  97.  
  98. type pointer_t = ^array[] of MACH_MSG_TYPE_BYTE
  99.     ctype: vm_offset_t;
  100.  
  101.  
  102. type mach_port_t = MACH_MSG_TYPE_COPY_SEND;
  103. type mach_port_array_t = array[] of mach_port_t;
  104.  
  105. type mach_port_name_t = MACH_MSG_TYPE_PORT_NAME
  106.     ctype: mach_port_t;
  107. type mach_port_name_array_t = array[] of mach_port_name_t
  108.     ctype: mach_port_array_t;
  109.  
  110. type mach_port_right_t = natural_t;
  111.  
  112. type mach_port_type_t = natural_t;
  113. type mach_port_type_array_t = array[] of mach_port_type_t;
  114.  
  115. type mach_port_urefs_t = natural_t;
  116. type mach_port_delta_t = integer_t;
  117. type mach_port_seqno_t = natural_t;
  118. type mach_port_mscount_t = unsigned;
  119. type mach_port_msgcount_t = unsigned;
  120. type mach_port_rights_t = unsigned;
  121. type mach_msg_id_t = integer_t;
  122. type mach_msg_type_name_t = unsigned;
  123. type mach_msg_type_number_t = natural_t;
  124.  
  125. type mach_port_move_receive_t =        MACH_MSG_TYPE_MOVE_RECEIVE
  126.     ctype: mach_port_t;
  127. type mach_port_copy_send_t =        MACH_MSG_TYPE_COPY_SEND
  128.     ctype: mach_port_t;
  129. type mach_port_make_send_t =        MACH_MSG_TYPE_MAKE_SEND
  130.     ctype: mach_port_t;
  131. type mach_port_move_send_t =        MACH_MSG_TYPE_MOVE_SEND
  132.     ctype: mach_port_t;
  133. type mach_port_make_send_once_t =    MACH_MSG_TYPE_MAKE_SEND_ONCE
  134.     ctype: mach_port_t;
  135. type mach_port_move_send_once_t =    MACH_MSG_TYPE_MOVE_SEND_ONCE
  136.     ctype: mach_port_t;
  137.  
  138. type mach_port_receive_t =        MACH_MSG_TYPE_PORT_RECEIVE
  139.     ctype: mach_port_t;
  140. type mach_port_send_t =            MACH_MSG_TYPE_PORT_SEND
  141.     ctype: mach_port_t;
  142. type mach_port_send_once_t =        MACH_MSG_TYPE_PORT_SEND_ONCE
  143.     ctype: mach_port_t;
  144.  
  145. type mach_port_poly_t = polymorphic
  146.     ctype: mach_port_t;
  147.  
  148.  
  149. /* Definitions for the old IPC interface. */
  150.  
  151. type port_name_t = MSG_TYPE_PORT_NAME
  152.     ctype: mach_port_t;
  153. type port_name_array_t = ^array[] of port_name_t
  154.     ctype: mach_port_array_t;
  155. type port_type_t = int
  156.     ctype: mach_port_type_t;
  157. type port_type_array_t = ^array[] of port_type_t
  158.     ctype: mach_port_type_array_t;
  159. type port_set_name_t = port_name_t
  160.     ctype: mach_port_t;
  161.  
  162. type port_t = MACH_MSG_TYPE_COPY_SEND
  163.     ctype: mach_port_t;
  164. type port_all_t = MACH_MSG_TYPE_MOVE_RECEIVE
  165.     ctype: mach_port_t;
  166. type port_rcv_t = MACH_MSG_TYPE_MOVE_RECEIVE
  167.     ctype: mach_port_t;
  168. type port_array_t = ^array[] of port_t
  169.     ctype: mach_port_array_t;
  170.     
  171. #else    /* NEW_MACH_IPC */
  172.  
  173. type char = MSG_TYPE_CHAR;
  174. type short = MSG_TYPE_INTEGER_16;
  175. type int = MSG_TYPE_INTEGER_32;
  176. type boolean_t = MSG_TYPE_BOOLEAN;
  177.  
  178. type kern_return_t = int;
  179.  
  180. /* Until MIG & netmsgserver are updated, use integer type */
  181. #define MSG_TYPE_PORT_NAME    MSG_TYPE_INTEGER_32
  182.  
  183. type port_name_t = MSG_TYPE_PORT_NAME;
  184. type port_name_array_t = ^array[] of port_name_t;
  185. type port_type_t = int;
  186. type port_type_array_t = ^array[] of port_type_t;
  187. type port_set_name_t = port_name_t;
  188.  
  189. type port_t = MSG_TYPE_PORT;
  190. type port_all_t = MSG_TYPE_PORT_ALL;
  191. type port_array_t = ^array[] of port_t;
  192.  
  193. type pointer_t = ^array [] of MSG_TYPE_BYTE;
  194.  
  195. #endif    /* NEW_MACH_IPC */
  196.  
  197. import <mach/std_types.h>;
  198.  
  199. #endif    _MACH_STD_TYPES_DEFS_
  200.