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.
 
 
 
 
 
 

91 lines
1.8 KiB

//+-----------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (c) Microsoft Corporation 1992 - 1996
//
// File: kerblist.h
//
// Contents: structure and protypes needed for generic Kerberos lists
//
//
// History: 16-Apr-1996 MikeSw Created
//
//------------------------------------------------------------------------
#ifndef __KERBLIST_H__
#define __KERBLIST_H__
//
// Generic list entry structure allowing common code for inserting
// logon sessions, credentials, and contexts.
//
#if DBG
#define KerbInitializeList( a, b ) KerbSafeInitializeList( a, b )
#else
#define KerbInitializeList( a, b ) KerbSafeInitializeList( a )
#endif
NTSTATUS
KerbSafeInitializeList(
IN PKERBEROS_LIST List
#if DBG
,
IN DWORD Enum
#endif
);
VOID
KerbFreeList(
IN PKERBEROS_LIST List
);
VOID
KerbInsertListEntry(
IN PKERBEROS_LIST_ENTRY ListEntry,
IN PKERBEROS_LIST List
);
VOID
KerbInsertListEntryTail(
IN PKERBEROS_LIST_ENTRY ListEntry,
IN PKERBEROS_LIST List
);
VOID
KerbReferenceListEntry(
IN PKERBEROS_LIST List,
IN PKERBEROS_LIST_ENTRY ListEntry,
IN BOOLEAN RemoveFromList
);
BOOLEAN
KerbDereferenceListEntry(
IN PKERBEROS_LIST_ENTRY ListEntry,
IN PKERBEROS_LIST List
);
VOID
KerbInitializeListEntry(
IN OUT PKERBEROS_LIST_ENTRY ListEntry
);
VOID
KerbValidateListEx(
IN PKERBEROS_LIST List
);
#if DBG
#define KerbValidateList(_List_) KerbValidateListEx(_List_)
#else
#define KerbValidateList(_List_)
#endif // DBG
#define KerbLockList(_List_) SafeEnterCriticalSection(&(_List_)->Lock)
#define KerbUnlockList(_List_) SafeLeaveCriticalSection(&(_List_)->Lock)
#endif // __KERBLIST_H_