Commit | Line | Data |
---|---|---|
f6d12243 | 1 | /* |
7edc52ec | 2 | * @(#)var.h 3.6 %G% |
f6d12243 EW |
3 | */ |
4 | ||
5 | struct var { | |
6 | struct var *r_left; | |
7 | struct var *r_right; | |
8 | char *r_name; | |
9 | struct value r_val; | |
10 | }; | |
11 | ||
bb4a0c0b EW |
12 | struct var *var_set1(); |
13 | struct var *var_setstr1(); | |
14 | struct var *var_setnum1(); | |
b44eb60a | 15 | struct var **var_lookup1(); |
f6d12243 | 16 | |
bb4a0c0b EW |
17 | #define var_set(n, v) var_set1(&var_head, n, v) |
18 | #define var_setstr(n, s) var_setstr1(&var_head, n, s) | |
19 | #define var_setnum(n, i) var_setnum1(&var_head, n, i) | |
20 | #define var_unset(n) var_unset1(&var_head, n) | |
21 | #define var_lookup(n) (*var_lookup1(&var_head, n)) | |
22 | #define var_walk(f, a) var_walk1(var_head, f, a) | |
433bd50a | 23 | |
f6d12243 | 24 | struct var *var_head; /* secret, shhh */ |