/* 
 * KClient 1.9 deprecated API
 *
 * $Header: /cvs/repository/iservers/Libraries/passwordserver_sasl/cyrus_sasl/mac/CommonKClient/mac_kclient3/Headers/KClientDeprecated/KClientDeprecated.h,v 1.4 2005/01/10 19:17:30 snsimon Exp $
 */

#ifndef	__KCLIENTDEPRECATED__
#define	__KCLIENTDEPRECATED__

#if PRAGMA_ONCE
#pragma once
#endif /* PRAGMA_ONCE */

#include <KerberosSupport/KerberosSupport.h>
#include <Kerberos4/Kerberos4.h>
#include <KClient/KClientTypes.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Important!
 *
 * The following functions are deprecated. They will be removed from the library
 * and the header files in the future. See documentation for moving to KClient
 * 3.0 API to see how you can update your code.
 */

OSStatus
KClientCacheInitialTicketDeprecated (
	KClientSession*			inSession,
	char*					inService);

OSStatus KClientGetLocalRealmDeprecated (
	char*					outRealm);

OSStatus KClientSetLocalRealmDeprecated (
	const char*				inRealm);

OSStatus KClientGetRealmDeprecated (
	const char*				inHost,
	char*					outRealm);

OSStatus KClientAddRealmMapDeprecated (
	char*					inHost,
	char*					inRealm);

OSStatus KClientDeleteRealmMapDeprecated (
	char*					inHost);

OSStatus KClientGetNthRealmMapDeprecated (
	SInt32					inIndex,
	char*					outHost,
	char*					outRealm);

OSStatus KClientGetNthServerDeprecated (
	SInt32					inIndex,
	char*					outHost,
	char*					inRealm,
	Boolean					inAdmin);

OSStatus KClientAddServerMapDeprecated (
	char*					inHost,
	char*					inRealm,
	Boolean					inAdmin);

OSStatus KClientDeleteServerMapDeprecated (
	char*					inHost,
	char*					inRealm);

OSStatus KClientGetNthServerMapDeprecated (
	SInt32					inIndex,
	char*					outHost,
	char*					outRealm,
	Boolean*				outAdmin);

OSStatus KClientGetNthServerPortDeprecated (
	SInt32					inIndex,
	UInt16*					outPort);

OSStatus KClientSetNthServerPortDeprecated (
	SInt32					inIndex,
	UInt16					inPort);

OSStatus KClientGetNumSessionsDeprecated (
	SInt32*					outSessions);

OSStatus KClientGetNthSessionDeprecated (
	SInt32					inIndex,
	char*					outName,
	char*					outInstance,
	char*					outRealm);

OSStatus KClientDeleteSessionDeprecated (
	char*					inName,
	char*					inInstance,
	char*					inRealm);

OSStatus KClientGetCredentialsDeprecated (
	char*					inName,
	char*					inInstance,
	char*					inRealm,
	CREDENTIALS*			outCred);

OSStatus KClientAddCredentialsDeprecated (
	char*					inName,
	char*					inInstance,
	char*					inRealm,
	CREDENTIALS*			inCred);

OSStatus KClientDeleteCredentialsDeprecated (
	char*					inName,
	char*					inInstance,
	char*					inRealm, 
	char*					inSname,
	char*					inSinstance,
	char*					inSrealm);

OSStatus KClientGetNumCredentialsDeprecated (
	SInt32*					outNumCredentials,
	char*					inName,
	char*					inInstance,
	char*					inRealm);

OSStatus
KClientGetNthCredentialDeprecated (
	SInt32					inIndex,
	char*					inName,
	char*					inInstance,
	char*					inRealm,
	char*					inSname,
	char*					inSinstance,
	char*					inSrealm);

OSStatus
KClientGetUserNameDeprecated (
	char*					outUserName);
	
void
KClientGetErrorTextDeprecated (
	OSErr					inError,
	char*					outBuffer);


/*
 * Warning!
 *
 * The following are K5Client calls. Not only are they deprecated, but they should
 * never have existed in the first place. They are here so that KClient can swallow
 * K5Client (Yummmmmm)
 */
	
OSStatus
K5ClientGetTicketForServiceDeprecated (
	char*			inService,
	void*			outBuffer,
	UInt32*			outBufferLength);

OSStatus
K5ClientGetAuthenticatorForServiceDeprecated (
	char*			inService,
	char*			inApplicationVersion,
	void*			outBuffer,
	UInt32*			outBufferLength);

#ifdef __cplusplus
}
#endif

#endif /* __KCLIENTDEPRECATED__ */