1 /* 2 * Copyright (C) 2011 matt mooney <mfm@muteddisk.com> 3 * 2005-2007 Takahiro Hirofuchi 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 */ 15 16 #include "vhci_driver.h" 17 #include "usbip_common.h" 18 19 static int list_imported_devices(void) 20 { 21 int i; 22 struct usbip_imported_device *idev; 23 int ret; 24 25 if (usbip_names_init(USBIDS_FILE)) 26 err("failed to open %s", USBIDS_FILE); 27 28 ret = usbip_vhci_driver_open(); 29 if (ret < 0) { 30 err("open vhci_driver"); 31 goto err_names_free; 32 } 33 34 printf("Imported USB devices\n"); 35 printf("====================\n"); 36 37 for (i = 0; i < vhci_driver->nports; i++) { 38 idev = &vhci_driver->idev[i]; 39 40 if (usbip_vhci_imported_device_dump(idev) < 0) 41 goto err_driver_close; 42 } 43 44 usbip_vhci_driver_close(); 45 usbip_names_free(); 46 47 return ret; 48 49 err_driver_close: 50 usbip_vhci_driver_close(); 51 err_names_free: 52 usbip_names_free(); 53 return -1; 54 } 55 56 int usbip_port_show(__attribute__((unused)) int argc, 57 __attribute__((unused)) char *argv[]) 58 { 59 int ret; 60 61 ret = list_imported_devices(); 62 if (ret < 0) 63 err("list imported devices"); 64 65 return ret; 66 } 67