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.
 
 
 
 
 
 

88 lines
2.2 KiB

#ifndef __LNKLIST_H__
#define __LNKLIST_H__
#ifdef __cplusplus
extern "C" {
#endif
#include "pstypes.h"
#include "dispif.h"
#include "provif.h"
#include <sha.h>
// a structure with a bunch of funcs
typedef struct FuncList
{
SPACQUIRECONTEXT* SPAcquireContext;
SPRELEASECONTEXT* SPReleaseContext;
SPGETPROVINFO* SPGetProvInfo;
SPGETTYPEINFO* SPGetTypeInfo;
SPGETSUBTYPEINFO* SPGetSubtypeInfo;
SPGETPROVPARAM* SPGetProvParam;
SPSETPROVPARAM* SPSetProvParam;
SPENUMTYPES* SPEnumTypes;
SPENUMSUBTYPES* SPEnumSubtypes;
SPENUMITEMS* SPEnumItems;
SPCREATETYPE* SPCreateType;
SPDELETETYPE* SPDeleteType;
SPCREATESUBTYPE* SPCreateSubtype;
SPDELETESUBTYPE* SPDeleteSubtype;
SPREADITEM* SPReadItem;
SPWRITEITEM* SPWriteItem;
SPOPENITEM* SPOpenItem;
SPCLOSEITEM* SPCloseItem;
SPDELETEITEM* SPDeleteItem;
SPWRITEACCESSRULESET* SPWriteAccessRuleset;
SPREADACCESSRULESET* SPReadAccessRuleset;
FPASSWORDCHANGENOTIFY* FPasswordChangeNotify;
} FUNCLIST, *PFUNCLIST;
// provider list element
typedef struct _PROV_LISTITEM
{
// set by creator before adding to list
PST_PROVIDERINFO sProviderInfo;
HINSTANCE hInst;
FUNCLIST fnList;
} PROV_LIST_ITEM, *PPROV_LIST_ITEM;
//
// milliseconds stale image cache elements live
//
#ifdef DBG
#define IMAGE_TTL (60*1000) // 1 minute in debug
#else
#define IMAGE_TTL (60*1000*60) // 60 minutes retail
#endif // DBG
typedef struct _NT_HASHED_PASSWORD {
LUID LogonID;
BYTE HashedPassword[A_SHA_DIGEST_LEN];
DWORD dwLastAccess;
struct _NT_HASHED_PASSWORD *Next;
} NT_HASHED_PASSWORD, *PNT_HASHED_PASSWORD, *LPNT_HASHED_PASSWORD;
// construct, destruct lists
BOOL ListConstruct();
void ListTeardown();
//////////////////////
// Item list
// search
PPROV_LIST_ITEM SearchProvListByID(const PST_PROVIDERID* pProvID);
#ifdef __cplusplus
}
#endif
#endif // __LNKLIST_H__