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.
|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1997.
//
// File: context.h
//
// Contents: Security Context structures and manipulation
//
// Classes:
//
// Functions:
//
// History: 2-24-97 RichardW Created
//
//----------------------------------------------------------------------------
#ifndef __CONTEXT_H__
#define __CONTEXT_H__
typedef enum _XTCB_CONTEXT_TYPE { XtcbContextClient, XtcbContextServer, XtcbContextClientMapped, XtcbContextServerMapped } XTCB_CONTEXT_TYPE ;
typedef enum _XTCB_CONTEXT_STATE { ContextFirstCall, ContextSecondCall, ContextThirdCall } XTCB_CONTEXT_STATE ;
#define XTCB_CONTEXT_CHECK 'txtC'
typedef struct _XTCB_CONTEXT_CORE { ULONG Check ; XTCB_CONTEXT_TYPE Type ; XTCB_CONTEXT_STATE State ; LONG RefCount ; ULONG Attributes ; UCHAR RootKey[ SEED_KEY_SIZE ]; UCHAR InboundKey[ SEED_KEY_SIZE ]; UCHAR OutboundKey[ SEED_KEY_SIZE ]; ULONG InboundNonce ; ULONG OutboundNonce ; ULONG CoreTokenHandle ; } XTCB_CONTEXT_CORE, * PXTCB_CONTEXT_CORE ;
typedef struct _XTCB_CONTEXT { XTCB_CONTEXT_CORE Core ; LSA_SEC_HANDLE CredHandle ; HANDLE Token ; } XTCB_CONTEXT, * PXTCB_CONTEXT ;
NTSTATUS XtcbInitializeContexts( VOID );
PXTCB_CONTEXT XtcbCreateContextRecord( XTCB_CONTEXT_TYPE Type, PXTCB_CRED_HANDLE Handle );
VOID XtcbDeleteContextRecord( PXTCB_CONTEXT Context );
NTSTATUS XtcbMapContextToUser( PXTCB_CONTEXT Context, PSecBuffer ContextBuffer );
BOOL XtcbRefContextRecord( PXTCB_CONTEXT Context );
VOID XtcbDerefContextRecordEx( PXTCB_CONTEXT Context, LONG RefBy );
#define XtcbDerefContextRecord( C ) XtcbDerefContextRecordEx( C, 1 );
#endif // __CONTEXT_H__
|