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 2009 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 #ifdef __cplusplus 45 extern "C" { 46 #endif 47 48 #ifndef L_DECL 49 #define L_DECL(s) extern const char *L_##s 50 #endif 51 52 /* reserved words */ 53 L_DECL(asru); 54 L_DECL(div); 55 L_DECL(engine); 56 L_DECL(event); 57 L_DECL(fru); 58 L_DECL(if); 59 L_DECL(mask); 60 L_DECL(prop); 61 L_DECL(config); 62 63 /* event types */ 64 L_DECL(fault); 65 L_DECL(upset); 66 L_DECL(defect); 67 L_DECL(error); 68 L_DECL(ereport); 69 70 /* engine types */ 71 L_DECL(serd); 72 L_DECL(stat); 73 74 /* timeval suffixes */ 75 L_DECL(nanosecond); 76 L_DECL(nanoseconds); 77 L_DECL(nsec); 78 L_DECL(nsecs); 79 L_DECL(ns); 80 L_DECL(microsecond); 81 L_DECL(microseconds); 82 L_DECL(usec); 83 L_DECL(usecs); 84 L_DECL(us); 85 L_DECL(millisecond); 86 L_DECL(milliseconds); 87 L_DECL(msec); 88 L_DECL(msecs); 89 L_DECL(ms); 90 L_DECL(second); 91 L_DECL(seconds); 92 L_DECL(s); 93 L_DECL(minute); 94 L_DECL(minutes); 95 L_DECL(min); 96 L_DECL(mins); 97 L_DECL(m); 98 L_DECL(hour); 99 L_DECL(hours); 100 L_DECL(hr); 101 L_DECL(hrs); 102 L_DECL(h); 103 L_DECL(day); 104 L_DECL(days); 105 L_DECL(d); 106 L_DECL(week); 107 L_DECL(weeks); 108 L_DECL(wk); 109 L_DECL(wks); 110 L_DECL(month); 111 L_DECL(months); 112 L_DECL(year); 113 L_DECL(years); 114 L_DECL(yr); 115 L_DECL(yrs); 116 L_DECL(infinity); 117 118 /* property names */ 119 L_DECL(ASRU); 120 L_DECL(action); 121 L_DECL(FITrate); 122 L_DECL(FRU); 123 L_DECL(id); 124 L_DECL(message); 125 L_DECL(retire); 126 L_DECL(response); 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(cat); 154 L_DECL(confcall); 155 L_DECL(confprop); 156 L_DECL(confprop_defined); 157 L_DECL(defined); 158 L_DECL(payloadprop); 159 L_DECL(payloadprop_contains); 160 L_DECL(payloadprop_defined); 161 L_DECL(setpayloadprop); 162 L_DECL(setserdsuffix); 163 L_DECL(setserdincrement); 164 L_DECL(setserdn); 165 L_DECL(setserdt); 166 L_DECL(envprop); 167 L_DECL(is_connected); 168 L_DECL(is_under); 169 L_DECL(is_on); 170 L_DECL(is_present); 171 L_DECL(has_fault); 172 L_DECL(is_type); 173 L_DECL(count); 174 175 /* our enumerated types (used for debugging) */ 176 L_DECL(T_NOTHING); 177 L_DECL(T_NAME); 178 L_DECL(T_GLOBID); 179 L_DECL(T_ENAME); 180 L_DECL(T_EVENT); 181 L_DECL(T_ENGINE); 182 L_DECL(T_ASRU); 183 L_DECL(T_FRU); 184 L_DECL(T_TIMEVAL); 185 L_DECL(T_NUM); 186 L_DECL(T_QUOTE); 187 L_DECL(T_FUNC); 188 L_DECL(T_NVPAIR); 189 L_DECL(T_ASSIGN); 190 L_DECL(T_CONDIF); 191 L_DECL(T_CONDELSE); 192 L_DECL(T_NOT); 193 L_DECL(T_AND); 194 L_DECL(T_OR); 195 L_DECL(T_EQ); 196 L_DECL(T_NE); 197 L_DECL(T_SUB); 198 L_DECL(T_ADD); 199 L_DECL(T_MUL); 200 L_DECL(T_DIV); 201 L_DECL(T_MOD); 202 L_DECL(T_LT); 203 L_DECL(T_LE); 204 L_DECL(T_GT); 205 L_DECL(T_GE); 206 L_DECL(T_BITAND); 207 L_DECL(T_BITOR); 208 L_DECL(T_BITXOR); 209 L_DECL(T_BITNOT); 210 L_DECL(T_LSHIFT); 211 L_DECL(T_RSHIFT); 212 L_DECL(T_ARROW); 213 L_DECL(T_LIST); 214 L_DECL(T_FAULT); 215 L_DECL(T_UPSET); 216 L_DECL(T_DEFECT); 217 L_DECL(T_ERROR); 218 L_DECL(T_EREPORT); 219 L_DECL(T_SERD); 220 L_DECL(T_STAT); 221 L_DECL(T_PROP); 222 L_DECL(T_MASK); 223 L_DECL(N_UNSPEC); 224 L_DECL(N_FAULT); 225 L_DECL(N_UPSET); 226 L_DECL(N_DEFECT); 227 L_DECL(N_ERROR); 228 L_DECL(N_EREPORT); 229 L_DECL(N_SERD); 230 L_DECL(IT_NONE); 231 L_DECL(IT_VERTICAL); 232 L_DECL(IT_HORIZONTAL); 233 L_DECL(IT_ENAME); 234 235 /* misc */ 236 L_DECL(nofile); 237 238 #ifdef __cplusplus 239 } 240 #endif 241 242 #endif /* _ESC_COMMON_LITERALS_H */ 243