VirtualBox

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

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

export

  • Property svn:eol-style set to native
File size: 2.6 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 * innotek GmbH confidential
9 * All rights reserved
10 */
11
12#ifndef ___VBox_VBoxGuest16_h
13#define ___VBox_VBoxGuest16_h
14
15#define BIT(bit) (1UL << (bit))
16
17
18#define VMMDEV_VERSION 0x00010004UL
19
20#define VBOXGUEST_DEVICE_NAME "vboxgst$"
21
22/* aka VBOXGUESTOS2IDCCONNECT */
23typedef struct VBGOS2IDC
24{
25 unsigned long u32Version;
26 unsigned long u32Session;
27 unsigned long pfnServiceEP;
28 short (__cdecl __far *fpfnServiceEP)(unsigned long u32Session, unsigned short iFunction,
29 void __far *fpvData, unsigned short cbData, unsigned short __far *pcbDataReturned);
30 unsigned long fpfnServiceAsmEP;
31} VBGOS2IDC;
32typedef VBGOS2IDC *PVBGOS2IDC;
33
34#define VBOXGUEST_IOCTL_WAITEVENT 2
35#define VBOXGUEST_IOCTL_VMMREQUEST 3
36#define VBOXGUEST_IOCTL_OS2_IDC_DISCONNECT 48
37
38
39#define VMMDEV_EVENT_MOUSE_CAPABILITIES_CHANGED BIT(0)
40#define VMMDEV_EVENT_HGCM BIT(1)
41#define VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST BIT(2)
42#define VMMDEV_EVENT_JUDGE_CREDENTIALS BIT(3)
43#define VMMDEV_EVENT_RESTORED BIT(4)
44
45
46#define VBOXGUEST_WAITEVENT_OK 0
47#define VBOXGUEST_WAITEVENT_TIMEOUT 1
48#define VBOXGUEST_WAITEVENT_INTERRUPTED 2
49#define VBOXGUEST_WAITEVENT_ERROR 3
50
51typedef struct _VBoxGuestWaitEventInfo
52{
53 unsigned long u32TimeoutIn;
54 unsigned long u32EventMaskIn;
55 unsigned long u32Result;
56 unsigned long u32EventFlagsOut;
57} VBoxGuestWaitEventInfo;
58
59
60#define VMMDEV_REQUEST_HEADER_VERSION (0x10001UL)
61typedef struct
62{
63 unsigned long size;
64 unsigned long version;
65 unsigned long requestType;
66 signed long rc;
67 unsigned long reserved1;
68 unsigned long reserved2;
69} VMMDevRequestHeader;
70
71#define VMMDevReq_GetMouseStatus 1
72#define VMMDevReq_SetMouseStatus 2
73#define VMMDevReq_CtlGuestFilterMask 42
74
75#define VBOXGUEST_MOUSE_GUEST_CAN_ABSOLUTE BIT(0)
76#define VBOXGUEST_MOUSE_HOST_CAN_ABSOLUTE BIT(1)
77#define VBOXGUEST_MOUSE_GUEST_NEEDS_HOST_CURSOR BIT(2)
78#define VBOXGUEST_MOUSE_HOST_CANNOT_HWPOINTER BIT(3)
79
80typedef struct
81{
82 VMMDevRequestHeader header;
83 unsigned long mouseFeatures;
84 unsigned long pointerXPos;
85 unsigned long pointerYPos;
86} VMMDevReqMouseStatus;
87
88typedef struct
89{
90 VMMDevRequestHeader header;
91 unsigned long u32OrMask;
92 unsigned long u32NotMask;
93} VMMDevCtlGuestFilterMask;
94
95#endif
96
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