Sha256: f3a58a660e6b81e20dc6b9f873dd01656fc2f2c7a2487cc02692ff1efdf6ab89

Contents?: true

Size: 1.47 KB

Versions: 36

Compression:

Stored size: 1.47 KB

Contents

module RubySMB
  module SMB2
    module Packet
      # An SMB2 Query Directory Request Packet as defined in
      # [2.2.33 SMB2 QUERY_DIRECTORY Request](https://msdn.microsoft.com/en-us/library/cc246551.aspx)
      class QueryDirectoryRequest < RubySMB::GenericPacket
        COMMAND = RubySMB::SMB2::Commands::QUERY_DIRECTORY

        endian       :little
        smb2_header  :smb2_header
        uint16       :structure_size,          label: 'Structure Size', initial_value: 33
        uint8        :file_information_class,  label: 'File Information Class'

        struct :flags do
          bit3  :reserved2,       label: 'Reserved Space'
          bit1  :reopen,          label: 'Reopen Search'
          bit1  :reserved,        label: 'Reserved Space'
          bit1  :index_specified, label: 'Start at Specified Index'
          bit1  :return_single,   label: 'Return Single Entry'
          bit1  :restart_scans,   label: 'Restart Enumeration from Start'
        end

        uint32        :file_index,    label: 'File Index'
        smb2_fileid   :file_id,       label: 'File ID'
        uint16        :name_offset,   label: 'File Name Offset',      initial_value: -> { name.abs_offset }
        uint16        :name_length,   label: 'File Name Length',      initial_value: -> { name.do_num_bytes }
        uint32        :output_length, label: 'Output Buffer Length'
        string16      :name,          label: 'Name/Search Pattern',   read_length: :name_length

      end
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
ruby_smb-3.3.13 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.3.12 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.3.11 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.3.10 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.3.9 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.3.7 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.3.6 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.3.5 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.3.4 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.3.3 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.3.2 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.3.1 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.3.0 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.2.8 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.2.7 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.2.6 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.2.5 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.2.4 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.2.3 lib/ruby_smb/smb2/packet/query_directory_request.rb
ruby_smb-3.2.2 lib/ruby_smb/smb2/packet/query_directory_request.rb