#ifndef H_LKDCHELPER_H
#define H_LKDCHELPER_H
#ifdef __cplusplus
extern "C" {
#endif
#include <asl.h>
#define kLKDCHelperName "com.apple.KerberosHelper.LKDCHelper"
#define ERROR(x, y) x,
enum kLKDCHelperErrors {
kLKDCHelperSuccess = 0,
kLKDCHelperErrorBase = 38400,
#include "LKDCHelper-error.h"
kLKDCHelperErrorEnd
};
#undef ERROR
typedef enum kLKDCHelperErrors LKDCHelperErrorType;
extern volatile int LKDCLogLevel;
extern void LKDCLogFunc (const char *func, const char *fmt, ...)
__attribute__ ((format (printf, 2, 3)));
#define LKDCLog(...) LKDCLogFunc (__func__, __VA_ARGS__)
#define LKDCLogEnter() asl_log(NULL, NULL, LKDCLogLevel, "[[[ %s", __func__)
#define LKDCLogExit(error) asl_log(NULL, NULL, LKDCLogLevel, "]]] %s = %d (%s)", __func__, error, LKDCHelperError (error))
extern const char *LKDCHelperError (LKDCHelperErrorType err);
extern void LKDCHelperExit ();
extern void LKDCDumpStatus (int logLevel);
extern void LKDCSetLogLevel (int logLevel);
extern LKDCHelperErrorType LKDCGetLocalRealm (char **name);
extern LKDCHelperErrorType LKDCDiscoverRealm (const char *hostname, char **realm);
extern LKDCHelperErrorType LKDCFindKDCForRealm (const char *realm, char **hostname, uint16_t *port);
#ifdef __cplusplus
}
#endif
#endif