1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License, Version 1.0 only
6  * (the "License").  You may not use this file except in compliance
7  * with the License.
8  *
9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10  * or http://www.opensolaris.org/os/licensing.
11  * See the License for the specific language governing permissions
12  * and limitations under the License.
13  *
14  * When distributing Covered Code, include this CDDL HEADER in each
15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16  * If applicable, add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your own identifying
18  * information: Portions Copyright [yyyy] [name of copyright owner]
19  *
20  * CDDL HEADER END
21  */
22 /*
23  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
24  * Use is subject to license terms.
25  *
26  * literals.h -- public definitions for literals in string table
27  *
28  * all strings in this program are kept in the string table provided
29  * by the routines in stable.c.  this allows us to see if two strings
30  * are equal by checking their pointers rather than calling strcmp().
31  * when we want to check for a specific string we can either do this:
32  * 	if (s == stable("word"))
33  * or define the literal here in this file and then do this:
34  * 	if (s == L_word)
35  *
36  * the macro L_DECL() below expands to an extern const char * declaration
37  * for files that include it.  the exception is some cpp statements done by
38  * literals.c which change L_DECL() to initialize the string by calling
39  * stable().
40  */
41 
42 #ifndef	_ESC_COMMON_LITERALS_H
43 #define	_ESC_COMMON_LITERALS_H
44 
45 #pragma ident	"%Z%%M%	%I%	%E% SMI"
46 
47 #ifdef	__cplusplus
48 extern "C" {
49 #endif
50 
51 #ifndef	L_DECL
52 #define	L_DECL(s) extern const char *L_##s
53 #endif
54 
55 /* reserved words */
56 L_DECL(asru);
57 L_DECL(div);
58 L_DECL(engine);
59 L_DECL(event);
60 L_DECL(fru);
61 L_DECL(if);
62 L_DECL(mask);
63 L_DECL(prop);
64 L_DECL(config);
65 
66 /* event types */
67 L_DECL(fault);
68 L_DECL(upset);
69 L_DECL(defect);
70 L_DECL(error);
71 L_DECL(ereport);
72 
73 /* engine types */
74 L_DECL(serd);
75 L_DECL(stat);
76 
77 /* timeval suffixes */
78 L_DECL(nanosecond);
79 L_DECL(nanoseconds);
80 L_DECL(nsec);
81 L_DECL(nsecs);
82 L_DECL(ns);
83 L_DECL(microsecond);
84 L_DECL(microseconds);
85 L_DECL(usec);
86 L_DECL(usecs);
87 L_DECL(us);
88 L_DECL(millisecond);
89 L_DECL(milliseconds);
90 L_DECL(msec);
91 L_DECL(msecs);
92 L_DECL(ms);
93 L_DECL(second);
94 L_DECL(seconds);
95 L_DECL(s);
96 L_DECL(minute);
97 L_DECL(minutes);
98 L_DECL(min);
99 L_DECL(mins);
100 L_DECL(m);
101 L_DECL(hour);
102 L_DECL(hours);
103 L_DECL(hr);
104 L_DECL(hrs);
105 L_DECL(h);
106 L_DECL(day);
107 L_DECL(days);
108 L_DECL(d);
109 L_DECL(week);
110 L_DECL(weeks);
111 L_DECL(wk);
112 L_DECL(wks);
113 L_DECL(month);
114 L_DECL(months);
115 L_DECL(year);
116 L_DECL(years);
117 L_DECL(yr);
118 L_DECL(yrs);
119 L_DECL(infinity);
120 
121 /* property names */
122 L_DECL(ASRU);
123 L_DECL(action);
124 L_DECL(FITrate);
125 L_DECL(FRU);
126 L_DECL(id);
127 L_DECL(message);
128 L_DECL(FRUID);
129 L_DECL(N);
130 L_DECL(T);
131 L_DECL(count);
132 L_DECL(method);
133 L_DECL(poller);
134 L_DECL(timeout);
135 L_DECL(trip);
136 
137 /* property values */
138 L_DECL(A);
139 L_DECL(volatile);
140 L_DECL(persistent);
141 
142 /* event bubble types */
143 L_DECL(from);
144 L_DECL(to);
145 L_DECL(inhibit);
146 
147 /*
148  * internal function names.  note that "fru" and "asru" are also function
149  * names.
150  */
151 L_DECL(within);
152 L_DECL(call);
153 L_DECL(confcall);
154 L_DECL(confprop);
155 L_DECL(defined);
156 L_DECL(payloadprop);
157 L_DECL(payloadprop_contains);
158 L_DECL(payloadprop_defined);
159 L_DECL(setpayloadprop);
160 L_DECL(envprop);
161 L_DECL(is_connected);
162 L_DECL(is_under);
163 L_DECL(is_on);
164 L_DECL(is_present);
165 L_DECL(is_type);
166 L_DECL(count);
167 
168 /* our enumerated types (used for debugging) */
169 L_DECL(T_NOTHING);
170 L_DECL(T_NAME);
171 L_DECL(T_GLOBID);
172 L_DECL(T_ENAME);
173 L_DECL(T_EVENT);
174 L_DECL(T_ENGINE);
175 L_DECL(T_ASRU);
176 L_DECL(T_FRU);
177 L_DECL(T_TIMEVAL);
178 L_DECL(T_NUM);
179 L_DECL(T_QUOTE);
180 L_DECL(T_FUNC);
181 L_DECL(T_NVPAIR);
182 L_DECL(T_ASSIGN);
183 L_DECL(T_CONDIF);
184 L_DECL(T_CONDELSE);
185 L_DECL(T_NOT);
186 L_DECL(T_AND);
187 L_DECL(T_OR);
188 L_DECL(T_EQ);
189 L_DECL(T_NE);
190 L_DECL(T_SUB);
191 L_DECL(T_ADD);
192 L_DECL(T_MUL);
193 L_DECL(T_DIV);
194 L_DECL(T_MOD);
195 L_DECL(T_LT);
196 L_DECL(T_LE);
197 L_DECL(T_GT);
198 L_DECL(T_GE);
199 L_DECL(T_BITAND);
200 L_DECL(T_BITOR);
201 L_DECL(T_BITXOR);
202 L_DECL(T_BITNOT);
203 L_DECL(T_LSHIFT);
204 L_DECL(T_RSHIFT);
205 L_DECL(T_ARROW);
206 L_DECL(T_LIST);
207 L_DECL(T_FAULT);
208 L_DECL(T_UPSET);
209 L_DECL(T_DEFECT);
210 L_DECL(T_ERROR);
211 L_DECL(T_EREPORT);
212 L_DECL(T_SERD);
213 L_DECL(T_STAT);
214 L_DECL(T_PROP);
215 L_DECL(T_MASK);
216 L_DECL(N_UNSPEC);
217 L_DECL(N_FAULT);
218 L_DECL(N_UPSET);
219 L_DECL(N_DEFECT);
220 L_DECL(N_ERROR);
221 L_DECL(N_EREPORT);
222 L_DECL(N_SERD);
223 L_DECL(IT_NONE);
224 L_DECL(IT_VERTICAL);
225 L_DECL(IT_HORIZONTAL);
226 L_DECL(IT_ENAME);
227 
228 /* misc */
229 L_DECL(nofile);
230 
231 #ifdef	__cplusplus
232 }
233 #endif
234 
235 #endif	/* _ESC_COMMON_LITERALS_H */
236