---
name: "struct_usb_interface_cache"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/struct_usb_interface_cache"
---

# struct\_usb\_interface\_cache(9)

long-term representation of a device interface

## NAME

struct\_usb\_interface\_cache - long-term representation of a device interface

## SYNOPSIS

```
struct usb_interface_cache {
  unsigned num_altsetting;
  struct kref ref;
  struct usb_host_interface altsetting[0];
};
```

## MEMBERS

num\_altsetting

number of altsettings defined.

ref

reference counter.

altsetting\[0\]

variable-length array of interface structures, one for each alternate setting that may be selected. Each one includes a set of endpoint configurations. They will be in no particular order.

## DESCRIPTION

These structures persist for the lifetime of a usb\_device, unlike struct usb\_interface (which persists only as long as its configuration is installed). The altsetting arrays can be accessed through these structures at any time, permitting comparison of configurations and providing support for the /proc/bus/usb/devices pseudo-file.

## COPYRIGHT
