Class: NTFS::StandardInformation

Inherits:
Object
  • Object
show all
Defined in:
lib/fs/ntfs/attrib_standard_information.rb

Overview

One $STANDARD_INFORMATION attribute.

Constant Summary collapse

FP_READONLY =

‘DOS’ File permissions.

0x00000001
FP_HIDDEN =
0x00000002
FP_SYSTEM =
0x00000004
FP_ARCHIVE =
0x00000020
FP_DEVICE =
0x00000040
FP_NORMAL =
0x00000080
FP_TEMPORARY =
0x00000100
FP_SPARSE =
0x00000200
FP_REPARSE =
0x00000400
FP_COMPRESSED =
0x00000800
FP_OFFLINE =
0x00001000
FP_NOTINDEXED =
0x00002000
FP_ENCRYPTED =
0x00004000
FP_DIRECTORY =
0x10000000
FP_INDEXVIEW =
0x20000000

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(buf) ⇒ StandardInformation

Returns a new instance of StandardInformation.



80
81
82
83
84
85
86
87
88
89
# File 'lib/fs/ntfs/attrib_standard_information.rb', line 80

def initialize(buf)
  raise "MIQ(NTFS::StandardInformation.initialize) Nil buffer" if buf.nil?

  buf          = buf.read(buf.length) if buf.kind_of?(DataRun)
  @asi         = ATTRIB_STANDARD_INFORMATION.decode(buf)
  @mTime       = NtUtil.nt_filetime_to_ruby_time(@asi['time_altered'])
  @aTime       = NtUtil.nt_filetime_to_ruby_time(@asi['time_read'])
  @cTime       = NtUtil.nt_filetime_to_ruby_time(@asi['time_created'])
  @permissions = @asi['dos_permissions']
end

Instance Attribute Details

#aTimeObject (readonly)

Returns the value of attribute aTime.



61
62
63
# File 'lib/fs/ntfs/attrib_standard_information.rb', line 61

def aTime
  @aTime
end

#cTimeObject (readonly)

Returns the value of attribute cTime.



61
62
63
# File 'lib/fs/ntfs/attrib_standard_information.rb', line 61

def cTime
  @cTime
end

#mTimeObject (readonly)

Returns the value of attribute mTime.



61
62
63
# File 'lib/fs/ntfs/attrib_standard_information.rb', line 61

def mTime
  @mTime
end

#permissionsObject (readonly)

Returns the value of attribute permissions.



61
62
63
# File 'lib/fs/ntfs/attrib_standard_information.rb', line 61

def permissions
  @permissions
end

Instance Method Details

#dumpObject



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'lib/fs/ntfs/attrib_standard_information.rb', line 91

def dump
  out = "\#<#{self.class}:0x#{'%08x' % object_id}>\n"
  out << "  Time created    : #{@cTime}\n"
  out << "  Time altered    : #{@mTime}\n"
  out << "  Time mft changed: #{NtUtil.nt_filetime_to_ruby_time(@asi['time_mft_changed'])}\n"
  out << "  Time read       : #{@aTime}\n"
  out << "  Permissions     : 0x#{'%08x' % @permissions}\n"
  out << "  Max versions    : #{@asi['max_versions']}\n"
  out << "  Version number  : #{@asi['ver_num']}\n"
  out << "  Class id        : #{@asi['class_id']}\n"
  out << "  Owner id        : #{@asi['owner_id']}\n"
  out << "  Security id     : #{@asi['security_id']}\n"
  out << "  Quota charged   : #{@asi['quota_charged']}\n"
  out << "  Update seq num  : #{@asi['update_seq_num']}\n"
  out << "---\n"
end