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
10static 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
40err_driver_close:
41	usbip_vhci_driver_close();
42err_names_free:
43	usbip_names_free();
44	return -1;
45}
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}
58