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 - 1996
//
// File: credmgr.h
//
// Contents: Structures and prototyps for Kerberos credential list
//
//
// History: 17-April-1996 Created MikeSw
//
//------------------------------------------------------------------------
#ifndef __CREDMGR_H__
#define __CREDMGR_H__
//
// All global variables declared as EXTERN will be allocated in the file
// that defines CREDMGR_ALLOCATE
//
#ifdef EXTERN
#undef EXTERN
#endif
#ifdef CREDMGR_ALLOCATE
#define EXTERN
#else
#define EXTERN extern
#endif
EXTERN KERBEROS_LIST KerbCredentialList; EXTERN BOOLEAN KerberosCredentialsInitialized;
#define KerbGetCredentialHandle(_Credential_) ((LSA_SEC_HANDLE)(_Credential_))
NTSTATUS KerbInitCredentialList( VOID );
VOID KerbFreeCredentialList( VOID );
NTSTATUS KerbAllocateCredential( PKERB_CREDENTIAL * NewCredential );
NTSTATUS KerbInsertCredential( IN PKERB_CREDENTIAL Credential );
NTSTATUS KerbReferenceCredential( IN LSA_SEC_HANDLE CredentialHandle, IN ULONG Flags, IN BOOLEAN RemoveFromList, OUT PKERB_CREDENTIAL * Credential );
VOID KerbDereferenceCredential( IN PKERB_CREDENTIAL Credential );
VOID KerbPurgeCredentials( IN PLIST_ENTRY CredentialList );
NTSTATUS KerbCreateCredential( IN PLUID LogonId, IN PKERB_LOGON_SESSION LogonSession, IN ULONG CredentialUseFlags, IN PKERB_PRIMARY_CREDENTIAL * SuppliedCredentials, IN ULONG CredentialFlags, IN PUNICODE_STRING CredentialName, OUT PKERB_CREDENTIAL * NewCredential, OUT PTimeStamp ExpirationTime );
VOID KerbFreePrimaryCredentials( IN PKERB_PRIMARY_CREDENTIAL Credentials, IN BOOLEAN FreeBaseStructure );
NTSTATUS KerbGetTicketForCredential( IN OPTIONAL PKERB_LOGON_SESSION LogonSession, IN PKERB_CREDENTIAL Credential, IN OPTIONAL PKERB_CREDMAN_CRED CredManCredentials, IN OPTIONAL PUNICODE_STRING SuppRealm ); //
// Credential flags
//
#define KERB_CRED_INBOUND SECPKG_CRED_INBOUND
#define KERB_CRED_OUTBOUND SECPKG_CRED_OUTBOUND
#define KERB_CRED_BOTH SECPKG_CRED_BOTH
#define KERB_CRED_TGT_AVAIL 0x80000000
#define KERB_CRED_NO_PAC 0x40000000
#define KERB_CRED_RESTRICTED 0x10000000
#define KERB_CRED_S4U_REQUIRED 0x01000000
#define KERB_CRED_LOCATE_ONLY 0x04000000 // Don't update the supplied credentials. Used for S4UToSelf location only.
#define KERB_CRED_LOCAL_ACCOUNT 0x08000000 // set on local accounts so Cred Man may be used
#define KERB_CRED_NULL_SESSION 0x20000000
#define KERB_CRED_LS_DEFAULT 0x00100000
#define KERB_CRED_MATCH_FLAGS (KERB_CRED_INBOUND | KERB_CRED_OUTBOUND | KERB_CRED_NULL_SESSION | KERB_CRED_NO_PAC)
#endif // __CREDMGR_H__
|