# udc Struct Reference

`#include <udc.h>`

Collaboration diagram for udc:

[legend]

## Data Fields
struct usb_configuration_descriptor * | config
enum usb_device_speed | speed
unsigned long | flags
uint8_t | address

## Detailed Description

Data about a USB Device Controller usable by the rest of the system.

Definition at line 72 of file udc.h.

## Field Documentation

uint8_t udc::address

Our current device address. 0 indicates that we haven't yet reached the ADDRESS state.

Definition at line 86 of file udc.h.

Referenced by udc_state(), and usbb_udc_softirq().

struct usb_configuration_descriptor* udc::config`[read]`

Current device configuration descriptor or NULL if the device has not reached the CONFIGURED state.

Definition at line 77 of file udc.h.

Referenced by udc_state(), usb_func_reset(), and usb_func_set_configuration().

unsigned long udc::flags

Bitmask of flags indicating the state of the device

Definition at line 81 of file udc.h.

Referenced by udc_attach(), udc_detach(), udc_state(), usbb_udc_softirq(), usbb_udc_vbus_off(), and usbb_udc_vbus_on().

enum usb_device_speed udc::speed

The speed that we're currently operating at.

Definition at line 79 of file udc.h.

Referenced by udc_is_full_speed(), udc_is_high_speed(), udc_is_low_speed(), udc_state(), usb_func_get_descriptor(), usb_func_reset(), and usbb_udc_softirq().

The documentation for this struct was generated from the following file:

- include/usb/udc.h