summaryrefslogtreecommitdiff
path: root/include/mach/flick_mach3.h
diff options
context:
space:
mode:
authorThomas Bushnell <thomas@gnu.org>1997-02-25 21:28:37 +0000
committerThomas Bushnell <thomas@gnu.org>1997-02-25 21:28:37 +0000
commitf07a4c844da9f0ecae5bbee1ab94be56505f26f7 (patch)
tree12b07c7e578fc1a5f53dbfde2632408491ff2a70 /include/mach/flick_mach3.h
Initial source
Diffstat (limited to 'include/mach/flick_mach3.h')
-rw-r--r--include/mach/flick_mach3.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/include/mach/flick_mach3.h b/include/mach/flick_mach3.h
new file mode 100644
index 0000000..7d7675d
--- /dev/null
+++ b/include/mach/flick_mach3.h
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 1995 The University of Utah and
+ * the Computer Systems Laboratory at the University of Utah (CSL).
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify and distribute this software is hereby
+ * granted provided that (1) source code retains these copyright, permission,
+ * and disclaimer notices, and (2) redistributions including binaries
+ * reproduce the notices in supporting documentation, and (3) all advertising
+ * materials mentioning features or use of this software display the following
+ * acknowledgement: ``This product includes software developed by the
+ * Computer Systems Laboratory at the University of Utah.''
+ *
+ * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
+ * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
+ * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * CSL requests users of this software to return to csl-dist@cs.utah.edu any
+ * improvements that they make and grant CSL redistribution rights.
+ *
+ * Author: Bryan Ford, University of Utah CSL
+ */
+/*
+ * Glue for the Flick's Mach 3 backend. (Flick := Flexible IDL Compiler Kit.)
+ * This file is included from every header file generated by that backend.
+ * It provides standard MOM types and routines.
+ */
+#ifndef _MACH_FLICK_MACH3MIG_H_
+#define _MACH_FLICK_MACH3MIG_H_
+
+#include <mach/boolean.h>
+#include <mach/port.h>
+#include <mach/message.h>
+
+typedef char mom_char8_t;
+typedef unsigned8_t mom_unsigned8_t;
+typedef unsigned16_t mom_unsigned16_t;
+typedef unsigned32_t mom_unsigned32_t;
+typedef signed8_t mom_signed8_t;
+typedef signed16_t mom_signed16_t;
+typedef signed32_t mom_signed32_t;
+
+typedef int mom_key_t;
+
+struct mom_ref
+{
+ mom_refcount_t count;
+ mach_port_t port;
+
+ /* Chain on hash mom_ref hash table,
+ for canonicalization. */
+ struct mom_ref *hash_next;
+
+ /* Array of associations for this reference. */
+ int assoc_count;
+ void *assoc[0];
+};
+typedef struct mom_ref *mom_ref_t;
+
+struct mom_obj
+{
+ void *handle;
+
+ int port_count;
+ mach_port_t port[0];
+};
+typedef struct mom_obj *mom_obj_t;
+
+#define MOM__LABEL_BITS 8
+#define MOM__MAX_LABELS (1 << MOM__LABEL_BITS)
+
+#define mom_get_label_bits() MOM__LABEL_BITS
+
+
+#endif /* _MACH_FLICK_MACH3MIG_H_ */