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