usb.h (68b459eaa660be17d3547aa581502fe2c572c84f) usb.h (f4bbaaf584ed8d0a430b467bace15f338cba4c57)
1#ifndef QEMU_USB_H
2#define QEMU_USB_H
3
4/*
5 * QEMU USB API
6 *
7 * Copyright (c) 2005 Fabrice Bellard
8 *

--- 512 unchanged lines hidden (view full) ---

521 int nfree;
522 int nused;
523 QTAILQ_HEAD(, USBPort) free;
524 QTAILQ_HEAD(, USBPort) used;
525 QTAILQ_ENTRY(USBBus) next;
526};
527
528struct USBBusOps {
1#ifndef QEMU_USB_H
2#define QEMU_USB_H
3
4/*
5 * QEMU USB API
6 *
7 * Copyright (c) 2005 Fabrice Bellard
8 *

--- 512 unchanged lines hidden (view full) ---

521 int nfree;
522 int nused;
523 QTAILQ_HEAD(, USBPort) free;
524 QTAILQ_HEAD(, USBPort) used;
525 QTAILQ_ENTRY(USBBus) next;
526};
527
528struct USBBusOps {
529 int (*register_companion)(USBBus *bus, USBPort *ports[],
530 uint32_t portcount, uint32_t firstport);
529 void (*register_companion)(USBBus *bus, USBPort *ports[],
530 uint32_t portcount, uint32_t firstport,
531 Error **errp);
531 void (*wakeup_endpoint)(USBBus *bus, USBEndpoint *ep, unsigned int stream);
532};
533
534void usb_bus_new(USBBus *bus, size_t bus_size,
535 USBBusOps *ops, DeviceState *host);
536void usb_bus_release(USBBus *bus);
537USBBus *usb_bus_find(int busnr);
538void usb_legacy_register(const char *typename, const char *usbdevice_name,
539 USBDevice *(*usbdevice_init)(USBBus *bus,
540 const char *params));
541USBDevice *usb_create(USBBus *bus, const char *name);
542USBDevice *usb_create_simple(USBBus *bus, const char *name);
543USBDevice *usbdevice_create(const char *cmdline);
544void usb_register_port(USBBus *bus, USBPort *port, void *opaque, int index,
545 USBPortOps *ops, int speedmask);
532 void (*wakeup_endpoint)(USBBus *bus, USBEndpoint *ep, unsigned int stream);
533};
534
535void usb_bus_new(USBBus *bus, size_t bus_size,
536 USBBusOps *ops, DeviceState *host);
537void usb_bus_release(USBBus *bus);
538USBBus *usb_bus_find(int busnr);
539void usb_legacy_register(const char *typename, const char *usbdevice_name,
540 USBDevice *(*usbdevice_init)(USBBus *bus,
541 const char *params));
542USBDevice *usb_create(USBBus *bus, const char *name);
543USBDevice *usb_create_simple(USBBus *bus, const char *name);
544USBDevice *usbdevice_create(const char *cmdline);
545void usb_register_port(USBBus *bus, USBPort *port, void *opaque, int index,
546 USBPortOps *ops, int speedmask);
546int usb_register_companion(const char *masterbus, USBPort *ports[],
547 uint32_t portcount, uint32_t firstport,
548 void *opaque, USBPortOps *ops, int speedmask);
547void usb_register_companion(const char *masterbus, USBPort *ports[],
548 uint32_t portcount, uint32_t firstport,
549 void *opaque, USBPortOps *ops, int speedmask,
550 Error **errp);
549void usb_port_location(USBPort *downstream, USBPort *upstream, int portnr);
550void usb_unregister_port(USBBus *bus, USBPort *port);
551void usb_claim_port(USBDevice *dev, Error **errp);
552void usb_release_port(USBDevice *dev);
553void usb_device_attach(USBDevice *dev, Error **errp);
554int usb_device_detach(USBDevice *dev);
555int usb_device_delete_addr(int busnr, int addr);
556void usb_check_attach(USBDevice *dev, Error **errp);

--- 58 unchanged lines hidden ---
551void usb_port_location(USBPort *downstream, USBPort *upstream, int portnr);
552void usb_unregister_port(USBBus *bus, USBPort *port);
553void usb_claim_port(USBDevice *dev, Error **errp);
554void usb_release_port(USBDevice *dev);
555void usb_device_attach(USBDevice *dev, Error **errp);
556int usb_device_detach(USBDevice *dev);
557int usb_device_delete_addr(int busnr, int addr);
558void usb_check_attach(USBDevice *dev, Error **errp);

--- 58 unchanged lines hidden ---