home *** CD-ROM | disk | FTP | other *** search
- /*
- * Mach Operating System
- * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University
- * All Rights Reserved.
- *
- * Permission to use, copy, modify and distribute this software and its
- * documentation is hereby granted, provided that both the copyright
- * notice and this permission notice appear in all copies of the
- * software, derivative works or modified versions, and any portions
- * thereof, and that both notices appear in supporting documentation.
- *
- * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
- * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
- * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- *
- * Carnegie Mellon requests users of this software to return to
- *
- * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
- * School of Computer Science
- * Carnegie Mellon University
- * Pittsburgh PA 15213-3890
- *
- * any improvements or extensions that they make and grant Carnegie Mellon
- * the rights to redistribute these changes.
- */
- /*
- * HISTORY
- * $Log: std_types.defs,v $
- * Revision 2.8 93/01/14 17:46:49 danner
- * 64bit cleanup. All types based on natural_t/integer_t.
- * Define and use int32 when we can possibly take a smaller type,
- * and hint on its minimal size.
- * [92/12/01 af]
- *
- * Revision 2.7 92/01/15 13:45:09 rpd
- * Changed MACH_IPC_COMPAT conditionals to default to not present.
- *
- * Revision 2.6 92/01/14 16:45:33 rpd
- * Changed pointer_t to ctype vm_offset_t.
- * Changed mach_port_array_t, mach_port_name_array_t,
- * mach_port_type_array_t to indefinite arrays.
- * [92/01/13 rpd]
- *
- * Revision 2.5 91/08/28 11:15:41 jsb
- * Added mach_port_seqno_t.
- * [91/08/09 rpd]
- *
- * Revision 2.4 91/05/14 16:58:53 mrt
- * Correcting copyright
- *
- * Revision 2.3 91/02/05 17:35:36 mrt
- * Changed to new Mach copyright
- * [91/02/01 17:20:49 mrt]
- *
- * Revision 2.2 90/06/02 14:59:53 rpd
- * Converted to new IPC.
- * [90/03/26 22:38:56 rpd]
- *
- * Revision 2.1 89/08/03 17:18:38 rwd
- * Created.
- *
- * Revision 2.3 89/02/25 18:40:18 gm0w
- * Changes for cleanup.
- *
- * Revision 2.2 89/01/15 16:31:41 rpd
- * Moved from kern/ to mach/.
- * [89/01/15 14:33:24 rpd]
- *
- * Revision 2.2 89/01/12 07:58:48 rpd
- * Created.
- * [89/01/12 04:15:04 rpd]
- *
- */
- /*
- * Mach kernel standard interface type declarations
- */
-
- #ifndef _MACH_STD_TYPES_DEFS_
- #define _MACH_STD_TYPES_DEFS_
-
- #ifdef NEW_MACH_IPC
-
- type char = MACH_MSG_TYPE_CHAR;
- type short = MACH_MSG_TYPE_INTEGER_16;
- type int = MACH_MSG_TYPE_INTEGER_32;
- type int32 = MACH_MSG_TYPE_INTEGER_32;
- type int64 = MACH_MSG_TYPE_INTEGER_64;
- type boolean_t = MACH_MSG_TYPE_BOOLEAN;
- type unsigned = MACH_MSG_TYPE_INTEGER_32;
- type unsigned32 = MACH_MSG_TYPE_INTEGER_32;
- type unsigned64 = MACH_MSG_TYPE_INTEGER_64;
-
- /* Get the definitions for natural_t and integer_t */
- #include <mach/machine/machine_types.defs>
-
- type kern_return_t = int;
-
- type pointer_t = ^array[] of MACH_MSG_TYPE_BYTE
- ctype: vm_offset_t;
-
-
- type mach_port_t = MACH_MSG_TYPE_COPY_SEND;
- type mach_port_array_t = array[] of mach_port_t;
-
- type mach_port_name_t = MACH_MSG_TYPE_PORT_NAME
- ctype: mach_port_t;
- type mach_port_name_array_t = array[] of mach_port_name_t
- ctype: mach_port_array_t;
-
- type mach_port_right_t = natural_t;
-
- type mach_port_type_t = natural_t;
- type mach_port_type_array_t = array[] of mach_port_type_t;
-
- type mach_port_urefs_t = natural_t;
- type mach_port_delta_t = integer_t;
- type mach_port_seqno_t = natural_t;
- type mach_port_mscount_t = unsigned;
- type mach_port_msgcount_t = unsigned;
- type mach_port_rights_t = unsigned;
- type mach_msg_id_t = integer_t;
- type mach_msg_type_name_t = unsigned;
- type mach_msg_type_number_t = natural_t;
-
- type mach_port_move_receive_t = MACH_MSG_TYPE_MOVE_RECEIVE
- ctype: mach_port_t;
- type mach_port_copy_send_t = MACH_MSG_TYPE_COPY_SEND
- ctype: mach_port_t;
- type mach_port_make_send_t = MACH_MSG_TYPE_MAKE_SEND
- ctype: mach_port_t;
- type mach_port_move_send_t = MACH_MSG_TYPE_MOVE_SEND
- ctype: mach_port_t;
- type mach_port_make_send_once_t = MACH_MSG_TYPE_MAKE_SEND_ONCE
- ctype: mach_port_t;
- type mach_port_move_send_once_t = MACH_MSG_TYPE_MOVE_SEND_ONCE
- ctype: mach_port_t;
-
- type mach_port_receive_t = MACH_MSG_TYPE_PORT_RECEIVE
- ctype: mach_port_t;
- type mach_port_send_t = MACH_MSG_TYPE_PORT_SEND
- ctype: mach_port_t;
- type mach_port_send_once_t = MACH_MSG_TYPE_PORT_SEND_ONCE
- ctype: mach_port_t;
-
- type mach_port_poly_t = polymorphic
- ctype: mach_port_t;
-
-
- /* Definitions for the old IPC interface. */
-
- type port_name_t = MSG_TYPE_PORT_NAME
- ctype: mach_port_t;
- type port_name_array_t = ^array[] of port_name_t
- ctype: mach_port_array_t;
- type port_type_t = int
- ctype: mach_port_type_t;
- type port_type_array_t = ^array[] of port_type_t
- ctype: mach_port_type_array_t;
- type port_set_name_t = port_name_t
- ctype: mach_port_t;
-
- type port_t = MACH_MSG_TYPE_COPY_SEND
- ctype: mach_port_t;
- type port_all_t = MACH_MSG_TYPE_MOVE_RECEIVE
- ctype: mach_port_t;
- type port_rcv_t = MACH_MSG_TYPE_MOVE_RECEIVE
- ctype: mach_port_t;
- type port_array_t = ^array[] of port_t
- ctype: mach_port_array_t;
-
- #else /* NEW_MACH_IPC */
-
- type char = MSG_TYPE_CHAR;
- type short = MSG_TYPE_INTEGER_16;
- type int = MSG_TYPE_INTEGER_32;
- type boolean_t = MSG_TYPE_BOOLEAN;
-
- type kern_return_t = int;
-
- /* Until MIG & netmsgserver are updated, use integer type */
- #define MSG_TYPE_PORT_NAME MSG_TYPE_INTEGER_32
-
- type port_name_t = MSG_TYPE_PORT_NAME;
- type port_name_array_t = ^array[] of port_name_t;
- type port_type_t = int;
- type port_type_array_t = ^array[] of port_type_t;
- type port_set_name_t = port_name_t;
-
- type port_t = MSG_TYPE_PORT;
- type port_all_t = MSG_TYPE_PORT_ALL;
- type port_array_t = ^array[] of port_t;
-
- type pointer_t = ^array [] of MSG_TYPE_BYTE;
-
- #endif /* NEW_MACH_IPC */
-
- import <mach/std_types.h>;
-
- #endif _MACH_STD_TYPES_DEFS_
-