]>
jfr.im git - solanum.git/blob - include/newconf.h
1 /* This code is in the public domain.
2 * $Nightmare: nightmare/include/config.h,v 1.32.2.2.2.2 2002/07/02 03:41:28 ejb Exp $
3 * $Id: newconf.h 1735 2006-07-19 02:35:40Z nenolod $
6 #ifndef _NEWCONF_H_INCLUDED
7 #define _NEWCONF_H_INCLUDED
13 void (*cf_func
) (void *);
21 int (*tc_sfunc
) (struct TopConf
*);
22 int (*tc_efunc
) (struct TopConf
*);
23 rb_dlink_list tc_items
;
24 struct ConfEntry
*tc_entries
;
28 #define CF_QSTRING 0x01
30 #define CF_STRING 0x03
38 #define CF_FLIST 0x1000
39 #define CF_MFLAG 0xFF00
41 typedef struct conf_parm_t_stru
43 struct conf_parm_t_stru
*next
;
49 struct conf_parm_t_stru
*list
;
55 extern struct TopConf
*conf_cur_block
;
57 extern char *current_file
;
59 int read_config(char *);
60 int conf_start_block(char *, char *);
61 int conf_end_block(struct TopConf
*);
62 int conf_call_set(struct TopConf
*, char *, conf_parm_t
*, int);
63 void conf_report_error(const char *, ...);
64 void newconf_init(void);
65 int add_conf_item(const char *topconf
, const char *name
, int type
, void (*func
) (void *));
66 int remove_conf_item(const char *topconf
, const char *name
);
67 int add_top_conf(const char *name
, int (*sfunc
) (struct TopConf
*), int (*efunc
) (struct TopConf
*), struct ConfEntry
*items
);
68 int remove_top_conf(char *name
);
69 struct TopConf
*find_top_conf(const char *name
);
70 struct ConfEntry
*find_conf_item(const struct TopConf
*top
, const char *name
);