summaryrefslogtreecommitdiff
path: root/routine.h
diff options
context:
space:
mode:
authorFlavio Cruz <flaviocruz@gmail.com>2016-03-15 05:31:41 -0400
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-03-20 00:21:02 +0100
commit7f10b4ed6a557b7a1fd1083939156a3dcf8b377e (patch)
tree9067ea000d67fd1622c1ef6160205b7154e9260d /routine.h
parent90963b533e0e8c1dccfcf79afe55d6b0a9c55d79 (diff)
Remove functions, procedures and simple procedures.
This has been tested by cross-compiling a base Hurd system to make sure these kinds of routines are no longer used. * lexxer.l: Remove tokens. * parser.y: Remove token types and production rules. * routine.c: Remove rtMakeProcedure, rtMakeSimpleProcedure, rtMakeFunction. * routine.h: Remove enum values rkSimpleProcedure, rkProcedure, rkFunction. Remove dead fields from struct routine. * user.c: Simplify and remove dead code.
Diffstat (limited to 'routine.h')
-rw-r--r--routine.h22
1 files changed, 4 insertions, 18 deletions
diff --git a/routine.h b/routine.h
index f80a174..2b79b27 100644
--- a/routine.h
+++ b/routine.h
@@ -264,7 +264,6 @@ typedef u_int arg_kind_t;
typedef struct argument
{
- /* if argKind == akReturn, then argName is name of the function */
identifier_t argName;
struct argument *argNext;
@@ -305,18 +304,14 @@ typedef struct argument
/*
* The various routine kinds' peculiarities are abstracted by rtCheckRoutine
- * into attributes like rtOneWay, rtProcedure, etc. These are what
- * code generation should use. It is Bad Form for code generation to
- * test rtKind.
+ * into attributes like rtOneWay, etc. These are what code generation should
+ * use. It is bad Form for code generation to test rtKind.
*/
typedef enum
{
rkRoutine,
rkSimpleRoutine,
- rkSimpleProcedure,
- rkProcedure,
- rkFunction,
} routine_kind_t;
typedef struct routine
@@ -329,12 +324,7 @@ typedef struct routine
identifier_t rtUserName; /* user-visible name (UserPrefix + Name) */
identifier_t rtServerName; /* server-side name (ServerPrefix + Name) */
- /* rtErrorName is only used for Procs, SimpleProcs, & Functions */
- identifier_t rtErrorName; /* error-handler name */
-
- boolean_t rtOneWay; /* SimpleProcedure or SimpleRoutine */
- boolean_t rtProcedure; /* Procedure or SimpleProcedure */
- boolean_t rtUseError; /* Procedure or Function */
+ boolean_t rtOneWay; /* TRUE for SimpleRoutine */
boolean_t rtSimpleFixedRequest; /* fixed msg-simple value in request */
boolean_t rtSimpleSendRequest; /* in any case, initial value */
@@ -362,7 +352,7 @@ typedef struct routine
argument_t *rtRequestPort; /* always non-NULL, defaults to first arg */
argument_t *rtUReplyPort; /* always non-NULL, defaults to Mig-supplied */
argument_t *rtSReplyPort; /* always non-NULL, defaults to Mig-supplied */
- argument_t *rtReturn; /* non-NULL unless rtProcedure */
+ argument_t *rtReturn; /* non-NULL */
argument_t *rtServerReturn; /* NULL or rtReturn */
argument_t *rtRetCode; /* always non-NULL */
argument_t *rtWaitTime; /* if non-NULL, will use MACH_RCV_TIMEOUT */
@@ -388,10 +378,6 @@ extern boolean_t rtCheckMaskFunction(const argument_t *args, u_int mask,
extern routine_t *rtMakeRoutine(identifier_t name, argument_t *args);
extern routine_t *rtMakeSimpleRoutine(identifier_t name, argument_t *args);
-extern routine_t *rtMakeProcedure(identifier_t name, argument_t *args);
-extern routine_t *rtMakeSimpleProcedure(identifier_t name, argument_t *args);
-extern routine_t *rtMakeFunction(identifier_t name, argument_t *args,
- ipc_type_t *type);
extern void rtPrintRoutine(const routine_t *rt);
extern void rtCheckRoutine(routine_t *rt);