VirtualBox

source: vbox/trunk/include/VBox/VBoxGuest16.h@ 5605

Last change on this file since 5605 was 5605, checked in by vboxsync, 17 years ago

BIT => RT_BIT, BIT64 => RT_BIT_64. BIT() is defined in Linux 2.6.24

  • Property svn:eol-style set to native
File size: 3.1 KB
Line 
1/** @file
2 * VBoxGuest - VirtualBox Guest Additions Interface, 16-bit (OS/2) header.
3 */
4
5/*
6 * Copyright (C) 2006-2007 innotek GmbH
7 *
8 * This file is part of VirtualBox Open Source Edition (OSE), as
9 * available from http://www.virtualbox.org. This file is free software;
10 * you can redistribute it and/or modify it under the terms of the GNU
11 * General Public License as published by the Free Software Foundation,
12 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
13 * distribution. VirtualBox OSE is distributed in the hope that it will
14 * be useful, but WITHOUT ANY WARRANTY of any kind.
15 */
16
17#ifndef ___VBox_VBoxGuest16_h
18#define ___VBox_VBoxGuest16_h
19
20#define RT_BIT(bit) (1UL << (bit))
21
22
23#define VMMDEV_VERSION 0x00010004UL
24
25#define VBOXGUEST_DEVICE_NAME "vboxgst$"
26
27/* aka VBOXGUESTOS2IDCCONNECT */
28typedef struct VBGOS2IDC
29{
30 unsigned long u32Version;
31 unsigned long u32Session;
32 unsigned long pfnServiceEP;
33 short (__cdecl __far *fpfnServiceEP)(unsigned long u32Session, unsigned short iFunction,
34 void __far *fpvData, unsigned short cbData, unsigned short __far *pcbDataReturned);
35 unsigned long fpfnServiceAsmEP;
36} VBGOS2IDC;
37typedef VBGOS2IDC *PVBGOS2IDC;
38
39#define VBOXGUEST_IOCTL_WAITEVENT 2
40#define VBOXGUEST_IOCTL_VMMREQUEST 3
41#define VBOXGUEST_IOCTL_OS2_IDC_DISCONNECT 48
42
43
44#define VMMDEV_EVENT_MOUSE_CAPABILITIES_CHANGED RT_BIT(0)
45#define VMMDEV_EVENT_HGCM RT_BIT(1)
46#define VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST RT_BIT(2)
47#define VMMDEV_EVENT_JUDGE_CREDENTIALS RT_BIT(3)
48#define VMMDEV_EVENT_RESTORED RT_BIT(4)
49
50
51#define VBOXGUEST_WAITEVENT_OK 0
52#define VBOXGUEST_WAITEVENT_TIMEOUT 1
53#define VBOXGUEST_WAITEVENT_INTERRUPTED 2
54#define VBOXGUEST_WAITEVENT_ERROR 3
55
56typedef struct _VBoxGuestWaitEventInfo
57{
58 unsigned long u32TimeoutIn;
59 unsigned long u32EventMaskIn;
60 unsigned long u32Result;
61 unsigned long u32EventFlagsOut;
62} VBoxGuestWaitEventInfo;
63
64
65#define VMMDEV_REQUEST_HEADER_VERSION (0x10001UL)
66typedef struct
67{
68 unsigned long size;
69 unsigned long version;
70 unsigned long requestType;
71 signed long rc;
72 unsigned long reserved1;
73 unsigned long reserved2;
74} VMMDevRequestHeader;
75
76#define VMMDevReq_GetMouseStatus 1
77#define VMMDevReq_SetMouseStatus 2
78#define VMMDevReq_CtlGuestFilterMask 42
79
80#define VBOXGUEST_MOUSE_GUEST_CAN_ABSOLUTE RT_BIT(0)
81#define VBOXGUEST_MOUSE_HOST_CAN_ABSOLUTE RT_BIT(1)
82#define VBOXGUEST_MOUSE_GUEST_NEEDS_HOST_CURSOR RT_BIT(2)
83#define VBOXGUEST_MOUSE_HOST_CANNOT_HWPOINTER RT_BIT(3)
84
85typedef struct
86{
87 VMMDevRequestHeader header;
88 unsigned long mouseFeatures;
89 unsigned long pointerXPos;
90 unsigned long pointerYPos;
91} VMMDevReqMouseStatus;
92
93typedef struct
94{
95 VMMDevRequestHeader header;
96 unsigned long u32OrMask;
97 unsigned long u32NotMask;
98} VMMDevCtlGuestFilterMask;
99
100#endif
101
Note: See TracBrowser for help on using the repository browser.

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