Class: Nl::Genl::GenlMsgHdr

Inherits:
Struct
  • Object
show all
Defined in:
nl/lib/nl/genl/wire.rb,
nl/lib/nl/genl/wire.rb

Overview

Header prepended to a Generic Netlink payload after the Netlink header.

This corresponds to Linux's struct genlmsghdr.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#cmd ⇒ Integer

Returns family-specific command identifier.

Returns:

  • (Integer) —

    family-specific command identifier



62
63
64
65
66
# File 'nl/lib/nl/genl/wire.rb', line 62

GenlMsgHdr = Struct.new(
  :cmd, #: Integer
  :version, #: Integer
  :reserved, #: Integer
)

#reserved ⇒ Integer

Returns reserved field, which must be zero.

Returns:

  • (Integer) —

    reserved field, which must be zero



62
63
64
65
66
# File 'nl/lib/nl/genl/wire.rb', line 62

GenlMsgHdr = Struct.new(
  :cmd, #: Integer
  :version, #: Integer
  :reserved, #: Integer
)

#version ⇒ Integer

Returns family-specific protocol version.

Returns:

  • (Integer) —

    family-specific protocol version



62
63
64
65
66
# File 'nl/lib/nl/genl/wire.rb', line 62

GenlMsgHdr = Struct.new(
  :cmd, #: Integer
  :version, #: Integer
  :reserved, #: Integer
)

Class Method Details

.decode(decoder) ⇒ GenlMsgHdr

Decodes a header from the decoder's current position.

Parameters:

  • decoder (Decoder) —

    the source decoder

Returns:



81
82
83
# File 'nl/lib/nl/genl/wire.rb', line 81

def self.decode(decoder)
  new(*decoder.get_values(FORMAT))
end

Instance Method Details

#encode(encoder) ⇒ void

This method returns an undefined value.

Encodes this header at the encoder's current position.

Parameters:

  • encoder (Encoder) —

    the destination encoder



90
91
92
# File 'nl/lib/nl/genl/wire.rb', line 90

def encode(encoder)
  encoder.put_values(FORMAT, to_a)
end