Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

159 lines
2.7 KiB

/*++
Copyright (c) 2001 Microsoft Corporation
All rights reserved
Module Name:
krbutils.hxx
Abstract:
utils
Author:
Larry Zhu (LZhu) December 1, 2001 Created
Environment:
User Mode -Win32
Revision History:
--*/
#ifndef KRB_UTILS_HXX
#define KRB_UTILS_HXX
#include <krb5.h>
#include <krb5p.h>
#include <kerberr.h>
#include <kerbcomm.h>
VOID
KerbFreeRealm(
IN PKERB_REALM pRealm
);
VOID
KerbFreePrincipalName(
IN PKERB_PRINCIPAL_NAME pName
);
VOID
KerbFreeData(
IN ULONG PduValue,
IN PVOID pData
);
EXTERN_C VOID ASN1CALL KRB5_Module_Startup(VOID);
KERBERR
KerbInitAsn(
IN OUT ASN1encoding_t * pEnc,
IN OUT ASN1decoding_t * pDec
);
VOID
KerbTermAsn(
IN ASN1encoding_t pEnc,
IN ASN1decoding_t pDec
);
KERBERR
KerbEncryptDataEx(
OUT PKERB_ENCRYPTED_DATA pEncryptedData,
IN ULONG cbDataSize,
IN PUCHAR Data,
IN ULONG KeyVersion,
IN ULONG UsageFlags,
IN PKERB_ENCRYPTION_KEY pKey
);
KERBERR
KerbAllocateEncryptionBuffer(
IN ULONG EncryptionType,
IN ULONG cbBufferSize,
OUT PUINT pcbEncryptionBufferSize,
OUT PBYTE* pEncryptionBuffer
);
KERBERR
KerbAllocateEncryptionBufferWrapper(
IN ULONG EncryptionType,
IN ULONG cbBufferSize,
OUT ULONG* pcbEncryptionBufferSize,
OUT PBYTE* pEncryptionBuffer
);
KERBERR
KerbGetEncryptionOverhead(
IN ULONG Algorithm,
OUT PULONG pcbOverhead,
OUT OPTIONAL PULONG pcbBlockSize
);
KERBERR NTAPI
KerbPackData(
IN PVOID Data,
IN ULONG PduValue,
OUT PULONG pcbDataSize,
OUT PUCHAR * MarshalledData
);
KERBERR
KerbConvertUnicodeStringToRealm(
OUT PKERB_REALM pRealm,
IN PUNICODE_STRING pString
);
KERBERR
KerbUnicodeStringToKerbString(
OUT PSTRING pKerbString,
IN PUNICODE_STRING pString
);
KERBERR
KerbConvertKdcNameToPrincipalName(
OUT PKERB_PRINCIPAL_NAME pPrincipalName,
IN PKERB_INTERNAL_NAME pKdcName
);
ULONG
KerbConvertUlongToFlagUlong(
IN ULONG Flag
);
VOID
KerbConvertLargeIntToGeneralizedTime(
OUT PKERB_TIME pClientTime,
OUT OPTIONAL INT* pClientUsec,
IN PTimeStamp pTimeStamp
);
NTSTATUS
KerbMapKerbError(
IN KERBERR KerbError
);
KERBERR NTAPI
KerbUnpackData(
IN PUCHAR pData,
IN ULONG cbDataSize,
IN ULONG PduValue,
OUT PVOID * pDecodedData
);
PSTR
KerbAllocUtf8StrFromUnicodeString(
IN PUNICODE_STRING pUnicodeString
);
EXTERN_C
NTSTATUS NTAPI
CDLocateCSystem(
ULONG EncryptionType,
PCRYPTO_SYSTEM* pCryptoSystem
);
#endif // #ifndef KRB_UTILS_HXX