/* $Id: rc_imp.h,v 1.19 2006/04/09 07:37:05 hurtta Exp $ */
/******************************************************************************
* The Elm (ME+) Mail System - $Revision: 1.19 $ $State: Exp $
*
* Author: Kari Hurtta <hurtta+elm@posti.FMI.FI> (was hurtta+elm@ozone.FMI.FI)
*****************************************************************************/
#if ANSI_C
struct rc_save_info_rec;
#endif
/* Returns 0 on error
1 if parsed OK
*/
typedef int rc_parse_line P_((struct rc_save_info_rec *r,
int lcl,
char *value, int lineno, char *filename,
int negate));
typedef int rc_parse_cline P_((struct rc_save_info_rec *r,
int lcl,
char *value, int lineno, char *filename));
typedef void rc_print_value P_((FILE *F,
struct rc_save_info_rec *r,
int comment));
/* Returns pointer to static buffer */
typedef char * rc_get_value P_((struct rc_save_info_rec *r));
#define RCTYPE_magic 0xF402
extern struct rc_type {
unsigned short magic; /* RCTYPE_magic */
rc_parse_line * parse_line; /* Parse line */
rc_parse_cline * parse_cline; /* Parse continuation line */
rc_print_value * print_value;
rc_get_value * get_value;
} rc_DT_SYN, rc_DT_STR, rc_DT_NUM, rc_DT_BOL,
rc_DT_CHR, rc_DT_SORT,
rc_DT_MLT, rc_DT_PRM, rc_DT_FUNC,
rc_DT_LONG, rc_DT_PATH, rc_DT_OBS, rc_DT_ESTR,
rc_DT_ENUM, rc_DT_DELAY;
extern int valid_rc_type P_((struct rc_type *T));
#ifdef USE_PGP
extern struct rc_type rc_DT_PGPVER;
#endif
#ifdef USE_DLOPEN
extern struct rc_type rc_DT_SHARED;
#endif
#define DT_SYN &rc_DT_SYN /* synonym entry (old name) */
#define DT_STR &rc_DT_STR /* string */
#define DT_NUM &rc_DT_NUM /* number */
#define DT_BOL &rc_DT_BOL /* ON/OFF (boolean) */
#define DT_WEE &rc_DT_WEE /* weed list */
#define DT_MLT &rc_DT_MLT /* multiple destinations for data */
#define DT_PRM &rc_DT_PRM /* file permissions */
#define DT_FUNC &rc_DT_FUNC /* function to be called for process option */
#define DT_LONG &rc_DT_LONG /* number */
#ifdef USE_PGP
#define DT_PGPVER &rc_DT_PGPVER /* enum pgp_version */
#endif
/* read_rc.c. -- return NULL on failure
otherwise pointer to option
*/
extern struct rc_save_info_rec * do_set P_((int lcl, char *word1,
char *word2, char *filename));
extern int is_it_on P_((char *word));
extern void weedout P_((char *string));
extern char * mode_to_str P_((int mode));
extern int expand_dt_path P_((struct dt_path_info *ptr, char *fieldname,
char *val, int recursive));
extern int expand_dt_estr P_((struct dt_estr_info *ptr,
char *fieldname,
char *val));
extern void mark_XX P_((struct rc_save_info_rec *x));
#ifdef USE_DLOPEN
extern void mark_shared_changed P_((void *A));
extern void mark_fshared_changed P_((option_func *A));
#endif
extern void register_delayed P_((struct rc_save_info_rec * rc_options,
int rc_option_count));
extern int rc_eval_tail P_((struct rc_save_info_rec *ret,int lcl, char *value,
int lineno, char *filename, int negate));
extern void mark_delayed_changed P_((void *A));
extern void mark_fdelayed_changed P_((option_func *A));
/*
* Local Variables:
* mode:c
* c-basic-offset:4
* buffer-file-coding-system: iso-8859-1
* End:
*/
syntax highlighted by Code2HTML, v. 0.9.1