#include <linux/device.h>
#include <linux/list.h>
#include <linux/usb/gadget.h>
#include <linux/usb/ch9.h>
#include <linux/sysfs.h>
#include <linux/kthread.h>
#include <linux/byteorder/generic.h>
#include "usbip_common.h"
#include "vudc.h"
#include <net/sock.h>
int get_gadget_descs(struct vudc *udc)
{ … }
static ssize_t dev_desc_read(struct file *file, struct kobject *kobj,
struct bin_attribute *attr, char *out,
loff_t off, size_t count)
{ … }
static BIN_ATTR_RO(dev_desc, sizeof(struct usb_device_descriptor));
static ssize_t usbip_sockfd_store(struct device *dev,
struct device_attribute *attr,
const char *in, size_t count)
{ … }
static DEVICE_ATTR_WO(usbip_sockfd);
static ssize_t usbip_status_show(struct device *dev,
struct device_attribute *attr, char *out)
{ … }
static DEVICE_ATTR_RO(usbip_status);
static struct attribute *dev_attrs[] = …;
static struct bin_attribute *dev_bin_attrs[] = …;
static const struct attribute_group vudc_attr_group = …;
const struct attribute_group *vudc_groups[] = …;