VirtualBox

Changeset 5652 in vbox


Ignore:
Timestamp:
Nov 9, 2007 3:03:25 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
25990
Message:

Prototyping USB support for OS/2 hosts.

Location:
trunk/src/VBox/Main
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/HostImpl.cpp

    r5631 r5652  
    142142#elif defined (RT_OS_LINUX) && defined (VBOX_WITH_USB)
    143143    mUSBProxyService = new USBProxyServiceLinux (this);
     144#elif defined (RT_OS_OS2) && defined (VBOX_WITH_USB)
     145    mUSBProxyService = new USBProxyServiceOs2 (this);
    144146#elif defined (RT_OS_WINDOWS) && defined (VBOX_WITH_USB)
    145147    mUSBProxyService = new USBProxyServiceWin32 (this);
  • trunk/src/VBox/Main/Makefile.kmk

    r5621 r5652  
    138138        $(PATH_VBoxCOM) \
    139139        $(PATH_CURRENT)
     140ifdef VBOX_WITH_USB
     141 VBoxSVC_INCS.os2 = \
     142        $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
     143endif
     144
    140145ifeq ($(BUILD_TARGET),win)
    141146 VBoxSVC_LIBS += \
     
    212217VBoxSVC_SOURCES.darwin += darwin/USBProxyServiceDarwin.cpp
    213218VBoxSVC_SOURCES.linux += linux/USBProxyServiceLinux.cpp
     219VBoxSVC_SOURCES.os2 += os2/USBProxyServiceOs2.cpp
    214220VBoxSVC_SOURCES.win   += win32/USBProxyServiceWin32.cpp
    215221endif
  • trunk/src/VBox/Main/VirtualBoxImpl.cpp

    r5642 r5652  
    45904590                                                        DCMW_WAIT_ANY);
    45914591                    AssertMsg (arc == NO_ERROR,
    4592                                ("DosCreateMuxWaitSem returned %d\n", arc));
     4592                               ("DosCreateMuxWaitSem returned %d\n", arc)); NOREF(arc);
    45934593                }
    45944594            }
  • trunk/src/VBox/Main/include/USBProxyService.h

    r5523 r5652  
    346346
    347347
     348# ifdef RT_OS_OS2
     349#  include <usbcalls.h>
     350
     351/**
     352 * The Linux hosted USB Proxy Service.
     353 */
     354class USBProxyServiceOs2 : public USBProxyService
     355{
     356public:
     357    USBProxyServiceOs2 (Host *aHost);
     358    ~USBProxyServiceOs2();
     359
     360    virtual int captureDevice (HostUSBDevice *aDevice);
     361    virtual int releaseDevice (HostUSBDevice *aDevice);
     362    virtual bool updateDeviceState (HostUSBDevice *aDevice, PUSBDEVICE aUSBDevice);
     363
     364protected:
     365    virtual int wait (unsigned aMillies);
     366    virtual int interruptWait (void);
     367    virtual PUSBDEVICE getDevices (void);
     368    int addDeviceToChain (PUSBDEVICE pDev, PUSBDEVICE *ppFirst, PUSBDEVICE **pppNext, int rc);
     369
     370private:
     371    /** The notification event semaphore */
     372    HEV mhev;
     373    /** The notification id. */
     374    USBNOTIFY mNotifyId;
     375    /** The usbcalls.dll handle. */
     376    HMODULE mhmod;
     377    /** UsbRegisterChangeNotification */
     378    APIRET (APIENTRY *mpfnUsbRegisterChangeNotification)(PUSBNOTIFY, HEV, HEV);
     379    /** UsbDeregisterNotification */
     380    APIRET (APIENTRY *mpfnUsbDeregisterNotification)(USBNOTIFY);
     381    /** UsbQueryNumberDevices */
     382    APIRET (APIENTRY *mpfnUsbQueryNumberDevices)(PULONG);
     383    /** UsbQueryDeviceReport */
     384    APIRET (APIENTRY *mpfnUsbQueryDeviceReport)(ULONG, PULONG, PVOID);
     385};
     386# endif /* RT_OS_LINUX */
     387
     388
    348389# ifdef RT_OS_WINDOWS
    349390/**
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette