windows-nt/Source/XPSP1/NT/ds/security/protocols/kerberos/client2/sidcache.h

97 lines
1.7 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//+-----------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (c) Microsoft Corporation 1992 - 1997
//
// File: sidcache.h
//
// Contents: public types & functions used for logon sid caching
//
//
// History: 27-May-1998 MikeSw Created
//
//------------------------------------------------------------------------
#ifndef __SIDCACHE_H__
#define __SIDCACHE_H__
//
// This structure is marshalled
//
typedef struct _KERB_SID_CACHE_ENTRY {
KERBEROS_LIST_ENTRY Next;
ULONG_PTR Base;
ULONG Size;
ULONG Version;
PSID Sid;
UNICODE_STRING LogonUserName;
UNICODE_STRING LogonDomainName;
UNICODE_STRING LogonRealm;
} KERB_SID_CACHE_ENTRY, *PKERB_SID_CACHE_ENTRY;
#ifndef WIN32_CHICAGO
NTSTATUS
KerbInitializeLogonSidCache(
VOID
);
PKERB_SID_CACHE_ENTRY
KerbLocateLogonSidCacheEntry(
IN PUNICODE_STRING LogonUserName,
IN PUNICODE_STRING LogonDomainName
);
VOID
KerbDereferenceSidCacheEntry(
IN PKERB_SID_CACHE_ENTRY CacheEntry
);
VOID
KerbCacheLogonSid(
IN PUNICODE_STRING LogonUserName,
IN PUNICODE_STRING LogonDomainName,
IN PUNICODE_STRING LogonRealm,
IN PSID UserSid
);
VOID
KerbPutString(
IN PUNICODE_STRING InputString,
OUT PUNICODE_STRING OutputString,
IN LONG_PTR Offset,
IN OUT PBYTE * Where
);
NTSTATUS
KerbGetMachineSid(
OUT PSID * MachineSid
);
VOID
KerbWriteMachineSid(
IN OPTIONAL PSID MachineSid
);
#else // WIN32_CHICAGO
//
// define these to do nothing
//
#define KerbInitializeLogonSidCache() STATUS_SUCCESS
#define KerbLocateLogonSidCacheEntry(x,y) NULL
#define KerbDereferenceSidCacheEntry( x)
#endif // WIN32_CHICAGO
#endif // __SIDCACHE_H__