8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync/*
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * Copyright 2002 Red Hat Inc., Durham, North Carolina.
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync *
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * All Rights Reserved.
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync *
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * Permission is hereby granted, free of charge, to any person obtaining
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * a copy of this software and associated documentation files (the
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * "Software"), to deal in the Software without restriction, including
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * without limitation on the rights to use, copy, modify, merge,
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * publish, distribute, sublicense, and/or sell copies of the Software,
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * and to permit persons to whom the Software is furnished to do so,
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * subject to the following conditions:
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync *
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * The above copyright notice and this permission notice (including the
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * next paragraph) shall be included in all copies or substantial
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * portions of the Software.
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync *
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * SOFTWARE.
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync */
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync/*
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * Authors:
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * Rickard E. (Rik) Faith <faith@redhat.com>
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync *
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync */
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync/** \file
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * Interface to common USB support. \see usb-common.c \see usb-mouse.c
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync * \see usb-keyboard.c \see usb-other.c */
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync#ifndef _USB_COMMON_H_
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync#define _USB_COMMON_H_
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsynctypedef enum {
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync usbMouse,
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync usbKeyboard,
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync usbOther
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync} usbType;
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsyncextern pointer usbCreatePrivate(DeviceIntPtr pDevice);
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsyncextern void usbDestroyPrivate(pointer priv);
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsyncextern void usbRead(DevicePtr pDev,
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync dmxMotionProcPtr motion,
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync dmxEnqueueProcPtr enqueue,
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync int minButton,
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync DMXBlockType block);
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsyncextern void usbInit(DevicePtr pDev, usbType type);
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsyncextern void usbOff(DevicePtr pDev);
8c3d541c7ee7442f570b22eca3d82808b35b0385vboxsync#endif