cpp-fixes-20080630
[openafs.git] / src / rxgen / rpc_scan.h
1 /* @(#)rpc_scan.h       1.1 87/11/04 3.9 RPCSRC */
2 /*
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.
9  * 
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.
13  * 
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.
17  * 
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.
21  * 
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.
25  * 
26  * Sun Microsystems, Inc.
27  * 2550 Garcia Avenue
28  * Mountain View, California  94043
29  */
30
31 /*
32  * rpc_scan.h, Definitions for the RPCL scanner 
33  * Copyright (C) 1987, Sun Microsystems, Inc. 
34  */
35
36 /*
37  * kinds of tokens 
38  */
39 enum tok_kind {
40     TOK_IDENT,
41     TOK_STRCONST,
42     TOK_LPAREN,
43     TOK_RPAREN,
44     TOK_LBRACE,
45     TOK_RBRACE,
46     TOK_LBRACKET,
47     TOK_RBRACKET,
48     TOK_LANGLE,
49     TOK_RANGLE,
50     TOK_STAR,
51     TOK_COMMA,
52     TOK_EQUAL,
53     TOK_COLON,
54     TOK_SEMICOLON,
55     TOK_CONST,
56     TOK_STRUCT,
57     TOK_UNION,
58     TOK_SWITCH,
59     TOK_CASE,
60     TOK_DEFAULT,
61     TOK_ENUM,
62     TOK_TYPEDEF,
63     TOK_INT,
64     TOK_SHORT,
65     TOK_INT32,
66     TOK_UNSIGNED,
67     TOK_FLOAT,
68     TOK_DOUBLE,
69     TOK_OPAQUE,
70     TOK_CHAR,
71     TOK_STRING,
72     TOK_BOOL,
73     TOK_VOID,
74     TOK_PROGRAM,
75     TOK_VERSION,
76     TOK_PACKAGE,
77     TOK_PREFIX,
78     TOK_STATINDEX,
79     TOK_SPECIAL,
80     TOK_STARTINGOPCODE,
81     TOK_CUSTOMIZED,
82     TOK_PROC,
83     TOK_SPLITPREFIX,
84     TOK_SPLIT,
85     TOK_MULTI,
86     TOK_IN,
87     TOK_OUT,
88     TOK_INOUT,
89     TOK_AFSUUID,
90     TOK_EOF
91 };
92 typedef enum tok_kind tok_kind;
93
94 /*
95  * a token 
96  */
97 struct token {
98     tok_kind kind;
99     char *str;
100 };
101 typedef struct token token;