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.

96 lines
2.7 KiB

  1. /*++
  2. Copyright (c) 2000-2001 Microsoft Corporation
  3. Module Name:
  4. extattr.h
  5. Abstract:
  6. Get's additional file attributes beyond what you get with
  7. FindFirstFile/FindNextFile.
  8. Author:
  9. Stefan R. Steiner [ssteiner] 02-27-2000
  10. Revision History:
  11. --*/
  12. #ifndef __H_EXTATTR_
  13. #define __H_EXTATTR_
  14. class CFsdVolumeState;
  15. struct SDirectoryEntry;
  16. static CBsString cwsFsdNoData = L"--------";
  17. inline VOID FsdEaSetNoDataString(
  18. IN LPCWSTR pwszStr
  19. )
  20. {
  21. cwsFsdNoData = pwszStr;
  22. }
  23. struct SFileExtendedInfo
  24. {
  25. CBsString cwsOwnerSid;
  26. CBsString cwsGroupSid;
  27. ULONGLONG ullTotalBytesChecksummed;
  28. ULONGLONG ullTotalBytesNamedDataStream;
  29. ULONGLONG ullFileIndex;
  30. LONG lNumberOfLinks; // hard links
  31. LONG lNumDACEs;
  32. LONG lNumSACEs;
  33. LONG lNumNamedDataStreams;
  34. LONG lNumPropertyStreams;
  35. WORD wReparsePointDataSize;
  36. WORD wDACLSize;
  37. WORD wSACLSize;
  38. WORD wSecurityDescriptorControl;
  39. ULONG ulReparsePointTag;
  40. CBsString cwsReparsePointDataChecksum;
  41. CBsString cwsUnnamedStreamChecksum;
  42. CBsString cwsNamedDataStreamChecksum;
  43. CBsString cwsDACLChecksum;
  44. CBsString cwsSACLChecksum;
  45. CBsString cwsEncryptedRawDataChecksum;
  46. CBsString cwsObjectId;
  47. CBsString cwsObjectIdExtendedDataChecksum;
  48. SFileExtendedInfo() : lNumDACEs( 0 ),
  49. lNumSACEs( 0 ),
  50. lNumNamedDataStreams( 0 ),
  51. lNumPropertyStreams( 0 ),
  52. ulReparsePointTag( 0 ),
  53. ullTotalBytesChecksummed( 0 ),
  54. ullTotalBytesNamedDataStream( 0 ),
  55. ullFileIndex( 0 ),
  56. lNumberOfLinks( 0 ),
  57. wReparsePointDataSize( 0 ),
  58. wDACLSize( 0 ),
  59. wSACLSize( 0 ),
  60. wSecurityDescriptorControl( 0 ),
  61. cwsReparsePointDataChecksum( cwsFsdNoData ),
  62. cwsUnnamedStreamChecksum( cwsFsdNoData ),
  63. cwsNamedDataStreamChecksum( cwsFsdNoData ),
  64. cwsDACLChecksum( cwsFsdNoData ),
  65. cwsSACLChecksum( cwsFsdNoData ),
  66. cwsObjectIdExtendedDataChecksum( cwsFsdNoData ),
  67. cwsEncryptedRawDataChecksum( cwsFsdNoData ) { }
  68. };
  69. VOID
  70. GetExtendedFileInfo(
  71. IN CDumpParameters *pcParams,
  72. IN CFsdVolumeState *pcFsdVolState,
  73. IN const CBsString& cwsDirPath,
  74. IN BOOL bSingleEntryOutput,
  75. IN OUT SDirectoryEntry *psDirEntry,
  76. OUT SFileExtendedInfo *psExtendedInfo
  77. );
  78. #endif // __H_EXTATTR_