Class: LIBUSB::Bos::SsplusUsbDeviceCapability

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

Overview

A structure representing the SuperSpeedPlus descriptor This descriptor is documented in section 9.6.2.5 of the USB 3.1 specification.

Instance Method Summary collapse

Constructor Details

#initialize(ctx, *args) ⇒ SsplusUsbDeviceCapability

Returns a new instance of SsplusUsbDeviceCapability.



274
275
276
277
278
# File 'lib/libusb/bos.rb', line 274

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

  register_context(ctx, :libusb_free_ssplus_usb_device_capability_descriptor)
end

Instance Method Details

#inspectObject



280
281
282
283
284
285
# File 'lib/libusb/bos.rb', line 280

def inspect
  attrs = %i[ numSublinkSpeedAttributes numSublinkSpeedIDs ssid minRxLaneCount minTxLaneCount ].map do |key|
    "#{key}: #{self.send(key).inspect}"
  end
  "\#<#{self.class} #{attrs.join(", ")}>"
end

#minRxLaneCountObject

This field indicates the minimum receive lane count.



303
304
305
# File 'lib/libusb/bos.rb', line 303

def minRxLaneCount
  self[:minRxLaneCount]
end

#minTxLaneCountObject

This field indicates the minimum transmit lane count



308
309
310
# File 'lib/libusb/bos.rb', line 308

def minTxLaneCount
  self[:minTxLaneCount]
end

#numSublinkSpeedAttributesObject

Sublink Speed Attribute Count



288
289
290
# File 'lib/libusb/bos.rb', line 288

def numSublinkSpeedAttributes
  self[:numSublinkSpeedAttributes]
end

#numSublinkSpeedIDsObject

Sublink Speed ID Count



293
294
295
# File 'lib/libusb/bos.rb', line 293

def numSublinkSpeedIDs
  self[:numSublinkSpeedIDs]
end

#ssidObject

Unique ID to indicates the minimum lane speed



298
299
300
# File 'lib/libusb/bos.rb', line 298

def ssid
  self[:ssid]
end

#sublinkSpeedAttributesArray<SsplusSublinkAttribute>

Returns an Array of SublinkSpeedAttributes

The array size equals #numSublinkSpeedAttributes.

Returns:



317
318
319
320
321
# File 'lib/libusb/bos.rb', line 317

def sublinkSpeedAttributes
  self[:numSublinkSpeedAttributes].times.map do |idx|
    self[:sublinkSpeedAttributes][idx]
  end
end