Exemple #1
0
USBDevice *usb_bt_init(HCIInfo *hci)
{
    struct USBBtState *s;

    if (!hci)
        return NULL;
    s = qemu_mallocz(sizeof(struct USBBtState));
    if (!s)
        return NULL;
    s->dev.opaque = s;
    s->dev.speed = USB_SPEED_HIGH;
    s->dev.handle_packet = usb_generic_handle_packet;
    pstrcpy(s->dev.devname, sizeof(s->dev.devname), "QEMU BT dongle");

    s->dev.handle_reset = usb_bt_handle_reset;
    s->dev.handle_control = usb_bt_handle_control;
    s->dev.handle_data = usb_bt_handle_data;
    s->dev.handle_destroy = usb_bt_handle_destroy;

    s->hci = hci;
    s->hci->opaque = s;
    s->hci->evt_recv = usb_bt_out_hci_packet_event;
    s->hci->acl_recv = usb_bt_out_hci_packet_acl;

    usb_bt_handle_reset(&s->dev);

    return &s->dev;
}
Exemple #2
0
USBDevice *usb_bt_init(HCIInfo *hci)
{
    USBDevice *dev;
    struct USBBtState *s;

    if (!hci)
        return NULL;
    dev = usb_create_simple(NULL /* FIXME */, "usb-bt-dongle");
    s = DO_UPCAST(struct USBBtState, dev, dev);
    s->dev.opaque = s;

    s->hci = hci;
    s->hci->opaque = s;
    s->hci->evt_recv = usb_bt_out_hci_packet_event;
    s->hci->acl_recv = usb_bt_out_hci_packet_acl;

    usb_bt_handle_reset(&s->dev);

    return dev;
}