brintos

brintos / linux-shallow public Read only

0
0
Text · 1.3 KiB · 6c9aca2 Raw
68 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Copyright (C) 2005-2007 Takahiro Hirofuchi4 */5 6#ifndef __VHCI_DRIVER_H7#define __VHCI_DRIVER_H8 9#include <libudev.h>10#include <stdint.h>11 12#include "usbip_common.h"13 14#define USBIP_VHCI_BUS_TYPE "platform"15#define USBIP_VHCI_DEVICE_NAME "vhci_hcd.0"16 17enum hub_speed {18	HUB_SPEED_HIGH = 0,19	HUB_SPEED_SUPER,20};21 22struct usbip_imported_device {23	enum hub_speed hub;24	uint8_t port;25	uint32_t status;26 27	uint32_t devid;28 29	uint8_t busnum;30	uint8_t devnum;31 32	/* usbip_class_device list */33	struct usbip_usb_device udev;34};35 36struct usbip_vhci_driver {37 38	/* /sys/devices/platform/vhci_hcd */39	struct udev_device *hc_device;40 41	int ncontrollers;42	int nports;43	struct usbip_imported_device idev[];44};45 46 47extern struct usbip_vhci_driver *vhci_driver;48 49int usbip_vhci_driver_open(void);50void usbip_vhci_driver_close(void);51 52int  usbip_vhci_refresh_device_list(void);53 54 55int usbip_vhci_get_free_port(uint32_t speed);56int usbip_vhci_attach_device2(uint8_t port, int sockfd, uint32_t devid,57		uint32_t speed);58 59/* will be removed */60int usbip_vhci_attach_device(uint8_t port, int sockfd, uint8_t busnum,61		uint8_t devnum, uint32_t speed);62 63int usbip_vhci_detach_device(uint8_t port);64 65int usbip_vhci_imported_device_dump(struct usbip_imported_device *idev);66 67#endif /* __VHCI_DRIVER_H */68