Class: LIBUSB::Bos::ContainerId

Inherits:
FFI::Struct
  • Object
show all
Includes:
GenericMethods
Defined in:
lib/libusb/bos.rb

Overview

A structure representing the Container ID descriptor. This descriptor is documented in section 9.6.2.3 of the USB 3.0 specification. All multiple-byte fields, except UUIDs, are represented in host-endian format.

Instance Method Summary collapse

Methods included from GenericMethods

#bDescriptorType, #bDevCapabilityType, #bLength, #dev_capability_data

Constructor Details

#initialize(ctx, *args) ⇒ ContainerId

Returns a new instance of ContainerId.



337
338
339
340
341
# File 'lib/libusb/bos.rb', line 337

def initialize(ctx, *args)
  super(*args)

  register_context(ctx, :libusb_free_container_id_descriptor)
end

Instance Method Details

#bReservedObject

Reserved field



344
345
346
# File 'lib/libusb/bos.rb', line 344

def bReserved
  self[:bReserved]
end

#container_idString

Returns 128 bit UUID.

Returns:

  • (String)

    128 bit UUID



349
350
351
# File 'lib/libusb/bos.rb', line 349

def container_id
  self[:ContainerID].to_ptr.read_bytes(16)
end

#inspectObject



353
354
355
# File 'lib/libusb/bos.rb', line 353

def inspect
  "\#<#{self.class} #{container_id.unpack1("H*")}>"
end