2 * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
3 * unrestricted use provided that this legend is included on all tape
4 * media and as a part of the software program in whole or part. Users
5 * may copy or modify Sun RPC without charge, but are not authorized
6 * to license or distribute it to anyone else except as part of a product or
7 * program developed by the user or with the express written consent of
8 * Sun Microsystems, Inc.
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
31 /* @(#)rpc_parse.h 1.3 90/08/29 (C) 1987 SMI */
34 * rpc_parse.h, Definitions for the RPCL parser
45 typedef enum defkind defkind
;
47 typedef const char *const_def
;
50 REL_VECTOR
, /* fixed length array */
51 REL_ARRAY
, /* variable length array */
52 REL_POINTER
, /* pointer */
53 REL_ALIAS
/* simple */
55 typedef enum relation relation
;
58 const char *old_prefix
;
61 const char *array_max
;
63 typedef struct typedef_def typedef_def
;
67 const char *assignment
;
68 struct enumval_list
*next
;
70 typedef struct enumval_list enumval_list
;
75 typedef struct enum_def enum_def
;
82 const char *array_max
;
84 typedef struct declaration declaration
;
88 struct decl_list
*next
;
90 typedef struct decl_list decl_list
;
95 typedef struct struct_def struct_def
;
98 const char *case_name
;
100 declaration case_decl
;
101 struct case_list
*next
;
103 typedef struct case_list case_list
;
106 declaration enum_decl
;
108 declaration
*default_decl
;
110 typedef struct union_def union_def
;
113 const char *argname
; /* name of struct for arg*/
117 typedef struct arg_list arg_list
;
120 const char *proc_name
;
121 const char *proc_num
;
124 const char *res_type
;
125 const char *res_prefix
;
126 struct proc_list
*next
;
128 typedef struct proc_list proc_list
;
130 struct version_list
{
131 const char *vers_name
;
132 const char *vers_num
;
134 struct version_list
*next
;
136 typedef struct version_list version_list
;
139 const char *prog_num
;
140 version_list
*versions
;
142 typedef struct program_def program_def
;
145 const char *def_name
;
156 typedef struct definition definition
;
158 definition
*get_definition(void);
165 struct bas_type
*next
;
168 typedef struct bas_type bas_type
;