dump.c (a785df36d1fefe0de6975f4c14af383138bd2e14) dump.c (cf109686d0a89f698ba59a65d3199bdfc151f88a)
1/* $FreeBSD$ */
2/*-
3 * Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

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

360 printf("\n");
361 }
362 }
363 printf("\n");
364 free(pcfg);
365 }
366 return;
367}
1/* $FreeBSD$ */
2/*-
3 * Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

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

360 printf("\n");
361 }
362 }
363 printf("\n");
364 free(pcfg);
365 }
366 return;
367}
368
369void
370dump_string_by_index(struct libusb20_device *pdev, uint8_t str_index)
371{
372 char *pbuf;
373 uint8_t n;
374 uint8_t len;
375
376 pbuf = malloc(256);
377 if (pbuf == NULL)
378 err(1, "out of memory");
379
380 if (str_index == 0) {
381 /* language table */
382 if (libusb20_dev_req_string_sync(pdev,
383 str_index, 0, pbuf, 256)) {
384 printf("STRING_0x%02x = <read error>\n", str_index);
385 } else {
386 printf("STRING_0x%02x = ", str_index);
387 len = (uint8_t)pbuf[0];
388 for (n = 0; n != len; n++) {
389 printf("0x%02x%s", (uint8_t)pbuf[n],
390 (n != (len-1)) ? ", " : "");
391 }
392 printf("\n");
393 }
394 } else {
395 /* ordinary string */
396 if (libusb20_dev_req_string_simple_sync(pdev,
397 str_index, pbuf, 256)) {
398 printf("STRING_0x%02x = <read error>\n", str_index);
399 } else {
400 printf("STRING_0x%02x = <%s>\n", str_index, pbuf);
401 }
402 }
403 free(pbuf);
404}