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