1 /*
2  * Copyright 1993, 2000 Christopher Seiwald.
3  *
4  * This file is part of Jam - see jam.c for Copyright information.
5  */
6 
7 /*
8  * variable.h - handle jam multi-element variables
9  */
10 
11 #ifndef VARIABLE_SW20111119_H
12 #define VARIABLE_SW20111119_H
13 
14 #include "config.h"
15 #include "lists.h"
16 #include "object.h"
17 
18 
19 struct module_t;
20 
21 void   var_defines( struct module_t *, const char * const * e, int preprocess );
22 LIST * var_get( struct module_t *, OBJECT * symbol );
23 void   var_set( struct module_t *, OBJECT * symbol, LIST * value, int flag );
24 LIST * var_swap( struct module_t *, OBJECT * symbol, LIST * value );
25 void   var_done( struct module_t * );
26 
27 /*
28  * Defines for var_set().
29  */
30 
31 #define VAR_SET      0   /* override previous value */
32 #define VAR_APPEND   1   /* append to previous value */
33 #define VAR_DEFAULT  2   /* set only if no previous value */
34 
35 #endif
36