#ifdef __cplusplus
extern "C" {
#endif
#ifndef UFILE_DONE
#define UFILE_DONE 1

#include "lib.h"

typedef struct UFILE {Pair *p; char *fname;} Ufile;
int ufile_free(Ufile *u);
char *ufile_get(Ufile *u, char *var);
int ufile_true(Ufile *u, char *var);
Ufile *ufile_read_r(char *fname, char *reason, char *src, int line);
#define ufile_read(a,b) ufile_read_r(a,b,__FILE__,__LINE__)
Ufile *ufile_new(char *fname);
int ufile_set(Ufile *u, char *var, char *val);
int ufile_fname(Ufile *u, char *file);
int ufile_write(Ufile *u, char *reason);
#endif
#ifdef __cplusplus
}
#endif


