#ifndef __KHIMAIRA_KRBAFSCRED_H
#define __KHIMAIRA_KRBAFSCRED_H
#include<windows.h>
#define KHERR_FACILITY L"Krb4Cred"
#define KHERR_FACILITY_ID 65
#define KHERR_HMODULE hResModule
#include<netidmgr.h>
#include<krb4funcs.h>
#include<krb5common.h>
#include<errorfuncs.h>
#include<dynimport.h>
#include<langres.h>
#include<krb4_msgs.h>
#define TYPENAME_ENCTYPE L"EncType"
#define TYPENAME_ADDR_LIST L"AddrList"
#define TYPENAME_KRB5_FLAGS L"Krb5Flags"
#define ATTRNAME_KEY_ENCTYPE L"KeyEncType"
#define ATTRNAME_TKT_ENCTYPE L"TktEncType"
#define ATTRNAME_ADDR_LIST L"AddrList"
#define ATTRNAME_KRB5_FLAGS L"Krb5Flags"
#define ATTRNAME_RENEW_TILL L"RenewTill"
#define ATTRNAME_RENEW_FOR L"RenewFor"
void init_krb();
void exit_krb();
extern kmm_module h_khModule;
extern HMODULE hResModule;
extern HINSTANCE hInstance;
extern khm_int32 type_id_enctype;
extern khm_int32 type_id_addr_list;
extern khm_int32 type_id_krb5_flags;
extern khm_int32 attr_id_key_enctype;
extern khm_int32 attr_id_tkt_enctype;
extern khm_int32 attr_id_addr_list;
extern khm_int32 attr_id_krb5_flags;
extern khm_int32 attr_id_renew_till;
extern khm_int32 attr_id_renew_for;
#define CSNAME_KRB4CRED L"Krb4Cred"
#define CSNAME_PARAMS L"Parameters"
#define KRB4_PLUGIN_NAME L"Krb4Cred"
#define KRB4_PLUGIN_DEPS L"Krb5Cred\0"
#define KRB4_CREDTYPE_NAME L"Krb4Cred"
#define KRB5_CREDTYPE_NAME L"Krb5Cred"
#define KRB4_CONFIG_NODE_NAME L"Krb4Config"
#define KRB4_ID_CONFIG_NODE_NAME L"Krb4IdentConfig"
#define KRB4_IDS_CONFIG_NODE_NAME L"Krb4IdentsConfig"
extern khm_handle csp_plugins;
extern khm_handle csp_krbcred;
extern khm_handle csp_params;
extern kconf_schema schema_krbconfig[];
extern khm_int32 credtype_id_krb4;
extern khm_int32 credtype_id_krb5;
extern khm_boolean krb4_initialized;
extern khm_handle krb4_credset;
khm_int32 KHMAPI
krb4_cb(khm_int32 msg_type, khm_int32 msg_subtype,
khm_ui_4 uparam, void * vparam);
INT_PTR CALLBACK
krb4_confg_proc(HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
INT_PTR CALLBACK
krb4_ids_config_proc(HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
INT_PTR CALLBACK
krb4_id_config_proc(HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
khm_int32
krb4_msg_newcred(khm_int32 msg_type, khm_int32 msg_subtype,
khm_ui_4 uparam, void * vparam);
#endif