Source code of Windows XP (NT5)
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
2.9 KiB

  1. //+-------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1996 - 1996.
  5. //
  6. // File: alsup.hxx
  7. //
  8. // Contents: Function prototypes and definitions for the CAccessList
  9. // support functions
  10. //
  11. // History: 06-Nov-96 MacM Created
  12. //
  13. //--------------------------------------------------------------------
  14. #ifndef __ALSUP_HXX__
  15. #define __ALSUP_HXX__
  16. #include <acclist.hxx>
  17. #include <martaexp.h>
  18. ULONG GetOrderTypeForAccessEntry(IN PWSTR pwszProperty,
  19. IN PACTRL_ACCESS_ENTRY pAE,
  20. IN SECURITY_INFORMATION SeInfo);
  21. ULONG OrderListBySid(IN PACCLIST_CNODE pList,
  22. IN ULONG iStart,
  23. IN ULONG iLen);
  24. BOOL CompAndMarkCompressNode(IN PVOID pvAE,
  25. IN PVOID pvNode);
  26. ACC_ACLBLD_TYPE GetATypeForEntry(IN PWSTR pwszProperty,
  27. IN PACTRL_ACCESS_ENTRY pAE,
  28. IN SECURITY_INFORMATION SeInfo);
  29. DWORD LookupTrusteeNodeInformation(IN PWSTR pwszServer,
  30. IN PTRUSTEE_NODE pTrusteeNode,
  31. IN ULONG fOptions);
  32. BOOL CompProps(IN PVOID pvProp,
  33. IN PVOID pvNode);
  34. BOOL CompGuids(IN PVOID pvGuid,
  35. IN PVOID pvNode);
  36. BOOL DoPropertiesMatch(IN PWSTR pwszProp1,
  37. IN PWSTR pwszProp2);
  38. BOOL CompTrusteeToTrusteeNode(IN PVOID pvTrustee,
  39. IN PVOID pvNode2);
  40. BOOL CompTrustees(IN PVOID pvTrustee,
  41. IN PVOID pvTrustee2);
  42. BOOL CompInheritProps(IN PVOID pvInheritProp,
  43. IN PVOID pvNode2);
  44. void DelTrusteeNode(PVOID pvNode);
  45. void DelAcclistNode(PVOID pvNode);
  46. extern "C"
  47. {
  48. int __cdecl CNodeCompare(const void *pv1, const void *pv2);
  49. }
  50. DWORD GetNodeForGuid(CSList& List,
  51. GUID *pGuid,
  52. PACCLIST_ATOACCESS *ppNode);
  53. DWORD GetNodeForProperty(CSList& List,
  54. PWSTR pwszProperty,
  55. PACCLIST_NODE *ppNode);
  56. DWORD InsertAtoANode(CSList& List,
  57. GUID *pProperty,
  58. PACE_HEADER pAce,
  59. ULONG fInherit);
  60. DWORD AceToAccessEntry(PACE_HEADER pAce,
  61. ULONG fInheritLevel,
  62. SE_OBJECT_TYPE ObjType,
  63. IN MARTA_KERNEL_TYPE KernelObjectType,
  64. PACTRL_ACCESS_ENTRY pAE);
  65. DWORD SetAccessListLookupServer(IN PWSTR pwszPath,
  66. IN CAccessList &AccessList );
  67. #endif