Module: Net::SSH::Kerberos::Drivers::DLDriver::ClassMethods

Defined in:
lib/net/ssh/kerberos/drivers.rb

Instance Method Summary collapse

Instance Method Details

#PTR_DEC(t) ⇒ Object



14
# File 'lib/net/ssh/kerberos/drivers.rb', line 14

def PTR_DEC(t) proc{|v| v && t.new(v)} end

#PTR_REF_DEC(t) ⇒ Object



15
# File 'lib/net/ssh/kerberos/drivers.rb', line 15

def PTR_REF_DEC(t) proc{|v| v && v.ptr && t.new(v.ptr)} end

#struct2(fields, &block) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/net/ssh/kerberos/drivers.rb', line 17

def struct2(fields, &block)
  t = struct fields
  return t unless block_given?
  t.instance_variable_set :@methods, Module.new(&block)
  class << t
    alias :new_struct :new
    def new(ptr)
      mem = new_struct(ptr)
      mem.extend @methods
      mem
    end
  end
  t
end