1 | // SPDX-License-Identifier: GPL-2.0-or-later |
---|---|
2 | /* |
3 | * Copyright (C) 2011 matt mooney <mfm@muteddisk.com> |
4 | * 2005-2007 Takahiro Hirofuchi |
5 | */ |
6 | |
7 | #include "vhci_driver.h" |
8 | #include "usbip_common.h" |
9 | |
10 | static int list_imported_devices(void) |
11 | { |
12 | int i; |
13 | struct usbip_imported_device *idev; |
14 | int ret; |
15 | |
16 | if (usbip_names_init(USBIDS_FILE)) |
17 | err("failed to open %s", USBIDS_FILE); |
18 | |
19 | ret = usbip_vhci_driver_open(); |
20 | if (ret < 0) { |
21 | err("open vhci_driver (is vhci_hcd loaded?)"); |
22 | goto err_names_free; |
23 | } |
24 | |
25 | printf("Imported USB devices\n"); |
26 | printf("====================\n"); |
27 | |
28 | for (i = 0; i < vhci_driver->nports; i++) { |
29 | idev = &vhci_driver->idev[i]; |
30 | |
31 | if (usbip_vhci_imported_device_dump(idev) < 0) |
32 | goto err_driver_close; |
33 | } |
34 | |
35 | usbip_vhci_driver_close(); |
36 | usbip_names_free(); |
37 | |
38 | return ret; |
39 | |
40 | err_driver_close: |
41 | usbip_vhci_driver_close(); |
42 | err_names_free: |
43 | usbip_names_free(); |
44 | return -1; |
45 | } |
46 | |
47 | int usbip_port_show(__attribute__((unused)) int argc, |
48 | __attribute__((unused)) char *argv[]) |
49 | { |
50 | int ret; |
51 | |
52 | ret = list_imported_devices(); |
53 | if (ret < 0) |
54 | err("list imported devices"); |
55 | |
56 | return ret; |
57 | } |
58 |