/* USB::Configuration#bNumInterfaces */
static VALUE rusb_config_bNumInterfaces(VALUE v) { return INT2FIX(get_usb_config_descriptor(v)->bNumInterfaces); }
/* USB::Configuration#bConfigurationValue */
static VALUE rusb_config_bConfigurationValue(VALUE v) { return INT2FIX(get_usb_config_descriptor(v)->bConfigurationValue); }
/* USB::Configuration#iConfiguration */
static VALUE rusb_config_iConfiguration(VALUE v) { return INT2FIX(get_usb_config_descriptor(v)->iConfiguration); }
/* USB::Configuration#bmAttributes */
static VALUE rusb_config_bmAttributes(VALUE v) { return INT2FIX(get_usb_config_descriptor(v)->bmAttributes); }
/* USB::Configuration#bMaxPower */
static VALUE rusb_config_bMaxPower(VALUE v) { return INT2FIX(get_usb_config_descriptor(v)->MaxPower); }
/* USB::Configuration#interfaces */
static VALUE
rusb_config_interfaces(VALUE v)
{
struct usb_config_descriptor *p = get_usb_config_descriptor(v);
int i;
VALUE interface = rb_ary_new2(p->bNumInterfaces);
for (i = 0; i < p->bNumInterfaces; i++)
rb_ary_store(interface, i, rusb_interface_make(&p->interface[i], v));
return interface;
}