Exemple #1
0
static int
getUsbHidReportItems (GioHandle *handle, GioHidReportItemsData *items, int timeout) {
  UsbChannel *channel = handle->channel;
  unsigned char *address;
  ssize_t result = usbHidGetItems(channel->device,
                                  channel->definition.interface, 0,
                                  &address, timeout);

  if (!address) return 0;
  items->address = address;
  items->size = result;
  return 1;
}
Exemple #2
0
static void
getHidReportSizes (const ReportEntry *table) {
  unsigned char *items;
  ssize_t length = usbHidGetItems(usb->device, usb->definition.interface, 0,
                                  &items, HT_HID_REPORT_TIMEOUT);

  if (items) {
    const ReportEntry *report = table;

    while (report->number) {
      usbHidGetReportSize(items, length, report->number, report->size);
      report += 1;
    }

    free(items);
  }
}