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

  1. #ifndef __LNKLIST_H__
  2. #define __LNKLIST_H__
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include "pstypes.h"
  7. #include "dispif.h"
  8. #include "provif.h"
  9. #include <sha.h>
  10. // a structure with a bunch of funcs
  11. typedef struct FuncList
  12. {
  13. SPACQUIRECONTEXT* SPAcquireContext;
  14. SPRELEASECONTEXT* SPReleaseContext;
  15. SPGETPROVINFO* SPGetProvInfo;
  16. SPGETTYPEINFO* SPGetTypeInfo;
  17. SPGETSUBTYPEINFO* SPGetSubtypeInfo;
  18. SPGETPROVPARAM* SPGetProvParam;
  19. SPSETPROVPARAM* SPSetProvParam;
  20. SPENUMTYPES* SPEnumTypes;
  21. SPENUMSUBTYPES* SPEnumSubtypes;
  22. SPENUMITEMS* SPEnumItems;
  23. SPCREATETYPE* SPCreateType;
  24. SPDELETETYPE* SPDeleteType;
  25. SPCREATESUBTYPE* SPCreateSubtype;
  26. SPDELETESUBTYPE* SPDeleteSubtype;
  27. SPREADITEM* SPReadItem;
  28. SPWRITEITEM* SPWriteItem;
  29. SPOPENITEM* SPOpenItem;
  30. SPCLOSEITEM* SPCloseItem;
  31. SPDELETEITEM* SPDeleteItem;
  32. SPWRITEACCESSRULESET* SPWriteAccessRuleset;
  33. SPREADACCESSRULESET* SPReadAccessRuleset;
  34. FPASSWORDCHANGENOTIFY* FPasswordChangeNotify;
  35. } FUNCLIST, *PFUNCLIST;
  36. // provider list element
  37. typedef struct _PROV_LISTITEM
  38. {
  39. // set by creator before adding to list
  40. PST_PROVIDERINFO sProviderInfo;
  41. HINSTANCE hInst;
  42. FUNCLIST fnList;
  43. } PROV_LIST_ITEM, *PPROV_LIST_ITEM;
  44. //
  45. // milliseconds stale image cache elements live
  46. //
  47. #ifdef DBG
  48. #define IMAGE_TTL (60*1000) // 1 minute in debug
  49. #else
  50. #define IMAGE_TTL (60*1000*60) // 60 minutes retail
  51. #endif // DBG
  52. typedef struct _NT_HASHED_PASSWORD {
  53. LUID LogonID;
  54. BYTE HashedPassword[A_SHA_DIGEST_LEN];
  55. DWORD dwLastAccess;
  56. struct _NT_HASHED_PASSWORD *Next;
  57. } NT_HASHED_PASSWORD, *PNT_HASHED_PASSWORD, *LPNT_HASHED_PASSWORD;
  58. // construct, destruct lists
  59. BOOL ListConstruct();
  60. void ListTeardown();
  61. //////////////////////
  62. // Item list
  63. // search
  64. PPROV_LIST_ITEM SearchProvListByID(const PST_PROVIDERID* pProvID);
  65. #ifdef __cplusplus
  66. }
  67. #endif
  68. #endif // __LNKLIST_H__