Go to the documentation of this file.
45 #define EXPR_OR(dep1, dep2) (((dep1)>(dep2))?(dep1):(dep2))
46 #define EXPR_AND(dep1, dep2) (((dep1)<(dep2))?(dep1):(dep2))
47 #define EXPR_NOT(dep) (2-(dep))
49 #define expr_list_for_each_sym(l, e, s) \
50 for (e = (l); e && (s = e->right.sym); e = e->left.expr)
88 #define for_all_symbols(i, sym) for (i = 0; i < SYMBOL_HASHSIZE; i++) for (sym = symbol_hash[i]; sym; sym = sym->next) if (sym->type != S_OTHER)
90 #define SYMBOL_CONST 0x0001
91 #define SYMBOL_CHECK 0x0008
92 #define SYMBOL_CHOICE 0x0010
93 #define SYMBOL_CHOICEVAL 0x0020
94 #define SYMBOL_VALID 0x0080
95 #define SYMBOL_OPTIONAL 0x0100
96 #define SYMBOL_WRITE 0x0200
97 #define SYMBOL_CHANGED 0x0400
98 #define SYMBOL_AUTO 0x1000
99 #define SYMBOL_CHECKED 0x2000
100 #define SYMBOL_WARNED 0x8000
103 #define SYMBOL_DEF 0x10000
104 #define SYMBOL_DEF_USER 0x10000
105 #define SYMBOL_DEF_AUTO 0x20000
106 #define SYMBOL_DEF3 0x40000
107 #define SYMBOL_DEF4 0x80000
109 #define SYMBOL_MAXLENGTH 256
110 #define SYMBOL_HASHSIZE 9973
150 #define for_all_properties(sym, st, tok) \
151 for (st = sym->prop; st; st = st->next) \
152 if (st->type == (tok))
153 #define for_all_defaults(sym, st) for_all_properties(sym, st, P_DEFAULT)
154 #define for_all_choices(sym, st) for_all_properties(sym, st, P_CHOICE)
155 #define for_all_prompts(sym, st) \
156 for (st = sym->prop; st; st = st->next) \
174 #define MENU_CHANGED 0x0001
175 #define MENU_ROOT 0x0002
221 static inline int expr_is_yes(
struct expr *
e)
226 static inline int expr_is_no(
struct expr *
e)