USBGetDevices.h revision dff7b61dd3fdc4026a02236298516db1d8ac6516
/* $Id$ */
/** @file
* VirtualBox Linux host USB device enumeration.
*/
/*
* Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*/
#ifndef ___USBGetDevices_h
# define ___USBGetDevices_h
/**
* Free all the members of a USB device created by the Linux enumeration code.
* @note this duplicates a USBProxyService method which we needed access too
* without pulling in the rest of the proxy service code.
*
* @param pDevice Pointer to the device.
*/
{
}
/**
* Free one USB device created by the Linux enumeration code.
* @note this duplicates a USBProxyService method which we needed access too
* without pulling in the rest of the proxy service code.
*
* @param pDevice Pointer to the device.
*/
{
}
/**
* Free a linked list of USB devices created by the Linux enumeration code.
* @param pHead Pointer to the first device in the linked list
*/
{
while (pHead)
{
}
}
/** List of well-known USB device tree locations */
typedef struct USBDEVTREELOCATION
{
/** The root of the device tree for this location. */
char szDevicesRoot[256];
/** Whether this location requires device enumeration using sysfs. */
bool fUseSysfs;
typedef const USBDEVTREELOCATION *PCUSBDEVTREELOCATION;
/**
* Get the USB device tree root
* @param fPreferSysfs whether we wish to use sysfs over usbfs for
* enumeration if we have the choice
* @note returns a pointer into a static array so it will stay valid
*/
/**
* Get the list of USB devices supported by the system. Should be freed using
* @a deviceFree or something equivalent.
* @param pcszDevicesRoot the path to the root of the device tree
* @param fUseSysfs whether to use sysfs (or usbfs) for enumeration
*/
bool fUseSysfs);
#endif /* ___USBGetDevices_h */