Class: FFI::BitStruct

Inherits:
Struct
  • Object
show all
Extended by:
FFI::BitField::Layout
Includes:
FFI::BitField::Property
Defined in:
lib/ffi/bit_struct.rb

Overview

Subclass of FFI::Struct that supports bit fields. Allows defining and accessing individual bits within integer fields.

Examples:

Define a struct with bit fields

class Flags < FFI::BitStruct
  layout \
    :value, :uint8

  bit_fields :value,
    :read,    1,  # 1 bit for read permission
    :write,   1,  # 1 bit for write permission
    :execute, 1,  # 1 bit for execute permission
    :unused,  5   # 5 unused bits
end

flags = Flags.new
flags[:read] = 1
flags[:write] = 1
puts flags[:value]  # => 3

Method Summary

Methods included from FFI::BitField::Layout

bit_fields

Methods included from FFI::BitField::Property

#[], #[]=