Parent

Class/Module Index [+]

Quicksearch

Rex::Proto::NTLM::Base::FieldSet

base class of data structure

Public Class Methods

define(&block) click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 165
def define(&block)
        c = Class.new(self)
        def c.inherited(subclass)
                proto = @proto
                subclass.instance_eval {
                        @proto = proto
                        }
        end
        c.module_eval(&block)
        c
end
int16LE(name, opts) click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 181
def int16LE(name, opts)
        add_field(name, Int16LE, opts)
end
int32LE(name, opts) click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 185
def int32LE(name, opts)
        add_field(name, Int32LE, opts)
end
int64LE(name, opts) click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 189
def int64LE(name, opts)
        add_field(name, Int64LE, opts)
end
names() click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 201
def names
        @proto.map{|n, t, o| n}
end
new() click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 233
def initialize
        @alist = self.class.prototypes.map{ |n, t, o| [n, t.new(o)] }
end
opts() click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 209
def opts
        @proto.map{|n, t, o| o}
end
prototypes() click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 197
def prototypes
        @proto
end
security_buffer(name, opts) click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 193
def security_buffer(name, opts)
        add_field(name, SecurityBuffer, opts)
end
string(name, opts) click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 177
def string(name, opts)
        add_field(name, String, opts)
end
types() click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 205
def types
        @proto.map{|n, t, o| t}
end

Public Instance Methods

[](name) click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 249
def [](name)
        a = @alist.assoc(name.to_s.intern)
        raise ArgumentError, "no such field: #{name}" unless a
        a[1]
end
[]=(name, val) click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 255
def []=(name, val)
        a = @alist.assoc(name.to_s.intern)
        raise ArgumentError, "no such field: #{name}" unless a
        a[1] = val
end
disable(name) click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 265
def disable(name)
        self[name].active = false
end
enable(name) click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 261
def enable(name)
        self[name].active = true
end
parse(str, offset=0) click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 241
def parse(str, offset=0)
        @alist.inject(offset){|cur, a|  cur += a[1].parse(str, cur)}
end
serialize() click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 237
def serialize
        @alist.map{|n, f| f.serialize }.join
end
size() click to toggle source
# File lib/rex/proto/ntlm/base.rb, line 245
def size
        @alist.inject(0){|sum, a| sum += a[1].size}
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.