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