--- ray/src/common/vars.h 2003/02/25 02:47:22 2.4 +++ ray/src/common/vars.h 2023/06/10 15:49:55 2.10 @@ -1,16 +1,19 @@ -/* RCSid $Id: vars.h,v 2.4 2003/02/25 02:47:22 greg Exp $ */ +/* RCSid $Id: vars.h,v 2.10 2023/06/10 15:49:55 greg Exp $ */ /* * Header for programs that load variable files. */ +#ifndef _RAD_VARS_H_ +#define _RAD_VARS_H_ +#ifdef __cplusplus +extern "C" { +#endif -#include "copyright.h" - -typedef struct { - char *name; /* variable name */ +typedef struct variable_s { + const char *name; /* variable name */ short nick; /* # characters required for nickname */ short nass; /* # assignments made */ char *value; /* assigned value(s) */ - void (*fixval)(); /* assignment checking function */ + void (*fixval)(struct variable_s *); /* assignment checking function */ } VARIABLE; /* a variable-value pair */ /**** The following variables should be declared by calling program ****/ @@ -25,9 +28,6 @@ extern int nowarn; /* global boolean to turn warnings /**** The rest is declared in loadvars.c ****/ -extern VARIABLE *matchvar(); -extern char *nvalue(); - #define UPPER(c) ((c)&~0x20) /* ASCII trick */ #define vnam(vc) (vv[vc].name) @@ -43,27 +43,10 @@ extern char *nvalue(); #define MEDIUM 'M' #define LOW 'L' -#ifdef NOPROTO -extern void loadvars(); -extern int setvariable(); -extern VARIABLE *matchvar(); -extern char *nvalue(); -extern void checkvalues(); -extern void onevalue(); -extern void catvalues(); -extern int badmatch(); -extern void boolvalue(); -extern void qualvalue(); -extern void intvalue(); -extern void fltvalue(); -extern void printvars(); - -#else - -extern void loadvars(char *rfname); -extern int setvariable(char *ass, VARIABLE *(*mv)()); -extern VARIABLE *matchvar(char *nam); +extern void loadvars(const char *rfname); +extern int setvariable(const char *ass, VARIABLE *(*mv)(const char*)); +extern VARIABLE *matchvar(const char *nam); extern char *nvalue(int vn, int n); extern void checkvalues(void); extern void onevalue(VARIABLE *vp); @@ -71,8 +54,12 @@ extern void catvalues(VARIABLE *vp); extern int badmatch(char *tv, char *cv); extern void boolvalue(VARIABLE *vp); extern void qualvalue(VARIABLE *vp); +extern void strvalue(VARIABLE *vp); extern void intvalue(VARIABLE *vp); extern void fltvalue(VARIABLE *vp); extern void printvars(FILE *fp); +#ifdef __cplusplus +} #endif +#endif /* _RAD_VARS_H_ */