1 /* @(#)rpc_parse.h 1.3 87/03/09 (C) 1987 SMI */
3 * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
4 * unrestricted use provided that this legend is included on all tape
5 * media and as a part of the software program in whole or part. Users
6 * may copy or modify Sun RPC without charge, but are not authorized
7 * to license or distribute it to anyone else except as part of a product or
8 * program developed by the user.
10 * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
11 * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
12 * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
14 * Sun RPC is provided with no support and without any obligation on the
15 * part of Sun Microsystems, Inc. to assist in its use, correction,
16 * modification or enhancement.
18 * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
19 * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
20 * OR ANY PART THEREOF.
22 * In no event will Sun Microsystems, Inc. be liable for any lost revenue
23 * or profits or other special, indirect and consequential damages, even if
24 * Sun has been advised of the possibility of such damages.
26 * Sun Microsystems, Inc.
28 * Mountain View, California 94043
32 * rpc_parse.h, Definitions for the RPCL parser
33 * Copyright (C) 1987, Sun Microsystems, Inc.
55 typedef enum defkind defkind
;
57 typedef char *const_def
;
60 REL_VECTOR
, /* fixed length array */
61 REL_ARRAY
, /* variable length array */
62 REL_POINTER
, /* pointer */
63 REL_ALIAS
/* simple */
65 typedef enum relation relation
;
73 typedef struct typedef_def typedef_def
;
79 struct enumval_list
*next
;
81 typedef struct enumval_list enumval_list
;
86 typedef struct enum_def enum_def
;
96 typedef struct declaration declaration
;
101 struct decl_list
*next
;
103 typedef struct decl_list decl_list
;
108 typedef struct struct_def struct_def
;
113 declaration case_decl
;
114 struct case_list
*next
;
116 typedef struct case_list case_list
;
119 declaration enum_decl
;
121 declaration
*default_decl
;
123 typedef struct union_def union_def
;
130 #define INDIRECT_PARAM 1
131 #define PROCESSED_PARAM 2
132 #define ARRAYNAME_PARAM 4
133 #define ARRAYSIZE_PARAM 8
134 #define FREETHIS_PARAM 16
135 #define OUT_STRING 32
138 typedef struct param_list param_list
;
141 defkind component_kind
;
144 struct proc1_list
*next
;
146 typedef struct proc1_list proc1_list
;
148 struct procedure_def
{
151 char *proc_opcodename
;
153 char *proc_serverstub
;
166 typedef struct procedure_def procedure_def
;
172 typedef struct special_def special_def
;
176 struct spec_list
*next
;
178 typedef struct spec_list spec_list
;
183 typedef struct spec_def spec_def
;
200 typedef struct definition definition
;