class Metasm::EBPF::Memref

Attributes

base[RW]
msz[RW]
offset[RW]

Public Class Methods

new(base, offset, msz) click to toggle source
# File metasm/cpu/ebpf/main.rb, line 23
def initialize(base, offset, msz)
        @base = base
        @offset = offset
        @msz = msz
end

Public Instance Methods

render() click to toggle source
# File metasm/cpu/ebpf/render.rb, line 19
def render
        r = []
        r << { 1 => 'byte ', 2 => 'word ', 4 => 'dword ', 8 => 'qword ' }[@msz]
        r << '['
        r << @base if @base
        r << '+' if @base and @offset
        r << @offset if @offset
        r << ']'
end
symbolic(di=nil) click to toggle source
# File metasm/cpu/ebpf/main.rb, line 29
def symbolic(di=nil)
        p = Expression[@base.symbolic] if base
        p = Expression[p, :+, @offset] if offset
        Indirection[p, @msz, (di.address if di)]
end