2 * Copyright (c) 2009, Sun Microsystems, Inc.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * - Redistributions of source code must retain the above copyright notice,
8 * this list of conditions and the following disclaimer.
9 * - Redistributions in binary form must reproduce the above copyright notice,
10 * this list of conditions and the following disclaimer in the documentation
11 * and/or other materials provided with the distribution.
12 * - Neither the name of Sun Microsystems, Inc. nor the names of its
13 * contributors may be used to endorse or promote products derived
14 * from this software without specific prior written permission.
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 * POSSIBILITY OF SUCH DAMAGE.
29 /* @(#)rpc_parse.h 1.3 90/08/29 (C) 1987 SMI */
32 * rpc_parse.h, Definitions for the RPCL parser
43 typedef enum defkind defkind;
45 typedef char *const_def;
48 REL_VECTOR, /* fixed length array */
49 REL_ARRAY, /* variable length array */
50 REL_POINTER, /* pointer */
51 REL_ALIAS, /* simple */
53 typedef enum relation relation;
61 typedef struct typedef_def typedef_def;
66 struct enumval_list *next;
68 typedef struct enumval_list enumval_list;
73 typedef struct enum_def enum_def;
82 typedef struct declaration declaration;
86 struct decl_list *next;
88 typedef struct decl_list decl_list;
93 typedef struct struct_def struct_def;
98 declaration case_decl;
99 struct case_list *next;
101 typedef struct case_list case_list;
104 declaration enum_decl;
106 declaration *default_decl;
108 typedef struct union_def union_def;
111 char *argname; /* name of struct for arg*/
115 typedef struct arg_list arg_list;
124 struct proc_list *next;
126 typedef struct proc_list proc_list;
128 struct version_list {
132 struct version_list *next;
134 typedef struct version_list version_list;
138 version_list *versions;
140 typedef struct program_def program_def;
154 typedef struct definition definition;
156 definition *get_definition();
163 struct bas_type *next;
166 typedef struct bas_type bas_type;