diff options
author | Roland McGrath <roland@gnu.org> | 1994-07-08 19:34:42 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1994-07-08 19:34:42 +0000 |
commit | 844579f8e077a536b87afe49bd7708100a120b69 (patch) | |
tree | ddaf530319a57129c57b47de53156669e718ce2f | |
parent | 11213c159d1e1d746dc870b9f6e312e2a27c21bd (diff) |
Formerly hurd_types.defs.~51~
-rw-r--r-- | hurd/hurd_types.defs | 21 |
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; |