blob: 4d14387df13d55d16c5608dfbac32e22457bbf4e [file] [log] [blame]
Thomas Gleixnerc942fdd2019-05-27 08:55:06 +02001// SPDX-License-Identifier: GPL-2.0-or-later
Valentina Maneaec2ff622014-01-07 21:05:56 +02002/*
3 * Copyright (C) 2011 matt mooney <mfm@muteddisk.com>
4 * 2005-2007 Takahiro Hirofuchi
Valentina Maneaec2ff622014-01-07 21:05:56 +02005 */
6
7#include "vhci_driver.h"
8#include "usbip_common.h"
9
Pawel Lebioda19495512014-05-14 21:28:27 +020010static int list_imported_devices(void)
Valentina Maneaec2ff622014-01-07 21:05:56 +020011{
12 int i;
13 struct usbip_imported_device *idev;
14 int ret;
15
Nobuo Iwatae66fa8b2016-03-22 16:31:03 +090016 if (usbip_names_init(USBIDS_FILE))
17 err("failed to open %s", USBIDS_FILE);
18
Valentina Maneaec2ff622014-01-07 21:05:56 +020019 ret = usbip_vhci_driver_open();
20 if (ret < 0) {
21 err("open vhci_driver");
Nobuo Iwatae66fa8b2016-03-22 16:31:03 +090022 goto err_names_free;
Valentina Maneaec2ff622014-01-07 21:05:56 +020023 }
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)
Nobuo Iwatae66fa8b2016-03-22 16:31:03 +090032 goto err_driver_close;
Valentina Maneaec2ff622014-01-07 21:05:56 +020033 }
34
35 usbip_vhci_driver_close();
Nobuo Iwatae66fa8b2016-03-22 16:31:03 +090036 usbip_names_free();
Valentina Maneaec2ff622014-01-07 21:05:56 +020037
38 return ret;
39
Nobuo Iwatae66fa8b2016-03-22 16:31:03 +090040err_driver_close:
41 usbip_vhci_driver_close();
42err_names_free:
43 usbip_names_free();
44 return -1;
Valentina Maneaec2ff622014-01-07 21:05:56 +020045}
46
47int 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}