332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync/**********************************************************
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * Copyright 2002-2009 VMware, Inc. All rights reserved.
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync *
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * Permission is hereby granted, free of charge, to any person
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * obtaining a copy of this software and associated documentation
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * files (the "Software"), to deal in the Software without
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * restriction, including without limitation the rights to use, copy,
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * modify, merge, publish, distribute, sublicense, and/or sell copies
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * of the Software, and to permit persons to whom the Software is
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * furnished to do so, subject to the following conditions:
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync *
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * The above copyright notice and this permission notice shall be
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * included in all copies or substantial portions of the Software.
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync *
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * SOFTWARE.
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync *
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync **********************************************************/
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync/*
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * vmmouse_defs.h --
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync *
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * VMware Virtual Mouse Protocol definitions.
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync *
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync */
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#ifndef _VMMOUSE_DEFS_H_
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define _VMMOUSE_DEFS_H_
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync/*
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * Command related defines
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync */
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_CMD_READ_ID 0x45414552
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_CMD_DISABLE 0x000000f5
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_CMD_REQUEST_RELATIVE 0x4c455252
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_CMD_REQUEST_ABSOLUTE 0x53424152
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync/*
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * Data related defines
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync */
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_VERSION_ID_STR "JUB4"
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_VERSION_ID 0x3442554a
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync/*
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * Device related defines
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync */
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_DATAPORT 96
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_STATUSPORT 100
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_IRQ 12
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_ERROR 0xffff0000
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync/*
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * VMMouse Input packet flags
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync */
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_MOVE_RELATIVE 1
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_MOVE_ABSOLUTE 0
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync/*
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync * VMMouse Input button flags
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync */
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_LEFT_BUTTON 0x20
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_RIGHT_BUTTON 0x10
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#define VMMOUSE_MIDDLE_BUTTON 0x08
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync
332aaa1da374e694e37fdfe0a00bbe040e670453vboxsync#endif