Changeset 21224 in vbox for trunk/include
- Timestamp:
- Jul 5, 2009 3:10:29 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 49544
- Location:
- trunk/include/VBox
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VBoxGuest.h
r21223 r21224 33 33 #define ___VBox_VBoxGuest_h 34 34 35 36 35 #include <VBox/cdefs.h> 37 36 #include <VBox/types.h> … … 40 39 41 40 42 #if defined(RT_OS_LINUX) && !defined(VBOX_WITH_COMMON_VBOXGUEST_ON_LINUX) 43 /** The support device name. */ 44 # define VBOXGUEST_DEVICE_NAME "/dev/vboxadd" 45 /** The support device name of the user accessible device node. */ 46 # define VBOXGUEST_USER_DEVICE_NAME "/dev/vboxuser" 47 48 #elif defined(RT_OS_OS2) 49 /** The support device name. */ 50 # define VBOXGUEST_DEVICE_NAME "\\Dev\\VBoxGst$" 51 /** The support device name of the user accessible device node. */ 52 # define VBOXGUEST_USER_DEVICE_NAME "\\Dev\\VBoxGst$" 41 /** @defgroup grp_vboxguest VirtualBox Guest Additions Driver Interface 42 * @{ 43 */ 44 45 /** @todo it would be nice if we could have two define without paths. */ 46 47 /** @def VBOXGUEST_DEVICE_NAME 48 * The support device name. */ 49 /** @def VBOXGUEST_USER_DEVICE_NAME 50 * The support device name of the user accessible device node. */ 51 52 #if defined(RT_OS_OS2) 53 # define VBOXGUEST_DEVICE_NAME "\\Dev\\VBoxGst$" 53 54 54 55 #elif defined(RT_OS_WINDOWS) 56 # define VBOXGUEST_DEVICE_NAME "\\\\.\\VBoxGuest" 57 55 58 /** The support service name. */ 56 # define VBOXGUEST_SERVICE_NAME "VBoxGuest" 57 /** Win32 device name. */ 58 # define VBOXGUEST_DEVICE_NAME "\\\\.\\VBoxGuest" 59 /** The support device name of the user accessible device node. */ 60 # define VBOXGUEST_USER_DEVICE_NAME "\\\\.\\VBoxGuest" 59 # define VBOXGUEST_SERVICE_NAME "VBoxGuest" 61 60 /** Global name for Win2k+ */ 62 # define VBOXGUEST_DEVICE_NAME_GLOBAL "\\\\.\\Global\\VBoxGuest"61 # define VBOXGUEST_DEVICE_NAME_GLOBAL "\\\\.\\Global\\VBoxGuest" 63 62 /** Win32 driver name */ 64 # define VBOXGUEST_DEVICE_NAME_NT L"\\Device\\VBoxGuest" 65 /** device name */ 66 # define VBOXGUEST_DEVICE_NAME_DOS L"\\DosDevices\\VBoxGuest" 63 # define VBOXGUEST_DEVICE_NAME_NT L"\\Device\\VBoxGuest" 64 /** Device name. */ 65 # define VBOXGUEST_DEVICE_NAME_DOS L"\\DosDevices\\VBoxGuest" 66 67 #elif defined(RT_OS_LINUX) && !defined(VBOX_WITH_COMMON_VBOXGUEST_ON_LINUX) 68 # define VBOXGUEST_DEVICE_NAME "/dev/vboxadd" 69 # define VBOXGUEST_USER_DEVICE_NAME "/dev/vboxuser" 67 70 68 71 #else /* PORTME */ 69 /** The support device name. */ 70 # define VBOXGUEST_DEVICE_NAME "/dev/vboxguest" 71 /** The support device name of the user accessible device node. */ 72 # define VBOXGUEST_DEVICE_NAME "/dev/vboxguest" 72 73 # if defined(RT_OS_LINUX) 73 # define VBOXGUEST_USER_DEVICE_NAME "/dev/vboxuser" 74 # else 75 # define VBOXGUEST_USER_DEVICE_NAME "/dev/vboxguest" 74 # define VBOXGUEST_USER_DEVICE_NAME "/dev/vboxuser" 76 75 # endif 77 76 #endif 77 78 #ifndef VBOXGUEST_USER_DEVICE_NAME 79 # define VBOXGUEST_USER_DEVICE_NAME VBOXGUEST_DEVICE_NAME 78 80 #endif 79 81 … … 89 91 * The 8th bit is reserved for distinguishing between 32-bit and 64-bit 90 92 * processes in future 64-bit guest additions. 91 *92 * While windows IOCTL function number has to start at 2048 and stop at 4096 there93 * never was any need to do this for everyone. A simple ((Function) | 0x800) would94 * have sufficed. On Linux we're now intruding upon the type field. Fortunately95 * this hasn't caused any trouble because the FILE_DEVICE_UNKNOWN value was set96 * to 0x22 (if it were 0x2C it would not have worked soo smoothly). The situation97 * would've been the same for *BSD and Darwin since they seems to share common98 * _IOC() heritage.99 *100 * However, on good old OS/2 we only have 8-bit handy for the function number. The101 * result from using the old IOCTL function numbers her would've been overlapping102 * between the two ranges.103 *104 * To fix this problem and get rid of all the unnecessary windowsy crap that I105 * bet was copied from my SUPDRVIOC.h once upon a time (although the concept of106 * prefixing macros with the purpose of avoid clashes with system stuff and107 * to indicate exactly how owns them seems to have been lost somewhere along108 * the way), I've introduced a VBOXGUEST_IOCTL_CODE for defining generic IN/OUT109 * IOCtls on new ports of the additions.110 93 * 111 94 * @remarks When creating new IOCtl interfaces keep in mind that not all OSes supports … … 154 137 uint32_t u32Padding; 155 138 #endif 156 /** @todo r=bird: add a rc field. */ 139 /** @todo r=bird: We need a 'rc' field for passing VBox status codes. Reused 140 * some input field as rc on output. */ 157 141 } VBGLBIGREQ; 158 142 /** Pointer to a request wrapper for solaris guests. */ … … 162 146 163 147 /** The VBGLBIGREQ::u32Magic value (Ryuu Murakami). */ 164 #define VBGLBIGREQ_MAGIC 0x19520219148 #define VBGLBIGREQ_MAGIC 0x19520219 165 149 166 150 … … 170 154 # define IOCTL_CODE(DeviceType, Function, Method, Access, DataSize_ignored) \ 171 155 ( ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method)) 172 # define VBOXGUEST_IOCTL_CODE_(Function, Size) IOCTL_CODE(FILE_DEVICE_UNKNOWN, 2048 + (Function), METHOD_BUFFERED, FILE_WRITE_ACCESS, 0)173 # define VBOXGUEST_IOCTL_STRIP_SIZE_(Code) (Code)156 # define VBOXGUEST_IOCTL_CODE_(Function, Size) IOCTL_CODE(FILE_DEVICE_UNKNOWN, 2048 + (Function), METHOD_BUFFERED, FILE_WRITE_ACCESS, 0) 157 # define VBOXGUEST_IOCTL_STRIP_SIZE_(Code) (Code) 174 158 175 159 #elif defined(RT_OS_OS2) 176 160 /* No automatic buffering, size not encoded. */ 177 # define VBOXGUEST_IOCTL_CATEGORY 0xc2178 # define VBOXGUEST_IOCTL_CODE_(Function, Size) ((unsigned char)(Function))179 # define VBOXGUEST_IOCTL_CATEGORY_FAST 0xc3 /**< Also defined in VBoxGuestA-os2.asm. */180 # define VBOXGUEST_IOCTL_CODE_FAST_(Function) ((unsigned char)(Function))181 # define VBOXGUEST_IOCTL_STRIP_SIZE(Code) (Code)161 # define VBOXGUEST_IOCTL_CATEGORY 0xc2 162 # define VBOXGUEST_IOCTL_CODE_(Function, Size) ((unsigned char)(Function)) 163 # define VBOXGUEST_IOCTL_CATEGORY_FAST 0xc3 /**< Also defined in VBoxGuestA-os2.asm. */ 164 # define VBOXGUEST_IOCTL_CODE_FAST_(Function) ((unsigned char)(Function)) 165 # define VBOXGUEST_IOCTL_STRIP_SIZE(Code) (Code) 182 166 183 167 #elif defined(RT_OS_SOLARIS) 184 168 /* No automatic buffering, size limited to 255 bytes => use VBGLBIGREQ for everything. */ 185 169 # include <sys/ioccom.h> 186 # define VBOXGUEST_IOCTL_CODE_(Function, Size) _IOWRN('V', (Function), sizeof(VBGLBIGREQ))187 # define VBOXGUEST_IOCTL_CODE_FAST_(Function) _IO( 'V', (Function))188 # define VBOXGUEST_IOCTL_STRIP_SIZE(Code) (Code)170 # define VBOXGUEST_IOCTL_CODE_(Function, Size) _IOWRN('V', (Function), sizeof(VBGLBIGREQ)) 171 # define VBOXGUEST_IOCTL_CODE_FAST_(Function) _IO( 'V', (Function)) 172 # define VBOXGUEST_IOCTL_STRIP_SIZE(Code) (Code) 189 173 190 174 #elif defined(RT_OS_LINUX) 191 175 /* No automatic buffering, size limited to 16KB. */ 192 176 # include <linux/ioctl.h> 193 # define VBOXGUEST_IOCTL_CODE_(Function, Size) _IOC(_IOC_READ|_IOC_WRITE, 'V', (Function), (Size))194 # define VBOXGUEST_IOCTL_CODE_FAST_(Function) _IO( 'V', (Function))195 # define VBOXGUEST_IOCTL_STRIP_SIZE(Code) VBOXGUEST_IOCTL_CODE_(_IOC_NR((Code)), 0)177 # define VBOXGUEST_IOCTL_CODE_(Function, Size) _IOC(_IOC_READ|_IOC_WRITE, 'V', (Function), (Size)) 178 # define VBOXGUEST_IOCTL_CODE_FAST_(Function) _IO( 'V', (Function)) 179 # define VBOXGUEST_IOCTL_STRIP_SIZE(Code) VBOXGUEST_IOCTL_CODE_(_IOC_NR((Code)), 0) 196 180 197 181 #elif defined(RT_OS_FREEBSD) /** @todo r=bird: Please do it like SUPDRVIOC to keep it as similar as possible. */ 198 182 # include <sys/ioccom.h> 199 183 200 # define VBOXGUEST_IOCTL_CODE_(Function, Size) _IOWR('V', (Function), VBGLBIGREQ)201 # define VBOXGUEST_IOCTL_CODE_FAST_(Function) _IO( 'V', (Function))202 # define VBOXGUEST_IOCTL_STRIP_SIZE(Code) IOCBASECMD(Code)184 # define VBOXGUEST_IOCTL_CODE_(Function, Size) _IOWR('V', (Function), VBGLBIGREQ) 185 # define VBOXGUEST_IOCTL_CODE_FAST_(Function) _IO( 'V', (Function)) 186 # define VBOXGUEST_IOCTL_STRIP_SIZE(Code) IOCBASECMD(Code) 203 187 204 188 #else … … 206 190 #endif 207 191 208 #define VBOXGUEST_IOCTL_CODE(Function, Size) VBOXGUEST_IOCTL_CODE_((Function) | VBOXGUEST_IOCTL_FLAG, Size)209 #define VBOXGUEST_IOCTL_CODE_FAST(Function) VBOXGUEST_IOCTL_CODE_FAST_((Function) | VBOXGUEST_IOCTL_FLAG)192 #define VBOXGUEST_IOCTL_CODE(Function, Size) VBOXGUEST_IOCTL_CODE_((Function) | VBOXGUEST_IOCTL_FLAG, Size) 193 #define VBOXGUEST_IOCTL_CODE_FAST(Function) VBOXGUEST_IOCTL_CODE_FAST_((Function) | VBOXGUEST_IOCTL_FLAG) 210 194 211 195 /* Define 32 bit codes to support 32 bit applications requests in the 64 bit guest driver. */ 212 196 #ifdef RT_ARCH_AMD64 213 # define VBOXGUEST_IOCTL_CODE_32(Function, Size) VBOXGUEST_IOCTL_CODE_(Function, Size)214 # define VBOXGUEST_IOCTL_CODE_FAST_32(Function) VBOXGUEST_IOCTL_CODE_FAST_(Function)197 # define VBOXGUEST_IOCTL_CODE_32(Function, Size) VBOXGUEST_IOCTL_CODE_(Function, Size) 198 # define VBOXGUEST_IOCTL_CODE_FAST_32(Function) VBOXGUEST_IOCTL_CODE_FAST_(Function) 215 199 #endif /* RT_ARCH_AMD64 */ 216 200 … … 228 212 } VBoxGuestPortInfo; 229 213 214 230 215 /** IOCTL to VBoxGuest to wait for a VMMDev host notification */ 231 216 #define VBOXGUEST_IOCTL_WAITEVENT VBOXGUEST_IOCTL_CODE_(2, sizeof(VBoxGuestWaitEventInfo)) 232 233 /** IOCTL to VBoxGuest to interrupt (cancel) any pending WAITEVENTs and return.234 * Handled inside the guest additions and not seen by the host at all.235 * @see VBOXGUEST_IOCTL_WAITEVENT */236 #define VBOXGUEST_IOCTL_CANCEL_ALL_WAITEVENTS VBOXGUEST_IOCTL_CODE_(5, 0)237 217 238 218 /** @name Result codes for VBoxGuestWaitEventInfo::u32Result … … 250 230 251 231 /** Input and output buffers layout of the IOCTL_VBOXGUEST_WAITEVENT */ 252 typedef struct _VBoxGuestWaitEventInfo232 typedef struct VBoxGuestWaitEventInfo 253 233 { 254 234 /** timeout in milliseconds */ … … 263 243 AssertCompileSize(VBoxGuestWaitEventInfo, 16); 264 244 245 246 /** IOCTL to VBoxGuest to interrupt (cancel) any pending WAITEVENTs and return. 247 * Handled inside the guest additions and not seen by the host at all. 248 * @see VBOXGUEST_IOCTL_WAITEVENT */ 249 #define VBOXGUEST_IOCTL_CANCEL_ALL_WAITEVENTS VBOXGUEST_IOCTL_CODE_(5, 0) 250 251 252 265 253 /** IOCTL to VBoxGuest to perform a VMM request 266 254 * @remark The data buffer for this IOCtl has an variable size, keep this in mind … … 268 256 #define VBOXGUEST_IOCTL_VMMREQUEST(Size) VBOXGUEST_IOCTL_CODE_(3, (Size)) 269 257 258 259 /** IOCTL to VBoxGuest to control event filter mask. */ 260 #define VBOXGUEST_IOCTL_CTL_FILTER_MASK VBOXGUEST_IOCTL_CODE_(4, sizeof(VBoxGuestFilterMaskInfo)) 261 270 262 /** Input and output buffer layout of the IOCTL_VBOXGUEST_CTL_FILTER_MASK. */ 271 typedef struct _VBoxGuestFilterMaskInfo263 typedef struct VBoxGuestFilterMaskInfo 272 264 { 273 265 uint32_t u32OrMask; … … 277 269 #pragma pack() 278 270 279 /** IOCTL to VBoxGuest to control event filter mask. */280 #define VBOXGUEST_IOCTL_CTL_FILTER_MASK VBOXGUEST_IOCTL_CODE_(4, sizeof(VBoxGuestFilterMaskInfo))281 271 282 272 /** IOCTL to VBoxGuest to check memory ballooning. */ 283 273 #define VBOXGUEST_IOCTL_CTL_CHECK_BALLOON_MASK VBOXGUEST_IOCTL_CODE_(7, 100) 284 274 285 /** IOCTL to VBoxGuest to perform backdoor logging. */ 275 276 /** IOCTL to VBoxGuest to perform backdoor logging. 277 * The argument is a string buffer of the specified size. */ 286 278 #define VBOXGUEST_IOCTL_LOG(Size) VBOXGUEST_IOCTL_CODE_(6, (Size)) 287 279 288 280 289 281 #ifdef VBOX_WITH_HGCM 290 /* These structures are shared between the driver and other binaries,291 * therefore packing must be defined explicitely. 292 */ 293 # pragma pack(1) 294 typedef struct _VBoxGuestHGCMConnectInfo /**< @todo I think the usage of '_' in tags, like _VBoxGuestHGCMConnectInfo here, is trespassing on the system/compiler name space. Check+fix. */282 /** IOCTL to VBoxGuest to connect to a HGCM service. */ 283 # define VBOXGUEST_IOCTL_HGCM_CONNECT VBOXGUEST_IOCTL_CODE(16, sizeof(VBoxGuestHGCMConnectInfo)) 284 285 # pragma pack(1) /* explicit packing for good measure. */ 286 typedef struct VBoxGuestHGCMConnectInfo 295 287 { 296 288 int32_t result; /**< OUT */ … … 299 291 } VBoxGuestHGCMConnectInfo; 300 292 AssertCompileSize(VBoxGuestHGCMConnectInfo, 4+4+128+4); 301 302 typedef struct _VBoxGuestHGCMDisconnectInfo 293 # pragma pack() 294 295 296 /** IOCTL to VBoxGuest to disconnect from a HGCM service. */ 297 # define VBOXGUEST_IOCTL_HGCM_DISCONNECT VBOXGUEST_IOCTL_CODE(17, sizeof(VBoxGuestHGCMDisconnectInfo)) 298 typedef struct VBoxGuestHGCMDisconnectInfo 303 299 { 304 300 int32_t result; /**< OUT */ … … 307 303 AssertCompileSize(VBoxGuestHGCMDisconnectInfo, 8); 308 304 309 typedef struct _VBoxGuestHGCMCallInfo 305 306 /** IOCTL to VBoxGuest to make a call to a HGCM service. */ 307 # define VBOXGUEST_IOCTL_HGCM_CALL(Size) VBOXGUEST_IOCTL_CODE(18, (Size)) 308 typedef struct VBoxGuestHGCMCallInfo 310 309 { 311 310 int32_t result; /**< OUT Host HGCM return code.*/ … … 317 316 AssertCompileSize(VBoxGuestHGCMCallInfo, 16); 318 317 319 typedef struct _VBoxGuestHGCMCallInfoTimed 320 { 321 uint32_t u32Timeout; /**< IN How long to wait for completion before cancelling the call */ 318 319 /** IOCTL to VBoxGuest to make a timed call to a HGCM service. */ 320 # define VBOXGUEST_IOCTL_HGCM_CALL_TIMED(Size) VBOXGUEST_IOCTL_CODE(20, (Size)) 321 # pragma pack(1) /* explicit packing for good measure. */ 322 typedef struct VBoxGuestHGCMCallInfoTimed 323 { 324 uint32_t u32Timeout; /**< IN How long to wait for completion before cancelling the call. */ 322 325 uint32_t fInterruptible; /**< IN Is this request interruptible? */ 323 326 VBoxGuestHGCMCallInfo info; /**< IN/OUT The rest of the call information. Placed after the timeout … … 328 331 # pragma pack() 329 332 330 # define VBOXGUEST_IOCTL_HGCM_CONNECT VBOXGUEST_IOCTL_CODE(16, sizeof(VBoxGuestHGCMConnectInfo)) 331 # define VBOXGUEST_IOCTL_HGCM_DISCONNECT VBOXGUEST_IOCTL_CODE(17, sizeof(VBoxGuestHGCMDisconnectInfo)) 332 # define VBOXGUEST_IOCTL_HGCM_CALL(Size) VBOXGUEST_IOCTL_CODE(18, (Size)) 333 # define VBOXGUEST_IOCTL_HGCM_CALL_TIMED(Size) VBOXGUEST_IOCTL_CODE(20, (Size)) 333 # ifdef RT_ARCH_AMD64 334 /** @name IOCTL numbers that 32-bit clients, like the Windows OpenGL guest 335 * driver, will use when taking to a 64-bit driver. 336 * @remarks These are only used by the driver implementation! */ 337 # define VBOXGUEST_IOCTL_HGCM_CONNECT_32 VBOXGUEST_IOCTL_CODE_32(16, sizeof(VBoxGuestHGCMConnectInfo)) 338 # define VBOXGUEST_IOCTL_HGCM_DISCONNECT_32 VBOXGUEST_IOCTL_CODE_32(17, sizeof(VBoxGuestHGCMDisconnectInfo)) 339 # define VBOXGUEST_IOCTL_HGCM_CALL_32(Size) VBOXGUEST_IOCTL_CODE_32(18, (Size)) 340 # define VBOXGUEST_IOCTL_HGCM_CALL_TIMED_32(Size) VBOXGUEST_IOCTL_CODE_32(20, (Size)) 341 /** @} */ 342 # endif /* RT_ARCH_AMD64 */ 343 344 /** Get the pointer to the first HGCM parameter. */ 345 # define VBOXGUEST_HGCM_CALL_PARMS(a) ( (HGCMFunctionParameter *)((uint8_t *)(a) + sizeof(VBoxGuestHGCMCallInfo)) ) 346 /** Get the pointer to the first HGCM parameter in a 32-bit request. */ 347 # define VBOXGUEST_HGCM_CALL_PARMS32(a) ( (HGCMFunctionParameter32 *)((uint8_t *)(a) + sizeof(VBoxGuestHGCMCallInfo)) ) 348 349 /** IOCTL to VBoxGuest to make a connect to the clipboard service. 350 * @todo Seems this is no longer is use. Try remove it. */ 334 351 # define VBOXGUEST_IOCTL_CLIPBOARD_CONNECT VBOXGUEST_IOCTL_CODE_(19, sizeof(uint32_t)) 335 # ifdef RT_ARCH_AMD64336 /* Following HGCM IOCtls can be used by a 32 bit application on a 64 bit guest (Windows OpenGL guest driver). */337 # define VBOXGUEST_IOCTL_HGCM_CONNECT_32 VBOXGUEST_IOCTL_CODE_32(16, sizeof(VBoxGuestHGCMConnectInfo))338 # define VBOXGUEST_IOCTL_HGCM_DISCONNECT_32 VBOXGUEST_IOCTL_CODE_32(17, sizeof(VBoxGuestHGCMDisconnectInfo))339 # define VBOXGUEST_IOCTL_HGCM_CALL_32(Size) VBOXGUEST_IOCTL_CODE_32(18, (Size))340 # define VBOXGUEST_IOCTL_HGCM_CALL_TIMED_32(Size) VBOXGUEST_IOCTL_CODE_32(20, (Size))341 # endif /* RT_ARCH_AMD64 */342 343 # define VBOXGUEST_HGCM_CALL_PARMS(a) ((HGCMFunctionParameter *)((uint8_t *)(a) + sizeof (VBoxGuestHGCMCallInfo)))344 # define VBOXGUEST_HGCM_CALL_PARMS32(a) ((HGCMFunctionParameter32 *)((uint8_t *)(a) + sizeof (VBoxGuestHGCMCallInfo)))345 352 346 353 #endif /* VBOX_WITH_HGCM */ … … 413 420 * is only recognized if it arrives thru the IDC service EP. 414 421 */ 415 # define VBOXGUEST_IOCTL_OS2_IDC_DISCONNECTVBOXGUEST_IOCTL_CODE(48, sizeof(uint32_t))422 # define VBOXGUEST_IOCTL_OS2_IDC_DISCONNECT VBOXGUEST_IOCTL_CODE(48, sizeof(uint32_t)) 416 423 417 424 #endif /* RT_OS_OS2 */ -
trunk/include/VBox/VBoxGuest.inc
r8155 r21224 30 30 31 31 32 VMMDEV_VERSION_MAJOR EQU 133 VMMDEV_VERSION_MINOR EQU 434 VMMDEV_VERSION EQU 000010004h35 36 32 ;; ASSUMES OS/2 for now. 37 33 VBOXGUEST_DEVICE_NAME EQU "VBoxGst$" 38 34 39 35 40 ;; aka VBOXGUESTOS2IDCCONNECT 36 ;; aka VBOXGUESTOS2IDCCONNECT 41 37 VBGOS2IDC STRUC 42 38 u32Version DD ? … … 45 41 fpfnServiceEP DD ? 46 42 fpfnServiceAsmEP DD ? 47 VBGOS2IDC ENDS 43 VBGOS2IDC ENDS 48 44 45 46 ; From VMMDev.h 47 VMMDEV_VERSION_MAJOR EQU 1 48 VMMDEV_VERSION_MINOR EQU 4 49 VMMDEV_VERSION EQU 000010004h 50 -
trunk/include/VBox/VBoxGuest.mac
r8155 r21224 32 32 %define ___VBox_VBoxGuest_mac___ 33 33 34 %define VMMDEV_VERSION_MAJOR 135 %define VMMDEV_VERSION_MINOR 436 %define VMMDEV_VERSION 000010004h37 38 34 %ifdef RT_OS_OS2 39 35 %define VBOXGUEST_DEVICE_NAME "vboxgst$" 40 36 41 ;; aka VBOXGUESTOS2IDCCONNECT 37 ;; aka VBOXGUESTOS2IDCCONNECT 42 38 struc VBGOS2IDC 43 39 .u32Version resd 1 … … 46 42 .fpfnServiceEP resd 1 47 43 .fpfnServiceAsmEP resd 1 48 endstruc 44 endstruc 49 45 50 46 %endif ; RT_OS_OS2 51 47 48 ; From VMMDev.h 49 %define VMMDEV_VERSION_MAJOR 1 50 %define VMMDEV_VERSION_MINOR 4 51 %define VMMDEV_VERSION 000010004h 52 52 53 %endif 53 54 -
trunk/include/VBox/VBoxGuest16.h
r8155 r21224 1 1 /** @file 2 * VBoxGuest - VirtualBox Guest Additions Interface, 16-bit (OS/2) header.2 * VBoxGuest - VirtualBox Guest Additions Driver Interface, 16-bit (OS/2) header. 3 3 */ 4 4 … … 31 31 #define ___VBox_VBoxGuest16_h 32 32 33 #define RT_BIT(bit) (1UL << (bit)) 34 35 36 #define VMMDEV_VERSION 0x00010004UL 33 #define RT_BIT(bit) (1UL << (bit)) 37 34 38 35 #define VBOXGUEST_DEVICE_NAME "vboxgst$" … … 44 41 unsigned long u32Session; 45 42 unsigned long pfnServiceEP; 46 short (__cdecl __far *fpfnServiceEP)(unsigned long u32Session, unsigned short iFunction, 43 short (__cdecl __far *fpfnServiceEP)(unsigned long u32Session, unsigned short iFunction, 47 44 void __far *fpvData, unsigned short cbData, unsigned short __far *pcbDataReturned); 48 45 unsigned long fpfnServiceAsmEP; … … 53 50 #define VBOXGUEST_IOCTL_VMMREQUEST 3 54 51 #define VBOXGUEST_IOCTL_OS2_IDC_DISCONNECT 48 55 56 57 #define VMMDEV_EVENT_MOUSE_CAPABILITIES_CHANGED RT_BIT(0)58 #define VMMDEV_EVENT_HGCM RT_BIT(1)59 #define VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST RT_BIT(2)60 #define VMMDEV_EVENT_JUDGE_CREDENTIALS RT_BIT(3)61 #define VMMDEV_EVENT_RESTORED RT_BIT(4)62 63 52 64 53 #define VBOXGUEST_WAITEVENT_OK 0 … … 111 100 } VMMDevCtlGuestFilterMask; 112 101 102 103 /* From VMMDev.h: */ 104 #define VMMDEV_VERSION 0x00010004UL 105 106 #define VMMDEV_EVENT_MOUSE_CAPABILITIES_CHANGED RT_BIT(0) 107 #define VMMDEV_EVENT_HGCM RT_BIT(1) 108 #define VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST RT_BIT(2) 109 #define VMMDEV_EVENT_JUDGE_CREDENTIALS RT_BIT(3) 110 #define VMMDEV_EVENT_RESTORED RT_BIT(4) 111 113 112 #endif 114 113
Note:
See TracChangeset
for help on using the changeset viewer.