00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _PARAMS_H_
00022 #define _PARAMS_H_
00023
00024 #define BUFMAX 1024
00025
00026
00027
00028 #define PARM_NODE_ROOT 0x01
00029 #define PARM_NODE_PARM 0x02
00030 #define PARM_NODE_SECT 0x04
00031 #define PARM_NODE_KEY 0x10
00032
00033 #define PARM_NODE_BRANCH 0x0F
00034
00035 typedef struct ParmWithin {
00036 char *val;
00037 struct ParmWithin *next;
00038 } tParmWithin;
00039
00040 typedef struct ParmNode {
00041 struct ParmNode *next;
00042 struct ParmNode *prev;
00043 struct ParmNode *kids;
00044 struct ParmNode *parent;
00045 int type;
00046 char *name;
00047 } tParmNode;
00048
00049 typedef struct ParmKey {
00050 tParmNode n;
00051
00052 int type;
00053 #define P_NUM 0
00054 #define P_STR 1
00055 char *valstr;
00056 tdble valnum;
00057 tdble min;
00058 tdble max;
00059 struct ParmWithin *withins;
00060 } tParmKey;
00061
00062 typedef struct ParmSect {
00063 tParmNode n;
00064 tParmNode *current;
00065 } tParmSect;
00066
00067 typedef struct Parm {
00068 tParmNode n;
00069 char *file;
00070 int type;
00071 int mode;
00072 int refcount;
00073 } tParm;
00074
00075
00076 #endif
00077
00078
00079