USBGetDevices.h revision c5d77d266d72c6ccdd1d89d974934d8e57e8bcf9
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * VirtualBox Linux host USB device enumeration.
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * Copyright (C) 2006-2010 Oracle Corporation
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * This file is part of VirtualBox Open Source Edition (OSE), as
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * available from http://www.virtualbox.org. This file is free software;
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * you can redistribute it and/or modify it under the terms of the GNU
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * General Public License (GPL) as published by the Free Software
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * Foundation, in version 2 as it comes in the "COPYING" file of the
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * Free all the members of a USB device created by the Linux enumeration code.
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * @note this duplicates a USBProxyService method which we needed access too
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * without pulling in the rest of the proxy service code.
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * @param pDevice Pointer to the device.
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowenstatic inline void deviceFreeMembers(PUSBDEVICE pDevice)
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * Free one USB device created by the Linux enumeration code.
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * @note this duplicates a USBProxyService method which we needed access too
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * without pulling in the rest of the proxy service code.
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * @param pDevice Pointer to the device.
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowenstatic inline void deviceFree(PUSBDEVICE pDevice)
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * Free a linked list of USB devices created by the Linux enumeration code.
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen * @param pHead Pointer to the first device in the linked list
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowenstatic inline void deviceListFree(PUSBDEVICE *ppHead)
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowenextern bool USBProxyLinuxCheckDeviceRoot(const char *pcszRoot,
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowenvoid TestUSBSetupInit(const char *pcszUsbfsRoot, bool fUsbfsAccessible,
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen const char *pcszDevicesRoot, bool fDevicesAccessible,
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowenvoid TestUSBSetEnv(const char *pcszEnvUsb, const char *pcszEnvUsbRoot);
const char **ppcszDevicesRoot);
#ifdef UNIT_TEST
bool fUseSysfs);