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.

142 lines
2.7 KiB

  1. /*++
  2. Copyright (c) 1991 Microsoft Corporation
  3. Module Name:
  4. attrib.hxx
  5. Abstract:
  6. Author:
  7. Environment:
  8. ULIB, User Mode
  9. --*/
  10. #if ! defined( _ATTRIB_ )
  11. #define _ATTRIB_
  12. #include "object.hxx"
  13. #include "keyboard.hxx"
  14. #include "program.hxx"
  15. DECLARE_CLASS( TREE );
  16. class ATTRIB : public PROGRAM {
  17. public:
  18. DECLARE_CONSTRUCTOR( ATTRIB );
  19. NONVIRTUAL
  20. BOOLEAN
  21. Initialize (
  22. );
  23. NONVIRTUAL
  24. BOOLEAN
  25. ChangeFileAttributes (
  26. IN PFSNODE FsnFile
  27. );
  28. NONVIRTUAL
  29. VOID
  30. DisplayFileAttribute (
  31. IN PCFSNODE Fsn
  32. );
  33. NONVIRTUAL
  34. VOID
  35. DisplayFileNotFoundMessage(
  36. );
  37. NONVIRTUAL
  38. BOOLEAN
  39. ExamineFiles(
  40. IN PFSN_DIRECTORY Directory
  41. );
  42. NONVIRTUAL
  43. PFSN_DIRECTORY
  44. GetInitialDirectory(
  45. ) CONST;
  46. NONVIRTUAL
  47. VOID
  48. Terminate(
  49. );
  50. private:
  51. FLAG_ARGUMENT _FlagAddSystemAttribute;
  52. FLAG_ARGUMENT _FlagRemoveSystemAttribute;
  53. FLAG_ARGUMENT _FlagAddHiddenAttribute;
  54. FLAG_ARGUMENT _FlagRemoveHiddenAttribute;
  55. FLAG_ARGUMENT _FlagAddReadOnlyAttribute;
  56. FLAG_ARGUMENT _FlagRemoveReadOnlyAttribute;
  57. FLAG_ARGUMENT _FlagAddArchiveAttribute;
  58. FLAG_ARGUMENT _FlagRemoveArchiveAttribute;
  59. FLAG_ARGUMENT _FlagRecurseDirectories;
  60. FLAG_ARGUMENT _FlagActOnDirectories;
  61. FLAG_ARGUMENT _FlagDisplayHelp;
  62. PATH_ARGUMENT _FileNameArgument;
  63. PFSN_DIRECTORY _InitialDirectory;
  64. FSN_FILTER _FsnFilterDirectory;
  65. FSN_FILTER _FsnFilterFile;
  66. BOOLEAN _PrintAttribInfo;
  67. STREAM_MESSAGE _Message;
  68. PATH _FullFileNamePath;
  69. BOOLEAN _FoundFile;
  70. FSN_ATTRIBUTE _MakeMask;
  71. FSN_ATTRIBUTE _ResetMask;
  72. DSTRING _EndOfLineString;
  73. PSTREAM _OutStream;
  74. };
  75. INLINE
  76. PFSN_DIRECTORY
  77. ATTRIB::GetInitialDirectory(
  78. ) CONST
  79. /*++
  80. Routine Description:
  81. Arguments:
  82. None.
  83. Return Value:
  84. PFSN_DIRECTORY
  85. --*/
  86. {
  87. return( _InitialDirectory );
  88. }
  89. #endif // _ATTRIB_