#pragma ident	"@(#)profile.h 1.1	99/07/18 SMI"
/*
 * profile.h
 */
#ifndef _PROFILE_H_
#define _PROFILE_H_

#if !defined(PROTOTYPE)
#if defined(__STDC__) || defined(_MSDOS) || defined(_WIN32)
#define PROTOTYPE(x) x
#else
#define PROTOTYPE(x) ()
#endif
#endif

typedef struct _profile_t *profile_t; 

extern long profile_init
	PROTOTYPE ((const char **filenames, profile_t *ret_profile));

extern long profile_init_path
	PROTOTYPE ((const char *filepath, profile_t *ret_profile));

extern void profile_release
	PROTOTYPE ((profile_t profile));

extern long profile_get_values
	PROTOTYPE ((profile_t profile, const char **names, char ***ret_values));
extern long profile_get_string
	PROTOTYPE((profile_t profile, const char *name, const char *subname, 
			const char *subsubname, const char *def_val,
			char **ret_string));
extern long profile_get_integer
	PROTOTYPE((profile_t profile, const char *name, const char *subname,
			const char *subsubname, int def_val,
			int *ret_default));

/*
 * prof_err.h:
 * This file is automatically generated; please do not edit it.
 */
#define PROF_VERSION                             (-1429577728L)
#define PROF_MAGIC_NODE                          (-1429577727L)
#define PROF_NO_SECTION                          (-1429577726L)
#define PROF_NO_RELATION                         (-1429577725L)
#define PROF_ADD_NOT_SECTION                     (-1429577724L)
#define PROF_SECTION_WITH_VALUE                  (-1429577723L)
#define PROF_BAD_LINK_LIST                       (-1429577722L)
#define PROF_BAD_GROUP_LVL                       (-1429577721L)
#define PROF_BAD_PARENT_PTR                      (-1429577720L)
#define PROF_SECTION_NOTOP                       (-1429577719L)
#define PROF_SECTION_SYNTAX                      (-1429577718L)
#define PROF_RELATION_SYNTAX                     (-1429577717L)
#define PROF_EXTRA_CBRACE                        (-1429577716L)
#define PROF_MISSING_OBRACE                      (-1429577715L)
#define PROF_MAGIC_PROFILE                       (-1429577714L)
#define PROF_MAGIC_SECTION                       (-1429577713L)
#define PROF_TOPSECTION_ITER_NOSUPP              (-1429577712L)
#define PROF_INVALID_SECTION                     (-1429577711L)
#define PROF_END_OF_SECTIONS                     (-1429577710L)
#define PROF_BAD_NAMESET                         (-1429577709L)
#define PROF_NO_PROFILE                          (-1429577708L)
#define ERROR_TABLE_BASE_prof (-1429577728L)

/* for compatibility with older versions... */
#define prof_err_base ERROR_TABLE_BASE_prof

#endif /*_PROFILE_H_ */
