ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/vars.h
Revision: 2.4
Committed: Tue Feb 25 02:47:22 2003 UTC (21 years, 2 months ago) by greg
Content type: text/plain
Branch: MAIN
CVS Tags: rad3R5
Changes since 2.3: +2 -57 lines
Log Message:
Replaced inline copyright notice with #include "copyright.h"

File Contents

# User Rev Content
1 greg 2.4 /* RCSid $Id$ */
2 greg 2.1 /*
3     * Header for programs that load variable files.
4     */
5    
6 greg 2.4 #include "copyright.h"
7 greg 2.3
8 greg 2.1 typedef struct {
9     char *name; /* variable name */
10     short nick; /* # characters required for nickname */
11     short nass; /* # assignments made */
12     char *value; /* assigned value(s) */
13 greg 2.3 void (*fixval)(); /* assignment checking function */
14 greg 2.1 } VARIABLE; /* a variable-value pair */
15    
16     /**** The following variables should be declared by calling program ****/
17    
18     extern int NVARS; /* total number of variables */
19    
20     extern VARIABLE vv[]; /* variable-value pairs */
21    
22     extern char *progname; /* global argv[0] from main */
23    
24     extern int nowarn; /* global boolean to turn warnings off */
25    
26     /**** The rest is declared in loadvars.c ****/
27    
28     extern VARIABLE *matchvar();
29     extern char *nvalue();
30    
31     #define UPPER(c) ((c)&~0x20) /* ASCII trick */
32    
33     #define vnam(vc) (vv[vc].name)
34     #define vdef(vc) (vv[vc].nass)
35     #define vval(vc) (vv[vc].value)
36     #define vint(vc) atoi(vval(vc))
37 greg 2.2 #define vflt(vc) atof(vval(vc))
38 greg 2.1 #define vlet(vc) UPPER(vval(vc)[0])
39     #define vscale vlet
40     #define vbool(vc) (vlet(vc)=='T')
41    
42     #define HIGH 'H'
43     #define MEDIUM 'M'
44     #define LOW 'L'
45 greg 2.3
46     #ifdef NOPROTO
47    
48     extern void loadvars();
49     extern int setvariable();
50     extern VARIABLE *matchvar();
51     extern char *nvalue();
52     extern void checkvalues();
53     extern void onevalue();
54     extern void catvalues();
55     extern int badmatch();
56     extern void boolvalue();
57     extern void qualvalue();
58     extern void intvalue();
59     extern void fltvalue();
60     extern void printvars();
61    
62     #else
63    
64     extern void loadvars(char *rfname);
65     extern int setvariable(char *ass, VARIABLE *(*mv)());
66     extern VARIABLE *matchvar(char *nam);
67     extern char *nvalue(int vn, int n);
68     extern void checkvalues(void);
69     extern void onevalue(VARIABLE *vp);
70     extern void catvalues(VARIABLE *vp);
71     extern int badmatch(char *tv, char *cv);
72     extern void boolvalue(VARIABLE *vp);
73     extern void qualvalue(VARIABLE *vp);
74     extern void intvalue(VARIABLE *vp);
75     extern void fltvalue(VARIABLE *vp);
76     extern void printvars(FILE *fp);
77    
78     #endif