Implements the Reserved bits for TCPHeader.
Header Definition
Fixnum (1 bit) :r1 Fixnum (1 bit) :r2 Fixnum (1 bit) :r3
Methods
Included Modules
- PacketFu START:includes
Class Public methods
Source: show
# File lib/packetfu/protos/tcp.rb, line 95 def initialize(args={}) super( args[:r1] || 0, args[:r2] || 0, args[:r3] || 0) if args.kind_of? Hash end
Instance Public methods
Reads a string to populate the object.
Source: show
# File lib/packetfu/protos/tcp.rb, line 108 def read(str) force_binary(str) return self if str.nil? || str.size.zero? if 1.respond_to? :ord byte = str[0].ord else byte = str[0] end self[:r1] = byte & 0b00000100 == 0b00000100 ? 1 : 0 self[:r2] = byte & 0b00000010 == 0b00000010 ? 1 : 0 self[:r3] = byte & 0b00000001 == 0b00000001 ? 1 : 0 self end
Returns the Reserved field as an integer.
Source: show
# File lib/packetfu/protos/tcp.rb, line 103 def to_i (r1.to_i << 2) + (r2.to_i << 1) + r3.to_i end