summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1994-07-08 19:34:42 +0000
committerRoland McGrath <roland@gnu.org>1994-07-08 19:34:42 +0000
commit844579f8e077a536b87afe49bd7708100a120b69 (patch)
treeddaf530319a57129c57b47de53156669e718ce2f
parent11213c159d1e1d746dc870b9f6e312e2a27c21bd (diff)
Formerly hurd_types.defs.~51~
-rw-r--r--hurd/hurd_types.defs21
1 files changed, 21 insertions, 0 deletions
diff --git a/hurd/hurd_types.defs b/hurd/hurd_types.defs
index 06dc265c..3a1d3c68 100644
--- a/hurd/hurd_types.defs
+++ b/hurd/hurd_types.defs
@@ -155,6 +155,27 @@ userprefix USERPREFIX;
serverprefix SERVERPREFIX;
#endif
+/* All RPCs which can be interrupted by `interrupt_operation'
+ should be defined with this macro:
+ INTR_ROUTINE (protocol_operation, (object: protocol_t; ...))
+ */
+#define INTR_ROUTINE(name, args) \
+ BEFORE_INTR_RPC \
+ routine INTR_RPC_PREFIX##name##INTR_RPC_SUFFIX args; \
+ AFTER_INTR_RPC
+#ifndef BEFORE_INTR_RPC
+#define BEFORE_INTR_RPC /* Usually empty. */
+#endif
+#ifndef AFTER_INTR_RPC
+#define AFTER_INTR_RPC /* Usually empty. */
+#endif
+#ifndef INTR_RPC_PREFIX
+#define INTR_RPC_PREFIX /* Usually empty. */
+#endif
+#ifndef INTR_RPC_SUFFIX
+#define INTR_RPC_SUFFIX /* Usually empty. */
+#endif
+
type data_t = array[] of char;
type string_t = c_string[1024]; /* XXX */
type io_statbuf_t = struct[32] of int;