Example #1
0
func (dev *Device) GetConfigByValue(bConfigurationValue byte) (ConfigDescriptor, *UsbError) {
	var desc *C.struct_libusb_config_descriptor
	err := returnUsbError(C.libusb_get_config_descriptor_by_value(dev.device, C.uint8_t(bConfigurationValue), &desc))
	if err != nil {
		return ConfigDescriptor{}, err
	}
	ret := parseConfigDescriptor(desc)
	C.libusb_free_config_descriptor(desc)
	return ret, nil
}
Example #2
0
File: usb.go Project: hanwen/usb
func (d *Device) GetConfigDescriptorByValue(value byte) (*ConfigDescriptor, error) {
	var desc *C.struct_libusb_config_descriptor
	r := C.libusb_get_config_descriptor_by_value(d.me(), C.uint8_t(value), &desc)
	if r < 0 {
		return nil, toErr(r)
	}

	var cd ConfigDescriptor
	cd.fromC(desc)
	C.libusb_free_config_descriptor(desc)
	return &cd, nil
}