/*
 * profile.h
 */

#ifndef _KRB5_PROFILE_H
#define _KRB5_PROFILE_H

#include "win-mac.h"

#ifndef KRB5_CALLCONV
#define KRB5_CALLCONV
#define KRB5_CALLCONV_C
#define KRB5_DLLIMP
#define KRB5_EXPORTVAR
#define FAR
#define NEAR
#endif


typedef struct _profile_t *profile_t;

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

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

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

void profile_release
	PROTOTYPE ((profile_t profile));

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

#endif /* _KRB5_PROFILE_H */
/*
 * util/profile/prof_err.h:
 * This file is automatically generated; please do not edit it.
 */

#include "com_err.h"

#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)

extern struct error_table et_prof_error_table;

#if defined(unix) || defined(_AIX)
/* for compatibility with older versions... */
extern void initialize_prof_error_table ();
#define init_prof_err_tbl initialize_prof_error_table
#define prof_err_base ERROR_TABLE_BASE_prof
#else
#define initialize_prof_error_table()
#endif
