summaryrefslogtreecommitdiff
path: root/hurd
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-04-09 16:53:16 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-04-09 18:31:38 +0200
commitddddd501fedda7f0462702717e634f7be107bd32 (patch)
tree2e73da69cbfb69726d37844f88d02685e41ba034 /hurd
parente9687ec4ff525ae4a88314ba4ae97da770bd012f (diff)
hurd: add a new type interrupt_t for the interrupt protocol
* hurd/hurd_types.defs (interrupt_t): New type. * hurd/hurd_types.h (interrupt_t): Likewise. * hurd/interrupt.defs (interrupt_operation): Use the new type.
Diffstat (limited to 'hurd')
-rw-r--r--hurd/hurd_types.defs12
-rw-r--r--hurd/hurd_types.h1
-rw-r--r--hurd/interrupt.defs6
3 files changed, 18 insertions, 1 deletions
diff --git a/hurd/hurd_types.defs b/hurd/hurd_types.defs
index 6060fa47..129a68cf 100644
--- a/hurd/hurd_types.defs
+++ b/hurd/hurd_types.defs
@@ -168,6 +168,18 @@ destructor: EXEC_STARTUP_DESTRUCTOR
#endif
;
+type interrupt_t = mach_port_copy_send_t
+#ifdef INTERRUPT_INTRAN
+intran: INTERRUPT_INTRAN
+#endif
+#ifdef INTERRUPT_OUTTRAN
+outtran: INTERRUPT_OUTTRAN
+#endif
+#ifdef INTERRUPT_DESTRUCTOR
+destructor: INTERRUPT_DESTRUCTOR
+#endif
+;
+
type proccoll_t = mach_port_copy_send_t;
diff --git a/hurd/hurd_types.h b/hurd/hurd_types.h
index d569454a..8eac2060 100644
--- a/hurd/hurd_types.h
+++ b/hurd/hurd_types.h
@@ -47,6 +47,7 @@ typedef mach_port_t addr_port_t;
typedef mach_port_t startup_t;
typedef mach_port_t fs_notify_t;
typedef mach_port_t exec_startup_t;
+typedef mach_port_t interrupt_t;
typedef mach_port_t proccoll_t;
#include <errno.h> /* Defines `error_t'. */
diff --git a/hurd/interrupt.defs b/hurd/interrupt.defs
index cc3ad1ea..9981aed1 100644
--- a/hurd/interrupt.defs
+++ b/hurd/interrupt.defs
@@ -23,10 +23,14 @@ subsystem interrupt 33000;
#include <hurd/hurd_types.defs>
+#ifdef INTERRUPT_IMPORTS
+INTERRUPT_IMPORTS
+#endif
+
/* Cause a pending request on this object to immediately return. The
exact semantics are dependent on the specific object. */
routine
-interrupt_operation (object: mach_port_t;
+interrupt_operation (object: interrupt_t;
waittime timeout: natural_t;
msgseqno seqno: mach_port_seqno_t);