/* USB::Device#descriptor_bNumConfigurations */
static VALUE rusb_devdesc_bNumConfigurations(VALUE v) { return INT2FIX(get_usb_device(v)->descriptor.bNumConfigurations); }
/* USB::Device#configurations */
static VALUE
rusb_device_config(VALUE v)
{
struct usb_device *device = get_usb_device(v);
int i;
VALUE children = rb_ary_new2(device->descriptor.bNumConfigurations);
for (i = 0; i < device->descriptor.bNumConfigurations; i++)
rb_ary_store(children, i, rusb_config_descriptor_make(&device->config[i], v));
return children;
}