1 /* 2 * Copyright (c) 1983, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Edward Wang at The University of California, Berkeley. 7 * 8 * %sccs.include.redist.c% 9 * 10 * @(#)var.h 8.1 (Berkeley) 06/06/93 11 */ 12 13 struct var { 14 struct var *r_left; 15 struct var *r_right; 16 char *r_name; 17 struct value r_val; 18 }; 19 20 struct var *var_set1(); 21 struct var *var_setstr1(); 22 struct var *var_setnum1(); 23 struct var **var_lookup1(); 24 25 #define var_set(n, v) var_set1(&var_head, n, v) 26 #define var_setstr(n, s) var_setstr1(&var_head, n, s) 27 #define var_setnum(n, i) var_setnum1(&var_head, n, i) 28 #define var_unset(n) var_unset1(&var_head, n) 29 #define var_lookup(n) (*var_lookup1(&var_head, n)) 30 #define var_walk(f, a) var_walk1(var_head, f, a) 31 32 struct var *var_head; /* secret, shhh */ 33