-#define IPC_PORT_NULL ((ipc_port_t) 0)
-#define IPC_PORT_DEAD ((ipc_port_t)~0)
-#define IPC_PORT_VALID(port) (((port) != IPC_PORT_NULL) && \
- ((port) != IPC_PORT_DEAD))
+#define IPC_PORT_NULL ((ipc_port_t) 0)
+#define IPC_PORT_DEAD ((ipc_port_t)~0)
+#define IPC_PORT_VALID(port) \
+ ((port) != IPC_PORT_NULL && (port) != IPC_PORT_DEAD)
+
+typedef ipc_port_t mach_port_t;
+
+#else /* KERNEL_PRIVATE */
+
+/*
+ * mach_port_t - a named port right
+ *
+ * In user-space, "rights" are represented by the name of the
+ * right in the Mach port namespace. Even so, this type is
+ * presented as a unique one to more clearly denote the presence
+ * of a right coming along with the name.
+ *
+ * Often, various rights for a port held in a single name space
+ * will coalesce and are, therefore, be identified by a single name
+ * [this is the case for send and receive rights]. But not
+ * always [send-once rights currently get a unique name for
+ * each right].
+ *
+ */