windows-nt/Source/XPSP1/NT/ds/security/protocols/xtcb/protos.h
2020-09-26 16:20:57 +08:00

144 lines
3.5 KiB
C

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1995.
//
// File: protos.h
//
// Contents: Xtcb Security Package Prototypes
//
// Classes:
//
// Functions:
//
// History: 2-19-97 RichardW Created
//
//----------------------------------------------------------------------------
SpInitializeFn XtcbInitialize;
SpGetInfoFn XtcbGetInfo;
SpAcceptCredentialsFn XtcbAcceptCredentials;
SpAcquireCredentialsHandleFn XtcbAcquireCredentialsHandle;
SpFreeCredentialsHandleFn XtcbFreeCredentialsHandle;
SpQueryCredentialsAttributesFn XtcbQueryCredentialsAttributes;
SpSaveCredentialsFn XtcbSaveCredentials;
SpGetCredentialsFn XtcbGetCredentials;
SpDeleteCredentialsFn XtcbDeleteCredentials;
SpInitLsaModeContextFn XtcbInitLsaModeContext;
SpDeleteContextFn XtcbDeleteContext;
SpAcceptLsaModeContextFn XtcbAcceptLsaModeContext;
LSA_AP_LOGON_TERMINATED XtcbLogonTerminated;
SpApplyControlTokenFn XtcbApplyControlToken;
LSA_AP_CALL_PACKAGE XtcbCallPackage;
LSA_AP_CALL_PACKAGE XtcbCallPackageUntrusted;
SpShutdownFn XtcbShutdown;
SpGetUserInfoFn XtcbGetUserInfo;
SpInstanceInitFn XtcbInstanceInit;
SpInitUserModeContextFn XtcbInitUserModeContext;
SpMakeSignatureFn XtcbMakeSignature;
SpVerifySignatureFn XtcbVerifySignature;
SpSealMessageFn XtcbSealMessage;
SpUnsealMessageFn XtcbUnsealMessage;
SpGetContextTokenFn XtcbGetContextToken;
SpQueryContextAttributesFn XtcbQueryContextAttributes;
SpDeleteContextFn XtcbDeleteUserModeContext;
SpCompleteAuthTokenFn XtcbCompleteAuthToken;
SpFormatCredentialsFn XtcbFormatCredentials;
SpMarshallSupplementalCredsFn XtcbMarshallSupplementalCreds;
SpGetExtendedInformationFn XtcbGetExtendedInformation ;
SpQueryContextAttributesFn XtcbQueryLsaModeContext ;
//////////////////////////////
//
// Misc. Utility functions
//
//////////////////////////////
BOOL
XtcbDupSecurityString(
PSECURITY_STRING Dest,
PSECURITY_STRING Source
);
BOOL
XtcbDupStringToSecurityString(
PSECURITY_STRING Dest,
PWSTR Source
);
BOOL
XtcbCaptureAuthData(
PVOID pvAuthData,
PSEC_WINNT_AUTH_IDENTITY * AuthData
);
BOOL
XtcbGenerateChallenge(
PUCHAR Challenge,
ULONG Length,
PULONG Actual
);
BOOL
XtcbAnsiStringToSecurityString(
PSECURITY_STRING Dest,
PSTRING Source
);
BOOL
XtcbSecurityStringToAnsiString(
PSTRING Dest,
PSECURITY_STRING Source
);
PXTCB_PAC
XtcbCreatePacForCaller(
VOID
);
SECURITY_STATUS
XtcbBuildInitialToken(
PXTCB_CREDS Creds,
PXTCB_CONTEXT Context,
PSECURITY_STRING Target,
PSECURITY_STRING Group,
PUCHAR ServerKey,
PUCHAR GroupKey,
PUCHAR ClientKey,
PUCHAR * Token,
PULONG TokenLen
);
BOOL
XtcbParseInputToken(
IN PUCHAR Token,
IN ULONG TokenLength,
OUT PSECURITY_STRING Client,
OUT PSECURITY_STRING Group
);
SECURITY_STATUS
XtcbAuthenticateClient(
PXTCB_CONTEXT Context,
PUCHAR Token,
ULONG TokenLength,
PUCHAR ClientKey,
PUCHAR GroupKey,
PUCHAR MyKey
);
SECURITY_STATUS
XtcbBuildReplyToken(
PXTCB_CONTEXT Context,
ULONG fContextReq,
PSecBuffer pOutput
);