Changeset 21227 in vbox
- Timestamp:
- Jul 5, 2009 7:50:18 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 49547
- Location:
- trunk
- Files:
-
- 2 added
- 59 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/HostServices/GuestPropertySvc.h
r14352 r21227 33 33 34 34 #include <VBox/types.h> 35 #include <VBox/VBoxGuest.h> 35 #include <VBox/VMMDev.h> 36 #include <VBox/VBoxGuest2.h> 36 37 #include <VBox/hgcmsvc.h> 37 38 #include <VBox/log.h> -
trunk/include/VBox/HostServices/VBoxClipboardSvc.h
r9435 r21227 33 33 34 34 #include <VBox/types.h> 35 #include <VBox/VBoxGuest.h> 35 #include <VBox/VMMDev.h> 36 #include <VBox/VBoxGuest2.h> 36 37 #include <VBox/hgcmsvc.h> 37 38 -
trunk/include/VBox/HostServices/VBoxCrOpenGLSvc.h
r18637 r21227 33 33 34 34 #include <VBox/types.h> 35 #include <VBox/VBoxGuest.h> 35 #include <VBox/VMMDev.h> 36 #include <VBox/VBoxGuest2.h> 36 37 #include <VBox/hgcmsvc.h> 37 38 … … 102 103 */ 103 104 HGCMFunctionParameter cbWriteback; 104 105 105 106 } CRVBOXHGCMWRITEREAD; 106 107 -
trunk/include/VBox/VBoxGuest.h
r21226 r21227 36 36 #include <VBox/types.h> 37 37 #include <iprt/assert.h> 38 #include <VBox/VMMDev2.h> 39 #include <VBox/VBoxGuest2.h> 40 #if 0 38 41 #include <VBox/VMMDev.h> /* Temporarily. */ 42 #endif 39 43 40 44 … … 209 213 210 214 #pragma pack(4) 211 typedef struct _VBoxGuestPortInfo215 typedef struct VBoxGuestPortInfo 212 216 { 213 217 uint32_t portAddress; 214 VMMDevMemory *pVMMDevMemory;218 struct VMMDevMemory *pVMMDevMemory; 215 219 } VBoxGuestPortInfo; 216 220 … … 286 290 # define VBOXGUEST_IOCTL_HGCM_CONNECT VBOXGUEST_IOCTL_CODE(16, sizeof(VBoxGuestHGCMConnectInfo)) 287 291 288 # pragma pack(1) /* explicit packing for good measure. */289 typedef struct VBoxGuestHGCMConnectInfo290 {291 int32_t result; /**< OUT */292 HGCMServiceLocation Loc; /**< IN */293 uint32_t u32ClientID; /**< OUT */294 } VBoxGuestHGCMConnectInfo;295 AssertCompileSize(VBoxGuestHGCMConnectInfo, 4+4+128+4);296 # pragma pack()297 298 299 292 /** IOCTL to VBoxGuest to disconnect from a HGCM service. */ 300 # define VBOXGUEST_IOCTL_HGCM_DISCONNECT VBOXGUEST_IOCTL_CODE(17, sizeof(VBoxGuestHGCMDisconnectInfo)) 301 typedef struct VBoxGuestHGCMDisconnectInfo 302 { 303 int32_t result; /**< OUT */ 304 uint32_t u32ClientID; /**< IN */ 305 } VBoxGuestHGCMDisconnectInfo; 306 AssertCompileSize(VBoxGuestHGCMDisconnectInfo, 8); 307 308 309 /** IOCTL to VBoxGuest to make a call to a HGCM service. */ 310 # define VBOXGUEST_IOCTL_HGCM_CALL(Size) VBOXGUEST_IOCTL_CODE(18, (Size)) 311 typedef struct VBoxGuestHGCMCallInfo 312 { 313 int32_t result; /**< OUT Host HGCM return code.*/ 314 uint32_t u32ClientID; /**< IN The id of the caller. */ 315 uint32_t u32Function; /**< IN Function number. */ 316 uint32_t cParms; /**< IN How many parms. */ 317 /* Parameters follow in form HGCMFunctionParameter aParms[cParms] */ 318 } VBoxGuestHGCMCallInfo; 319 AssertCompileSize(VBoxGuestHGCMCallInfo, 16); 320 293 # define VBOXGUEST_IOCTL_HGCM_DISCONNECT VBOXGUEST_IOCTL_CODE(17, sizeof(VBoxGuestHGCMDisconnectInfo)) 294 295 /** IOCTL to VBoxGuest to make a call to a HGCM service. 296 * @see VBoxGuestHGCMCallInfo */ 297 # define VBOXGUEST_IOCTL_HGCM_CALL(Size) VBOXGUEST_IOCTL_CODE(18, (Size)) 321 298 322 299 /** IOCTL to VBoxGuest to make a timed call to a HGCM service. */ 323 # define VBOXGUEST_IOCTL_HGCM_CALL_TIMED(Size) VBOXGUEST_IOCTL_CODE(20, (Size)) 324 # pragma pack(1) /* explicit packing for good measure. */ 325 typedef struct VBoxGuestHGCMCallInfoTimed 326 { 327 uint32_t u32Timeout; /**< IN How long to wait for completion before cancelling the call. */ 328 uint32_t fInterruptible; /**< IN Is this request interruptible? */ 329 VBoxGuestHGCMCallInfo info; /**< IN/OUT The rest of the call information. Placed after the timeout 330 * so that the parameters follow as they would for a normal call. */ 331 /* Parameters follow in form HGCMFunctionParameter aParms[cParms] */ 332 } VBoxGuestHGCMCallInfoTimed; 333 AssertCompileSize(VBoxGuestHGCMCallInfoTimed, 8+16); 334 # pragma pack() 300 # define VBOXGUEST_IOCTL_HGCM_CALL_TIMED(Size) VBOXGUEST_IOCTL_CODE(20, (Size)) 335 301 336 302 # ifdef RT_ARCH_AMD64 … … 431 397 432 398 433 #if def IN_RING3399 #if 0 /*def IN_RING3*/ 434 400 # include <VBox/VBoxGuestLib.h> /** @todo eliminate this. */ 435 401 #endif /* IN_RING3 */ -
trunk/include/VBox/VBoxGuestLib.h
r21211 r21227 31 31 #define ___VBox_VBoxGuestLib_h 32 32 33 #include <VBox/types.h> 34 #include <VBox/VMMDev2.h> 33 35 #ifdef IN_RING0 34 # include <VBox/V BoxGuest.h> /** @todo Try stop including <VBox/VBoxGuest.h> in ring-0.*/35 # include <VBox/ err.h> /** @todo Why is this here?? */36 # include <VBox/VMMDev.h> /* grumble */ 37 # include <VBox/VBoxGuest2.h> 36 38 #endif 37 #include <VBox/types.h>38 39 39 40 … … 99 100 * @return VBox status code. 100 101 */ 101 DECLVBGL(int) VbglInit (VBGLIOPORT portVMMDev, VMMDevMemory *pVMMDevMemory);102 DECLVBGL(int) VbglInit (VBGLIOPORT portVMMDev, struct VMMDevMemory *pVMMDevMemory); 102 103 103 104 # else … … 392 393 * @{ */ 393 394 VBGLR3DECL(int) VbglR3SeamlessSetCap(bool fState); 394 # ifdef VBOX_MOUSE_POINTER_SHAPE /** @todo Move common structures/enums out of VBoxGuest.h or/and the externalize the IOCtl interface... Whatever works, just try keep the amout of lowevel mess exposed here to a minimum. */395 395 VBGLR3DECL(int) VbglR3SeamlessWaitEvent(VMMDevSeamlessMode *pMode); 396 # endif397 396 VBGLR3DECL(int) VbglR3SeamlessSendRects(uint32_t cRects, PRTRECT pRects); 398 397 /** @} */ … … 409 408 VBGLR3DECL(int) VbglR3VideoAccelFlush(void); 410 409 VBGLR3DECL(int) VbglR3SetPointerShape(uint32_t fFlags, uint32_t xHot, uint32_t yHot, uint32_t cx, uint32_t cy, const void *pvImg, size_t cbImg); 411 # ifdef VBOX_MOUSE_POINTER_SHAPE /** @todo Move common structures/enums out of VBoxGuest.h or/and the externalize the IOCtl interface... Whatever works, just try keep the amout of lowevel mess exposed here to a minimum. */ 412 VBGLR3DECL(int) VbglR3SetPointerShapeReq(VMMDevReqMousePointer *pReq); 413 # endif 410 VBGLR3DECL(int) VbglR3SetPointerShapeReq(struct VMMDevReqMousePointer *pReq); 414 411 /** @} */ 415 412 -
trunk/include/VBox/VMMDev.h
r21226 r21227 36 36 #include <VBox/err.h> 37 37 #include <VBox/ostypes.h> 38 #include <VBox/VMMDev2.h> 38 39 #include <iprt/assert.h> 39 40 … … 50 51 51 52 /** Size of VMMDev RAM region accessible by guest. 52 * Must be big enough to contain VMMDevMemory structure (see VBoxGuest.h)53 * 53 * Must be big enough to contain VMMDevMemory structure (see further down). 54 * For now: 4 megabyte. 54 55 */ 55 56 #define VMMDEV_RAM_SIZE (4 * 256 * PAGE_SIZE) … … 200 201 /** IN: Size of the structure in bytes (including body). */ 201 202 uint32_t size; 202 /** IN: Version of the structure. */203 /** IN: Version of the structure. */ 203 204 uint32_t version; 204 205 /** IN: Type of the request. */ … … 259 260 * Used by VMMDevReq_SetPointerShape. The size is variable. 260 261 */ 261 typedef struct 262 typedef struct VMMDevReqMousePointer 262 263 { 263 264 /** Header. */ … … 740 741 741 742 /** 742 * Seamless mode.743 *744 * Used by VbglR3SeamlessWaitEvent745 *746 * @todo DARN! DARN! DARN! Who forgot to do the 32-bit hack here???747 * FIXME! XXX!748 *749 * We will now have to carefully check how our compilers have treated this750 * flag. If any are compressing it into a byte type, we'll have to check751 * how the request memory is initialized. If we are 104% sure it's ok to752 * expand it, we'll expand it. If not, we must redefine the field to a753 * uint8_t and a 3 byte padding.754 * */755 typedef enum756 {757 VMMDev_Seamless_Disabled = 0, /**< normal mode; entire guest desktop displayed. */758 VMMDev_Seamless_Visible_Region = 1, /**< visible region mode; only top-level guest windows displayed. */759 VMMDev_Seamless_Host_Window = 2 /**< windowed mode; each top-level guest window is represented in a host window. */760 } VMMDevSeamlessMode;761 762 /**763 743 * Seamless mode change request structure. 764 744 * … … 954 934 #pragma pack() 955 935 956 /**957 * VBVA command header.958 */959 #pragma pack(1) /* unnecessary */960 typedef struct _VBVACMDHDR961 {962 /** Coordinates of affected rectangle. */963 int16_t x;964 int16_t y;965 uint16_t w;966 uint16_t h;967 } VBVACMDHDR;968 #pragma pack()969 970 /** @name VBVA ring defines.971 *972 * The VBVA ring buffer is suitable for transferring large (< 2GB) amount of973 * data. For example big bitmaps which do not fit to the buffer.974 *975 * Guest starts writing to the buffer by initializing a record entry in the976 * aRecords queue. VBVA_F_RECORD_PARTIAL indicates that the record is being977 * written. As data is written to the ring buffer, the guest increases off32End978 * for the record.979 *980 * The host reads the aRecords on flushes and processes all completed records.981 * When host encounters situation when only a partial record presents and982 * cbRecord & ~VBVA_F_RECORD_PARTIAL >= VBVA_RING_BUFFER_SIZE -983 * VBVA_RING_BUFFER_THRESHOLD, the host fetched all record data and updates984 * off32Head. After that on each flush the host continues fetching the data985 * until the record is completed.986 *987 */988 #define VBVA_RING_BUFFER_SIZE (_4M - _1K)989 #define VBVA_RING_BUFFER_THRESHOLD (4 * _1K)990 991 #define VBVA_MAX_RECORDS (64)992 993 #define VBVA_F_MODE_ENABLED (0x00000001)994 #define VBVA_F_MODE_VRDP (0x00000002)995 #define VBVA_F_MODE_VRDP_RESET (0x00000004)996 #define VBVA_F_MODE_VRDP_ORDER_MASK (0x00000008)997 998 #define VBVA_F_RECORD_PARTIAL (0x80000000)999 /** @} */1000 1001 typedef struct1002 {1003 /** The length of the record. Changed by guest. */1004 uint32_t cbRecord;1005 } VBVARECORD;1006 AssertCompileSize(VBVARECORD, 4);1007 1008 /**1009 * VBVA memory layout.1010 */1011 #pragma pack(1) /* paranoia */1012 typedef struct VBVAMEMORY1013 {1014 /** VBVA_F_MODE_*. */1015 uint32_t fu32ModeFlags;1016 1017 /** The offset where the data start in the buffer. */1018 uint32_t off32Data;1019 /** The offset where next data must be placed in the buffer. */1020 uint32_t off32Free;1021 1022 /** The ring buffer for data. */1023 uint8_t au8RingBuffer[VBVA_RING_BUFFER_SIZE];1024 1025 /** The queue of record descriptions. */1026 VBVARECORD aRecords[VBVA_MAX_RECORDS];1027 uint32_t indexRecordFirst;1028 uint32_t indexRecordFree;1029 1030 /** RDP orders supported by the client. The guest reports only them1031 * and falls back to DIRTY rects for not supported ones.1032 *1033 * (1 << VBVA_VRDP_*)1034 */1035 uint32_t fu32SupportedOrders;1036 1037 } VBVAMEMORY;1038 #pragma pack()1039 AssertCompileSize(VBVAMEMORY, 12 + (_4M-_1K) + 4*64 + 12);1040 1041 1042 936 1043 937 #ifdef VBOX_WITH_HGCM … … 1067 961 } VMMDevHGCMRequestHeader; 1068 962 AssertCompileSize(VMMDevHGCMRequestHeader, 24+8); 1069 1070 /**1071 * HGCM service location types.1072 */1073 typedef enum1074 {1075 VMMDevHGCMLoc_Invalid = 0,1076 VMMDevHGCMLoc_LocalHost = 1,1077 VMMDevHGCMLoc_LocalHost_Existing = 2,1078 VMMDevHGCMLoc_SizeHack = 0x7fffffff1079 } HGCMServiceLocationType;1080 AssertCompileSize(HGCMServiceLocationType, 4);1081 1082 /**1083 * HGCM host service location.1084 */1085 typedef struct1086 {1087 char achName[128]; /**< This is really szName. */1088 } HGCMServiceLocationHost;1089 AssertCompileSize(HGCMServiceLocationHost, 128);1090 1091 /**1092 * HGCM service location.1093 */1094 typedef struct HGCMSERVICELOCATION1095 {1096 /** Type of the location. */1097 HGCMServiceLocationType type;1098 1099 union1100 {1101 HGCMServiceLocationHost host;1102 } u;1103 } HGCMServiceLocation;1104 AssertCompileSize(HGCMServiceLocation, 128+4);1105 963 1106 964 /** … … 1541 1399 1542 1400 /** 1401 * VBVA command header. 1402 * 1403 * @todo Where does this fit in? 1404 */ 1405 #pragma pack(1) /* unnecessary */ 1406 typedef struct VBVACMDHDR 1407 { 1408 /** Coordinates of affected rectangle. */ 1409 int16_t x; 1410 int16_t y; 1411 uint16_t w; 1412 uint16_t h; 1413 } VBVACMDHDR; 1414 #pragma pack() 1415 1416 /** @name VBVA ring defines. 1417 * 1418 * The VBVA ring buffer is suitable for transferring large (< 2GB) amount of 1419 * data. For example big bitmaps which do not fit to the buffer. 1420 * 1421 * Guest starts writing to the buffer by initializing a record entry in the 1422 * aRecords queue. VBVA_F_RECORD_PARTIAL indicates that the record is being 1423 * written. As data is written to the ring buffer, the guest increases off32End 1424 * for the record. 1425 * 1426 * The host reads the aRecords on flushes and processes all completed records. 1427 * When host encounters situation when only a partial record presents and 1428 * cbRecord & ~VBVA_F_RECORD_PARTIAL >= VBVA_RING_BUFFER_SIZE - 1429 * VBVA_RING_BUFFER_THRESHOLD, the host fetched all record data and updates 1430 * off32Head. After that on each flush the host continues fetching the data 1431 * until the record is completed. 1432 * 1433 */ 1434 #define VBVA_RING_BUFFER_SIZE (_4M - _1K) 1435 #define VBVA_RING_BUFFER_THRESHOLD (4 * _1K) 1436 1437 #define VBVA_MAX_RECORDS (64) 1438 1439 #define VBVA_F_MODE_ENABLED (0x00000001) 1440 #define VBVA_F_MODE_VRDP (0x00000002) 1441 #define VBVA_F_MODE_VRDP_RESET (0x00000004) 1442 #define VBVA_F_MODE_VRDP_ORDER_MASK (0x00000008) 1443 1444 #define VBVA_F_RECORD_PARTIAL (0x80000000) 1445 /** @} */ 1446 1447 /** 1448 * VBVA record. 1449 */ 1450 typedef struct 1451 { 1452 /** The length of the record. Changed by guest. */ 1453 uint32_t cbRecord; 1454 } VBVARECORD; 1455 AssertCompileSize(VBVARECORD, 4); 1456 1457 1458 /** 1459 * VBVA memory layout. 1460 * 1461 * This is a subsection of the VMMDevMemory structure. 1462 */ 1463 #pragma pack(1) /* paranoia */ 1464 typedef struct VBVAMEMORY 1465 { 1466 /** VBVA_F_MODE_*. */ 1467 uint32_t fu32ModeFlags; 1468 1469 /** The offset where the data start in the buffer. */ 1470 uint32_t off32Data; 1471 /** The offset where next data must be placed in the buffer. */ 1472 uint32_t off32Free; 1473 1474 /** The ring buffer for data. */ 1475 uint8_t au8RingBuffer[VBVA_RING_BUFFER_SIZE]; 1476 1477 /** The queue of record descriptions. */ 1478 VBVARECORD aRecords[VBVA_MAX_RECORDS]; 1479 uint32_t indexRecordFirst; 1480 uint32_t indexRecordFree; 1481 1482 /** RDP orders supported by the client. The guest reports only them 1483 * and falls back to DIRTY rects for not supported ones. 1484 * 1485 * (1 << VBVA_VRDP_*) 1486 */ 1487 uint32_t fu32SupportedOrders; 1488 1489 } VBVAMEMORY; 1490 #pragma pack() 1491 AssertCompileSize(VBVAMEMORY, 12 + (_4M-_1K) + 4*64 + 12); 1492 1493 1494 /** 1543 1495 * The layout of VMMDEV RAM region that contains information for guest. 1544 1496 */ 1545 1497 #pragma pack(1) /* paranoia */ 1546 typedef struct 1547 { 1548 /** size*/1498 typedef struct VMMDevMemory 1499 { 1500 /** The size of this structure. */ 1549 1501 uint32_t u32Size; 1550 /** version*/1502 /** The structure version. (VMMDEV_MEMORY_VERSION) */ 1551 1503 uint32_t u32Version; 1552 1504 1553 union { 1554 /** Flag telling that VMMDev set the IRQ and acknowlegment is required */ 1555 struct { 1505 union 1506 { 1507 struct 1508 { 1509 /** Flag telling that VMMDev set the IRQ and acknowlegment is required */ 1556 1510 bool fHaveEvents; 1557 1511 } V1_04; 1558 1512 1559 struct { 1513 struct 1514 { 1560 1515 /** Pending events flags, set by host. */ 1561 1516 uint32_t u32HostEvents; -
trunk/include/VBox/shflsvc.h
r21217 r21227 32 32 33 33 #include <VBox/types.h> 34 #include <VBox/VBoxGuest.h> 34 #include <VBox/VBoxGuest2.h> 35 #include <VBox/VMMDev.h> 35 36 #include <VBox/hgcmsvc.h> 36 37 #include <iprt/fs.h> -
trunk/src/VBox/Additions/WINNT/Graphics/Display/pointer.c
r18246 r21227 31 31 #include "driver.h" 32 32 33 #include <VBox/V BoxGuest.h> /* for VBOX_MOUSE_POINTER_* flags */33 #include <VBox/VMMDev.h> /* for VMMDEV_MOUSE_POINTER_* flags */ 34 34 35 35 #ifndef SPS_ALPHA … … 165 165 166 166 DISPDBG((0, "DISP bSetHardwarePointerShape SPS_ALPHA = %d\n", fl & SPS_ALPHA)); 167 167 168 168 // We don't use the exclusion rectangle because we only support 169 169 // hardware Pointers. If we were doing our own Pointer simulations … … 279 279 * High word will contain hot spot info and low word - flags. 280 280 */ 281 281 282 282 pPointerAttributes->Enable |= (ppdev->ptlHotSpot.y & 0xFF) << 24; 283 283 pPointerAttributes->Enable |= (ppdev->ptlHotSpot.x & 0xFF) << 16; 284 284 285 285 if (fl & SPS_ALPHA) 286 286 { 287 287 pPointerAttributes->Enable |= VBOX_MOUSE_POINTER_ALPHA; 288 288 } 289 289 290 290 // 291 291 // set animate flags … … 297 297 pPointerAttributes->Flags |= VIDEO_MODE_ANIMATE_UPDATE; 298 298 } 299 299 300 300 301 301 // … … 314 314 return(FALSE); 315 315 } 316 316 317 317 // 318 318 // Set new pointer position 319 319 // 320 320 321 321 if (x != -1) { 322 322 VIDEO_POINTER_POSITION vpp; 323 323 324 324 vpp.Column = pPointerAttributes->Column; 325 325 vpp.Row = pPointerAttributes->Row; 326 326 327 327 if (EngDeviceIoControl(ppdev->hDriver, 328 328 IOCTL_VIDEO_SET_POINTER_POSITION, … … 332 332 0, 333 333 &returnedDataLength)) { 334 334 335 335 // Should never fail, informational message. 336 336 DISPDBG((1, "DISP:Failed IOCTL_VIDEO_SET_POINTER_POSITION call\n")); 337 } 338 } 339 337 } 338 } 339 340 340 return(TRUE); 341 341 } … … 356 356 { 357 357 PBYTE pjSrc = NULL; 358 358 359 359 ULONG cy = 0; 360 360 361 361 PVIDEO_POINTER_ATTRIBUTES pPointerAttributes = ppdev->pPointerAttributes; 362 362 363 363 PBYTE pjDstAnd = pPointerAttributes->Pixels; 364 364 ULONG cjAnd = 0; … … 367 367 ULONG cxSrc = psoMask->sizlBitmap.cx; 368 368 ULONG cySrc = psoMask->sizlBitmap.cy / 2; /* /2 because both masks are in there */ 369 369 370 370 // Make sure the new pointer isn't too big to handle, 371 371 // strip the size to 64x64 if necessary … … 374 374 cxSrc = ppdev->PointerCapabilities.MaxWidth; 375 375 } 376 376 377 377 if (cySrc > ppdev->PointerCapabilities.MaxHeight) 378 378 { … … 382 382 /* Size of AND mask in bytes */ 383 383 cjAnd = ((cxSrc + 7) / 8) * cySrc; 384 384 385 385 /* Pointer to XOR mask is 4-bytes aligned */ 386 386 pjDstXor += (cjAnd + 3) & ~3; 387 387 388 388 pPointerAttributes->Width = cxSrc; 389 389 pPointerAttributes->Height = cySrc; 390 390 pPointerAttributes->WidthInBytes = cxSrc * 4; 391 391 392 392 /* Init AND mask to 1 */ 393 393 RtlFillMemory (pjDstAnd, cjAnd, 0xFF); 394 395 /* 394 395 /* 396 396 * Copy AND mask. 397 397 */ 398 398 399 399 DISPDBG((0, "DISP bCopyMonoPointer going to copy AND mask\n")); 400 400 401 401 pjSrc = (PBYTE)psoMask->pvScan0; 402 402 403 403 for (cy = 0; cy < cySrc; cy++) 404 404 { 405 405 RtlCopyMemory (pjDstAnd, pjSrc, (cxSrc + 7) / 8); 406 406 407 407 // Point to next source and dest scans 408 408 pjSrc += psoMask->lDelta; 409 409 pjDstAnd += (cxSrc + 7) / 8; 410 410 } 411 411 412 412 DISPDBG((0, "DISP bCopyMonoPointer AND mask copied\n")); 413 413 414 414 DISPDBG((0, "DISP bCopyMonoPointer going to create RGB0 XOR mask\n")); 415 415 416 416 for (cy = 0; cy < cySrc; ++cy) 417 417 { 418 418 ULONG cx; 419 419 420 420 UCHAR bitmask = 0x80; 421 421 422 422 for (cx = 0; cx < cxSrc; cx++, bitmask >>= 1) 423 423 { … … 426 426 bitmask = 0x80; 427 427 } 428 428 429 429 if (pjSrc[cx / 8] & bitmask) 430 430 { … … 441 441 pjDstXor += cxSrc * 4; 442 442 } 443 443 444 444 DISPDBG((0, "DISP bCopyMonoPointer created RGB0 XOR mask\n")); 445 445 … … 473 473 * 474 474 */ 475 475 476 476 /* To simplify this function we use the following method: 477 477 * for pointers with alpha channel … … 481 481 * copy AND mask and new BGR0 XOR mask to pPointerAttributes->Pixels 482 482 */ 483 483 484 484 HSURF hsurf32bpp = NULL; 485 485 SURFOBJ *pso32bpp = NULL; … … 487 487 PBYTE pjSrcAnd = NULL; 488 488 PBYTE pjSrcXor = NULL; 489 489 490 490 ULONG cy = 0; 491 491 492 492 PVIDEO_POINTER_ATTRIBUTES pPointerAttributes = ppdev->pPointerAttributes; 493 493 494 494 PBYTE pjDstAnd = pPointerAttributes->Pixels; 495 495 ULONG cjAnd = 0; … … 498 498 ULONG cxSrc = psoColor->sizlBitmap.cx; 499 499 ULONG cySrc = psoColor->sizlBitmap.cy; 500 500 501 501 // Make sure the new pointer isn't too big to handle, 502 502 // strip the size to 64x64 if necessary … … 505 505 cxSrc = ppdev->PointerCapabilities.MaxWidth; 506 506 } 507 507 508 508 if (cySrc > ppdev->PointerCapabilities.MaxHeight) 509 509 { … … 513 513 /* Size of AND mask in bytes */ 514 514 cjAnd = ((cxSrc + 7) / 8) * cySrc; 515 515 516 516 /* Pointer to XOR mask is 4-bytes aligned */ 517 517 pjDstXor += (cjAnd + 3) & ~3; 518 518 519 519 pPointerAttributes->Width = cxSrc; 520 520 pPointerAttributes->Height = cySrc; 521 521 pPointerAttributes->WidthInBytes = cxSrc * 4; 522 522 523 523 /* Init AND mask to 1 */ 524 524 RtlFillMemory (pjDstAnd, cjAnd, 0xFF); … … 527 527 { 528 528 PBYTE pjSrcAlpha = (PBYTE)psoColor->pvScan0; 529 529 530 530 DISPDBG((0, "DISP bCopyColorPointer SPS_ALPHA\n")); 531 531 532 532 pso32bpp = psoColor; 533 534 /* 535 * Emulate AND mask to provide viewable mouse pointer for 533 534 /* 535 * Emulate AND mask to provide viewable mouse pointer for 536 536 * hardware which does not support alpha channel. 537 537 */ 538 538 539 539 DISPDBG((0, "DISP bCopyColorPointer going to emulate AND mask\n")); 540 540 541 541 for (cy = 0; cy < cySrc; cy++) 542 542 { 543 543 ULONG cx; 544 544 545 545 UCHAR bitmask = 0x80; 546 546 547 547 for (cx = 0; cx < cxSrc; cx++, bitmask >>= 1) 548 548 { … … 551 551 bitmask = 0x80; 552 552 } 553 553 554 554 if (pjSrcAlpha[cx * 4 + 3] > 0x7f) 555 555 { … … 557 557 } 558 558 } 559 559 560 560 // Point to next source and dest scans 561 561 pjSrcAlpha += pso32bpp->lDelta; 562 562 pjDstAnd += (cxSrc + 7) / 8; 563 563 } 564 564 565 565 DISPDBG((0, "DISP bCopyColorPointer AND mask emulated\n")); 566 566 } … … 572 572 return (FALSE); 573 573 } 574 575 /* 574 575 /* 576 576 * Copy AND mask. 577 577 */ 578 578 579 579 DISPDBG((0, "DISP bCopyColorPointer going to copy AND mask\n")); 580 580 581 581 pjSrcAnd = (PBYTE)psoMask->pvScan0; 582 582 583 583 for (cy = 0; cy < cySrc; cy++) 584 584 { 585 585 RtlCopyMemory (pjDstAnd, pjSrcAnd, (cxSrc + 7) / 8); 586 586 587 587 // Point to next source and dest scans 588 588 pjSrcAnd += psoMask->lDelta; 589 589 pjDstAnd += (cxSrc + 7) / 8; 590 590 } 591 591 592 592 DISPDBG((0, "DISP bCopyColorPointer AND mask copied\n")); 593 594 /* 593 594 /* 595 595 * Convert given psoColor to 32 bit BGR0. 596 596 */ 597 597 598 598 DISPDBG((0, "DISP bCopyColorPointer psoScreen t = %d, f = %d, psoColor t = %d, f = %d, pxlo = %p, psoColor->lDelta = %d, ->cx = %d\n", 599 599 psoScreen->iType, psoScreen->iBitmapFormat, psoColor->iType, psoColor->iBitmapFormat, pxlo, psoColor->lDelta, psoColor->sizlBitmap.cx)); 600 600 601 601 if (psoColor->iType == STYPE_BITMAP 602 602 && psoColor->iBitmapFormat == BMF_32BPP) … … 610 610 HSURF hsurfBitmap = NULL; 611 611 SURFOBJ *psoBitmap = NULL; 612 612 613 613 SIZEL sizl = psoColor->sizlBitmap; 614 614 615 615 if ((pxlo != NULL && pxlo->flXlate != XO_TRIVIAL) 616 616 || (psoColor->iType != STYPE_BITMAP)) 617 617 { 618 618 /* Convert the unknown format to a screen format bitmap. */ 619 619 620 620 RECTL rclDst; 621 621 POINTL ptlSrc; 622 622 623 623 DISPDBG((0, "DISP bCopyColorPointer going to convert XOR mask to bitmap\n")); 624 624 625 625 hsurfBitmap = (HSURF)EngCreateBitmap (sizl, 0, psoScreen->iBitmapFormat, BMF_TOPDOWN, NULL); 626 626 627 627 if (hsurfBitmap == NULL) 628 628 { 629 629 return FALSE; 630 630 } 631 631 632 632 psoBitmap = EngLockSurface (hsurfBitmap); 633 633 634 634 if (psoBitmap == NULL) 635 635 { … … 637 637 return FALSE; 638 638 } 639 639 640 640 /* Now do the bitmap conversion using EngCopyBits(). */ 641 641 642 642 rclDst.left = 0; 643 643 rclDst.top = 0; 644 644 rclDst.right = sizl.cx; 645 645 rclDst.bottom = sizl.cy; 646 646 647 647 ptlSrc.x = 0; 648 648 ptlSrc.y = 0; 649 649 650 650 if (!EngCopyBits (psoBitmap, psoColor, NULL, pxlo, &rclDst, &ptlSrc)) 651 651 { … … 654 654 return FALSE; 655 655 } 656 656 657 657 DISPDBG((0, "DISP bCopyColorPointer XOR mask converted to bitmap\n")); 658 658 } … … 662 662 psoBitmap = psoColor; 663 663 } 664 664 665 665 /* Create 32 bpp surface for XOR mask */ 666 666 hsurf32bpp = (HSURF)EngCreateBitmap (sizl, 0, BMF_32BPP, BMF_TOPDOWN, NULL); 667 667 668 668 if (hsurf32bpp != NULL) 669 669 { 670 670 pso32bpp = EngLockSurface (hsurf32bpp); 671 671 672 672 if (pso32bpp == NULL) 673 673 { … … 676 676 } 677 677 } 678 678 679 679 if (pso32bpp) 680 680 { … … 684 684 PBYTE src = (PBYTE)psoBitmap->pvScan0; 685 685 PBYTE dst = (PBYTE)pso32bpp->pvScan0; 686 686 687 687 PPALETTEENTRY pPal = ppdev->pPal; 688 688 ULONG cPalette = 256; /* 256 is hardcoded in the driver in palette.c */ 689 689 690 690 DISPDBG((0, "DISP bCopyColorPointer XOR mask conv 8 bpp to 32 bpp palette: %d entries\n", cPalette)); 691 691 692 692 for (cy = 0; cy < (ULONG)sizl.cy; cy++) 693 693 { 694 694 ULONG cx; 695 695 696 696 PBYTE d = dst; 697 697 698 698 for (cx = 0; cx < (ULONG)sizl.cx; cx++) 699 699 { 700 700 BYTE index = src[cx]; 701 701 702 702 *d++ = pPal[index].peBlue; /* B */ 703 703 *d++ = pPal[index].peGreen; /* G */ … … 710 710 dst += pso32bpp->lDelta; 711 711 } 712 712 713 713 DISPDBG((0, "DISP bCopyColorPointer XOR mask conv 8 bpp to 32 bpp completed\n")); 714 714 } … … 717 717 PBYTE src = (PBYTE)psoBitmap->pvScan0; 718 718 PBYTE dst = (PBYTE)pso32bpp->pvScan0; 719 719 720 720 DISPDBG((0, "DISP bCopyColorPointer XOR mask conv 16 bpp to 32 bpp\n")); 721 721 722 722 for (cy = 0; cy < (ULONG)sizl.cy; cy++) 723 723 { 724 724 ULONG cx; 725 725 726 726 PBYTE d = dst; 727 727 728 728 for (cx = 0; cx < (ULONG)sizl.cx; cx++) 729 729 { 730 730 USHORT usSrc = *(USHORT *)&src[cx * 2]; 731 731 732 732 *d++ = (BYTE)( usSrc << 3); /* B */ 733 733 *d++ = (BYTE)((usSrc >> 5) << 2); /* G */ … … 740 740 dst += pso32bpp->lDelta; 741 741 } 742 742 743 743 DISPDBG((0, "DISP bCopyColorPointer XOR mask conv 16 bpp to 32 bpp completed\n")); 744 744 } … … 747 747 PBYTE src = (PBYTE)psoBitmap->pvScan0; 748 748 PBYTE dst = (PBYTE)pso32bpp->pvScan0; 749 749 750 750 DISPDBG((0, "DISP bCopyColorPointer XOR mask conv 24 bpp to 32 bpp\n")); 751 751 752 752 for (cy = 0; cy < (ULONG)sizl.cy; cy++) 753 753 { 754 754 ULONG cx; 755 755 756 756 PBYTE s = src; 757 757 PBYTE d = dst; 758 758 759 759 for (cx = 0; cx < (ULONG)sizl.cx; cx++) 760 760 { … … 769 769 dst += pso32bpp->lDelta; 770 770 } 771 771 772 772 DISPDBG((0, "DISP bCopyColorPointer XOR mask conv 24 bpp to 32 bpp completed\n")); 773 773 } … … 775 775 { 776 776 DISPDBG((0, "DISP bCopyColorPointer XOR mask conv 32 bpp to 32 bpp, pso32bpp->cjBits = %d, psoBitmap->cjBits = %d\n", pso32bpp->cjBits, psoBitmap->cjBits)); 777 777 778 778 RtlCopyMemory (pso32bpp->pvBits, psoBitmap->pvBits, min(pso32bpp->cjBits, psoBitmap->cjBits)); 779 779 780 780 DISPDBG((0, "DISP bCopyColorPointer XOR mask conv 32 bpp to 32 bpp completed\n")); 781 781 } … … 783 783 { 784 784 DISPDBG((0, "DISP bCopyColorPointer XOR mask unsupported bpp\n")); 785 785 786 786 EngUnlockSurface (pso32bpp); 787 787 pso32bpp = NULL; … … 790 790 } 791 791 } 792 792 793 793 if (hsurfBitmap) 794 794 { … … 800 800 } 801 801 } 802 802 803 803 if (!pso32bpp) 804 804 { 805 805 return (FALSE); 806 806 } 807 808 /* 809 * pso is 32 bit BGRX bitmap. Copy it to Pixels 807 808 /* 809 * pso is 32 bit BGRX bitmap. Copy it to Pixels 810 810 */ 811 811 812 812 pjSrcXor = (PBYTE)pso32bpp->pvScan0; 813 813 814 814 for (cy = 0; cy < cySrc; cy++) 815 815 { 816 816 /* 32 bit bitmap is being copied */ 817 RtlCopyMemory (pjDstXor, pjSrcXor, cxSrc * 4); 817 RtlCopyMemory (pjDstXor, pjSrcXor, cxSrc * 4); 818 818 819 819 /* Point to next source and dest scans */ … … 821 821 pjDstXor += pPointerAttributes->WidthInBytes; 822 822 } 823 823 824 824 if (pso32bpp != psoColor) 825 825 { … … 828 828 EngDeleteSurface (hsurf32bpp); 829 829 } 830 830 831 831 return (TRUE); 832 832 } … … 893 893 pdevinfo->flGraphicsCaps &= ~GCAPS_ASYNCMOVE; 894 894 } 895 895 896 896 /* VBOX supports pointers with alpha channel */ 897 897 pdevinfo->flGraphicsCaps2 |= GCAPS2_ALPHACURSOR; -
trunk/src/VBox/Additions/WINNT/Graphics/Display/vbox.c
r20653 r21227 1 /* $Id$ */ 1 2 /** @file 2 * 3 * VBoxGuest -- VirtualBox Win 2000/XP guest display driver 4 * 5 * VBox support functions. 6 * 3 * Display - VirtualBox Win 2000/XP guest display driver, support functions. 4 */ 5 6 /* 7 7 * Copyright (C) 2006-2007 Sun Microsystems, Inc. 8 8 * … … 22 22 #include "driver.h" 23 23 24 #include <VBox/VMMDev.h> 24 25 #include <VBox/VBoxGuest.h> 25 26 #include <VBox/err.h> -
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/vboxioctl.h
r20478 r21227 1 1 /** @file 2 * 3 * VBoxGuest -- VirtualBox Win 2000/XP guest video driver 2 * VBoxGraphics - VirtualBox Win 2000/XP guest video driver. 4 3 * 5 4 * Display driver entry points. 6 * 5 */ 6 7 /* 7 8 * Copyright (C) 2006-2007 Sun Microsystems, Inc. 8 9 * … … 23 24 #define __VBOXIOCTL__H 24 25 26 #include <VBox/VMMDev.h> 25 27 #include <VBox/VBoxGuest.h> 26 28 -
trunk/src/VBox/Additions/WINNT/MouseFilter/VBoxMouse.cpp
r21226 r21227 26 26 // VBOX start 27 27 #include <VBox/err.h> 28 #include <VBox/VBoxGuest.h>29 28 #include <VBox/VBoxGuestLib.h> 30 29 // VBOX end -
trunk/src/VBox/Additions/WINNT/MouseFilter/VBoxMouse.h
r20374 r21227 1 1 /** @file 2 * VBoxMouse - VirtualBox Win32 guest mouse filter driver 2 3 * 3 * VBoxGuest -- VirtualBox Win32 guest mouse filter driver4 * 5 * Based on a Microsoft DDK sample 6 4 * Based on a Microsoft DDK sample. 5 */ 6 7 /* 7 8 * Copyright (C) 2006-2007 Sun Microsystems, Inc. 8 9 * … … 31 32 #include <ntdd8042.h> 32 33 RT_C_DECLS_END 33 #include <VBox/V BoxGuest.h>34 #include <VBox/VMMDev.h> 34 35 35 36 #define VBOXMOUSE_POOL_TAG (ULONG) 'oMBV' -
trunk/src/VBox/Additions/WINNT/VBoxGINA/Helper.cpp
r13837 r21227 24 24 25 25 #include <VBox/VBoxGuest.h> 26 #include <VBox/VMMDev.h> 26 27 #include <iprt/string.h> 27 28 -
trunk/src/VBox/Additions/WINNT/VBoxGINA/VBoxGINA.h
r16138 r21227 24 24 #include <iprt/log.h> 25 25 26 #include <VBox/VBoxGuest.h>27 26 #include <VBox/Log.h> 28 27 -
trunk/src/VBox/Additions/WINNT/VBoxGuest/VBoxGuest_Internal.h
r20374 r21227 28 28 #include <iprt/cdefs.h> 29 29 30 /** @todo Use the-nt-kernel.h and keep the messy stuff all in one place? */ 30 31 #ifdef IN_RING0 31 32 # if (_MSC_VER >= 1400) && !defined(VBOX_WITH_PATCHED_DDK) … … 53 54 #include <iprt/spinlock.h> 54 55 56 #include <VBox/VMMDev.h> 55 57 #include <VBox/VBoxGuest.h> 58 56 59 57 60 /******************************************************************************* 58 61 * Defined Constants And Macros * 59 62 *******************************************************************************/ 60 61 63 62 64 /* debug printf */ -
trunk/src/VBox/Additions/WINNT/VBoxHook/VBoxHook.cpp
r10552 r21227 17 17 * additional information or have any questions. 18 18 */ 19 #include < windows.h>19 #include <Windows.h> 20 20 #include <VBoxHook.h> 21 21 #include <stdio.h> 22 22 23 #pragma data_seg("SHARED") 24 static HWINEVENTHOOK hEventHook[2] = {0}; 25 #pragma data_seg() 26 #pragma comment(linker, "/section:SHARED,RWS") 23 #pragma data_seg("SHARED") 24 static HWINEVENTHOOK hEventHook[2] = {0}; 25 #pragma data_seg() 26 #pragma comment(linker, "/section:SHARED,RWS") 27 27 28 28 static HANDLE hNotifyEvent = 0; … … 36 36 37 37 38 void CALLBACK VBoxHandleWinEvent(HWINEVENTHOOK hook, DWORD event, HWND hwnd, 39 LONG idObject, LONG idChild, 38 void CALLBACK VBoxHandleWinEvent(HWINEVENTHOOK hook, DWORD event, HWND hwnd, 39 LONG idObject, LONG idChild, 40 40 DWORD dwEventThread, DWORD dwmsEventTime) 41 41 { … … 128 128 #ifdef DEBUG 129 129 #include <VBox/VBoxGuest.h> 130 #include <VBox/VMMDev.h> 130 131 131 132 static char LogBuffer[1024]; -
trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxTray.h
r10801 r21227 1 1 /* $Id$ */ 2 2 /** @file 3 * VBox Service - Guest Additions Service, Internal Header.3 * VBoxTray - Guest Additions Tray, Internal Header. 4 4 */ 5 5 … … 33 33 34 34 #include <VBox/version.h> 35 #include <VBox/VBoxGuest.h>36 35 #include <VBox/Log.h> 37 36 -
trunk/src/VBox/Additions/WINNT/VBoxTray/testcase/tstSessionHack.cpp
r21219 r21227 21 21 #define _WIN32_WINNT 0x0500 22 22 #include <Windows.h> 23 #include <VBox/VMMDev.h>24 23 #include <VBox/VBoxGuest.h> 25 24 #include <VBoxGuestInternal.h> -
trunk/src/VBox/Additions/WINNT/i8042prt/i8042prt.h
r1 r21227 29 29 30 30 //VBOX begin 31 #include <VBox/VMMDev.h> 31 32 #include <VBox/VBoxGuest.h> 32 33 #include <VBox/VBoxGuestLib.h> … … 251 252 // 252 253 253 #define ACKNOWLEDGE 0xFA 254 #define ACKNOWLEDGE 0xFA 254 255 #define RESEND 0xFE 255 256 … … 682 683 // Keep track of last byte of data received from mouse so we can detect 683 684 // the two-byte string which indicates a potential reset 684 // 685 // 685 686 686 687 UCHAR LastByteReceived; -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-os2.cpp
r21219 r21227 55 55 56 56 #include "VBoxGuestInternal.h" 57 #include <VBox/VMMDev.h> /* VMMDEV_RAM_SIZE */58 #include <VBox/VBoxGuest.h>59 57 #include <VBox/version.h> 60 58 #include <iprt/initterm.h> -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuestInternal.h
r21170 r21227 26 26 #include <iprt/semaphore.h> 27 27 #include <iprt/spinlock.h> 28 #include <VBox/VMMDev.h> 28 29 #include <VBox/VBoxGuest.h> 29 30 #include <VBox/VBoxGuestLib.h> -
trunk/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest
r21219 r21227 54 54 ${PATH_ROOT}/include/VBox/ostypes.h=>include/VBox/ostypes.h \ 55 55 ${PATH_ROOT}/include/VBox/VMMDev.h=>include/VBox/VMMDev.h \ 56 ${PATH_ROOT}/include/VBox/VMMDev2.h=>include/VBox/VMMDev2.h \ 56 57 ${PATH_ROOT}/include/VBox/VBoxGuest.h=>include/VBox/VBoxGuest.h \ 58 ${PATH_ROOT}/include/VBox/VBoxGuest2.h=>include/VBox/VBoxGuest2.h \ 57 59 ${PATH_ROOT}/include/VBox/VBoxGuestLib.h=>include/VBox/VBoxGuestLib.h \ 58 60 ${PATH_ROOT}/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp=>VBoxGuest.c \ -
trunk/src/VBox/Additions/common/VBoxGuestLib/VBGLInternal.h
r21211 r21227 20 20 */ 21 21 22 #ifndef __ VBoxGuestLib_VBGLInternal_h23 #define __ VBoxGuestLib_VBGLInternal_h22 #ifndef ___VBoxGuestLib_VBGLInternal_h 23 #define ___VBoxGuestLib_VBGLInternal_h 24 24 25 /* I have added this include here as 26 a) This file is always included before VBGLInternal and 27 b) It contains a definition for VBGLHGCMHANDLE, so we definitely do not 28 need to redefine that here. The C (without ++) compiler was complaining 29 that it was defined twice. 30 */ 25 #include <VBox/VMMDev.h> 26 #include <VBox/VBoxGuest.h> 31 27 #include <VBox/VBoxGuestLib.h> 32 28 … … 110 106 111 107 #ifdef VBOX_WITH_HGCM 112 # ifndef VBGL_VBOXGUEST108 # ifndef VBGL_VBOXGUEST 113 109 /* Initialize HGCM subsystem. */ 114 110 int vbglHGCMInit (void); 115 111 /* Terminate HGCM subsystem. */ 116 112 int vbglHGCMTerminate (void); 117 # endif118 #endif 113 # endif 114 #endif /* VBOX_WITH_HGCM */ 119 115 120 #endif /* !__ VBoxGuestLib_VBGLInternal_h */116 #endif /* !___VBoxGuestLib_VBGLInternal_h */ 121 117 -
trunk/src/VBox/Additions/common/VBoxGuestLib/VBGLR3Internal.h
r21211 r21227 26 26 # include <Windows.h> 27 27 #endif 28 #include <VBox/VMMDev.h> 28 29 #include <VBox/VBoxGuest.h> 29 30 #include <VBox/VBoxGuestLib.h> -
trunk/src/VBox/Additions/common/VBoxService/VBoxService-win.cpp
r19374 r21227 25 25 *******************************************************************************/ 26 26 #include <iprt/assert.h> 27 #include <VBox/VBoxGuest .h>27 #include <VBox/VBoxGuestLib.h> 28 28 #include "VBoxServiceInternal.h" 29 29 … … 224 224 } 225 225 else 226 { 226 { 227 227 DWORD dwRes = VBoxServiceWinAddAceToObjectsSecurityDescriptor (TEXT("\\\\.\\VBoxMiniRdrDN"), 228 228 SE_FILE_OBJECT, … … 338 338 } 339 339 } 340 else 340 else 341 341 { 342 342 VBoxServiceVerbose(2, "Service control handler registered.\n"); -
trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo-win.cpp
r21150 r21227 21 21 22 22 23 24 23 /******************************************************************************* 25 24 * Header Files * … … 37 36 #include <iprt/system.h> 38 37 #include <iprt/time.h> 39 #include <VBox/VBoxGuest .h>38 #include <VBox/VBoxGuestLib.h> 40 39 #include "VBoxServiceInternal.h" 41 40 #include "VBoxServiceUtils.h" … … 340 339 rc = RegOpenKeyExA (HKEY_LOCAL_MACHINE, "SOFTWARE\\Sun\\VirtualBox Guest Additions", 0, KEY_READ, &hKey); 341 340 if ((rc != ERROR_SUCCESS) && (rc != ERROR_FILE_NOT_FOUND)) 342 { 341 { 343 342 /* New path does not exist, check the old one ... */ 344 343 rc = RegOpenKeyExA (HKEY_LOCAL_MACHINE, "SOFTWARE\\Sun\\xVM VirtualBox Guest Additions", 0, KEY_READ, &hKey); -
trunk/src/VBox/Additions/linux/module/files_vboxadd
r21219 r21227 46 46 ${PATH_ROOT}/include/VBox/ostypes.h=>include/VBox/ostypes.h \ 47 47 ${PATH_ROOT}/include/VBox/VMMDev.h=>include/VBox/VMMDev.h \ 48 ${PATH_ROOT}/include/VBox/VMMDev2.h=>include/VBox/VMMDev2.h \ 48 49 ${PATH_ROOT}/include/VBox/VBoxGuest.h=>include/VBox/VBoxGuest.h \ 50 ${PATH_ROOT}/include/VBox/VBoxGuest2.h=>include/VBox/VBoxGuest2.h \ 49 51 ${PATH_ROOT}/include/VBox/VBoxGuestLib.h=>include/VBox/VBoxGuestLib.h \ 50 52 ${PATH_ROOT}/src/VBox/Additions/common/VBoxGuestLib/GenericRequest.cpp=>GenericRequest.c \ -
trunk/src/VBox/Additions/linux/module/vboxmod.h
r17857 r21227 1 /* $Revision$ */ 1 2 /** @file 2 * 3 * vboxadd -- VirtualBox Guest Additions for Linux 3 * vboxadd - VirtualBox Guest Additions for Linux. 4 4 */ 5 5 … … 23 23 #define VBOXMOD_H 24 24 25 #include <VBox/VMMDev.h> 25 26 #include <VBox/VBoxGuest.h> 26 27 #include <VBox/VBoxGuestLib.h> -
trunk/src/VBox/Additions/os2/VBoxSF/VBoxSFInit.cpp
r20374 r21227 1 /* *$Id$ */1 /* $Id$ */ 2 2 /** @file 3 3 * VBoxSF - OS/2 Shared Folders, Initialization. … … 36 36 #include "VBoxSFInternal.h" 37 37 38 #include <VBox/VBoxGuest.h>39 38 #include <VBox/VBoxGuestLib.h> 40 39 #include <VBox/log.h> -
trunk/src/VBox/Additions/x11/VBoxClient/autoresize.cpp
r21218 r21227 1 /* $Id$ */ 1 2 /** @file 2 * 3 * Guest client: display auto-resize. 3 * X11 guest client - display auto-resize. 4 4 */ 5 5 … … 33 33 #include <iprt/thread.h> 34 34 #include <VBox/log.h> 35 #include <VBox/V BoxGuest.h>35 #include <VBox/VMMDev.h> 36 36 #include <VBox/VBoxGuestLib.h> 37 37 -
trunk/src/VBox/Additions/x11/VBoxClient/clipboard.cpp
r21043 r21227 33 33 34 34 #include <VBox/log.h> 35 #include <VBox/VBoxGuestLib.h> 35 36 #include <VBox/HostServices/VBoxClipboardSvc.h> 36 37 #include <VBox/GuestHost/SharedClipboard.h> -
trunk/src/VBox/Additions/x11/VBoxClient/seamless-host.cpp
r21218 r21227 1 1 /** @file 2 * 3 * Seamless mode: 4 * Linux guest. 2 * X11 Guest client - seamless mode, missing proper description while using the 3 * potentially confusing word 'host'. 5 4 */ 6 5 … … 24 23 * Header files * 25 24 *****************************************************************************/ 26 27 25 #include <VBox/log.h> 28 #include <VBox/VBoxGuest.h> 26 #include <VBox/VMMDev.h> 27 #include <VBox/VBoxGuestLib.h> 29 28 #include <iprt/err.h> 30 29 -
trunk/src/VBox/Additions/x11/VBoxClient/seamless-host.h
r21218 r21227 1 1 /** @file 2 * 3 * Guest client: seamless mode.2 * X11 Guest client - seamless mode, missing proper description while using the 3 * potentially confusing word 'host'. 4 4 */ 5 5 -
trunk/src/VBox/Additions/x11/VBoxClient/seamless-x11.cpp
r21216 r21227 1 1 /** @file 2 * 3 * Seamless mode: 4 * Linux guest. 2 * X11 Seamless mode. 5 3 */ 6 4 … … 28 26 #include <iprt/assert.h> 29 27 #include <VBox/log.h> 30 #include <VBox/VBoxGuest.h>31 28 32 29 #include "seamless-guest.h" … … 277 274 278 275 /** 279 * Waits for a position or shape-related event from guest windows 276 * Waits for a position or shape-related event from guest windows 280 277 * 281 278 * @note Called from the guest event thread. -
trunk/src/VBox/Additions/x11/VBoxClient/testcase/tstSeamlessX11-auto.cpp
r21216 r21227 31 31 #include <iprt/stream.h> 32 32 #include <iprt/string.h> 33 #include <VBox/VBoxGuest.h>34 33 35 34 #include "../seamless.h" -
trunk/src/VBox/Additions/x11/VBoxClient/testcase/tstSeamlessX11.cpp
r21218 r21227 24 24 #include <iprt/initterm.h> 25 25 #include <iprt/semaphore.h> 26 #include <VBox/VBoxGuest.h>27 26 #include <VBox/VBoxGuestLib.h> 28 27 -
trunk/src/VBox/Additions/x11/vboxmouse/VBoxUtils.c
r21226 r21227 21 21 22 22 #include <iprt/assert.h> 23 #include <VBox/VBoxGuest.h> 23 #include <iprt/err.h> 24 #include <VBox/VMMDev.h> 24 25 #include <VBox/VBoxGuestLib.h> 25 26 #include "VBoxUtils.h" -
trunk/src/VBox/Additions/x11/vboxmouse/VBoxUtils_68.c
r21226 r21227 21 21 22 22 #include <iprt/assert.h> 23 #include <VBox/VMMDev.h> 23 24 #include <VBox/VBoxGuest.h> 24 25 #include <VBox/VBoxGuestLib.h> … … 31 32 32 33 #ifndef RT_OS_SOLARIS 33 # include <asm/ioctl.h>34 # include <asm/ioctl.h> 34 35 #endif 35 36 -
trunk/src/VBox/Additions/x11/vboxmouse/vboxmouse_15.c
r21226 r21227 48 48 */ 49 49 50 #include <VBox/V BoxGuest.h>50 #include <VBox/VMMDev.h> 51 51 #include <VBox/VBoxGuestLib.h> 52 #include <iprt/err.h> 52 53 #include <xf86.h> 53 54 #include <xf86Xinput.h> -
trunk/src/VBox/Additions/x11/vboxvideo/vboxutils.c
r21226 r21227 20 20 21 21 #include <VBox/VMMDev.h> 22 #include <VBox/VBoxGuest.h>23 22 #include <VBox/VBoxGuestLib.h> 24 23 -
trunk/src/VBox/Additions/x11/vboxvideo/vboxutils_68.c
r21226 r21227 1 1 /** @file 2 *3 2 * Linux Additions X11 graphics driver helper module 4 3 */ -
trunk/src/VBox/Additions/x11/vboxvideo/vboxvideo.h
r20550 r21227 93 93 #define BOOL_STR(a) ((a) ? "TRUE" : "FALSE") 94 94 95 #include <VBox/V BoxGuest.h>95 #include <VBox/VMMDev.h> 96 96 97 97 /* All drivers should typically include these */ -
trunk/src/VBox/Additions/x11/vboxvideo/vboxvideo_68.h
r16701 r21227 57 57 #define _VBOXVIDEO_H_ 58 58 59 #include <VBox/V BoxGuest.h>59 #include <VBox/VMMDev.h> 60 60 61 61 /* All drivers should typically include these */ … … 154 154 Bool useVbva; 155 155 int viewportX, viewportY; 156 VMMDevVideoAccelFlush *reqf; 157 VMMDevVideoAccelEnable *reqe; 156 VMMDevVideoAccelFlush *reqf; 157 VMMDevVideoAccelEnable *reqe; 158 158 VMMDevMemory *pVMMDevMemory; 159 159 VBVAMEMORY *pVbvaMemory; -
trunk/src/VBox/Devices/Graphics/DevVGA.cpp
r21188 r21227 131 131 #include <iprt/string.h> 132 132 133 #include <VBox/V BoxGuest.h>133 #include <VBox/VMMDev.h> 134 134 #include <VBox/VBoxVideo.h> 135 135 #include <VBox/bioslogo.h> -
trunk/src/VBox/Devices/VMMDev/VBoxDev.cpp
r21226 r21227 29 29 #define LOG_GROUP LOG_GROUP_DEV_VMM 30 30 #include <VBox/VMMDev.h> 31 #include <VBox/VBoxGuest.h>32 31 #include <VBox/log.h> 33 32 #include <VBox/param.h> -
trunk/src/VBox/Devices/VMMDev/VMMDevHGCM.h
r20731 r21227 23 23 #define ___VMMDev_VMMDevHGCM_h 24 24 25 #include <VBox/cdefs.h>26 #include <VBox/types.h>27 28 #include <VBox/VBoxGuest.h>29 30 25 #include "VMMDevState.h" 31 26 -
trunk/src/VBox/Devices/VMMDev/VMMDevState.h
r21062 r21227 23 23 #define ___VMMDev_VMMDevState_h 24 24 25 #include <VBox/cdefs.h> 26 #include <VBox/types.h> 27 25 #include <VBox/VMMDev.h> 28 26 #include <VBox/pdmdev.h> 29 27 #include <VBox/pdmifs.h> -
trunk/src/VBox/Frontends/VBoxBFE/DisplayImpl.cpp
r19817 r21227 34 34 #include <iprt/thread.h> 35 35 #include <VBox/pdm.h> 36 #include <VBox/V BoxGuest.h>36 #include <VBox/VMMDev.h> 37 37 #include <VBox/cfgm.h> 38 38 #include <VBox/err.h> -
trunk/src/VBox/Frontends/VBoxBFE/DisplayImpl.h
r21226 r21227 28 28 29 29 #include "Framebuffer.h" 30 struct _VBVACMDHDR;30 struct VBVACMDHDR; 31 31 32 32 class VMDisplay … … 98 98 uint32_t mcbVbvaPartial; 99 99 100 bool vbvaFetchCmd (struct _VBVACMDHDR **ppHdr, uint32_t *pcbCmd);101 void vbvaReleaseCmd (struct _VBVACMDHDR *pHdr, int32_t cbCmd);100 bool vbvaFetchCmd (struct VBVACMDHDR **ppHdr, uint32_t *pcbCmd); 101 void vbvaReleaseCmd (struct VBVACMDHDR *pHdr, int32_t cbCmd); 102 102 103 103 void handleResizeCompletedEMT (void); -
trunk/src/VBox/Frontends/VBoxBFE/HGCM.cpp
r13837 r21227 41 41 #include <iprt/thread.h> 42 42 43 #include <VBox/VBoxGuest.h>44 43 45 44 /** -
trunk/src/VBox/Frontends/VBoxBFE/HGCM.h
r20374 r21227 26 26 #include <VBox/types.h> 27 27 #include <VBox/pdm.h> 28 29 #include <VBox/VBoxGuest.h>30 28 #include <VBox/hgcmsvc.h> 31 29 -
trunk/src/VBox/Frontends/VBoxBFE/VMMDevInterface.cpp
r21226 r21227 30 30 #include <VBox/pdm.h> 31 31 #include <VBox/VMMDev.h> 32 #include <VBox/VBoxGuest.h>33 32 #include <VBox/cfgm.h> 34 33 #include <VBox/err.h> -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxConsoleWnd.cpp
r20928 r21227 52 52 #endif 53 53 54 #include <VBox/V BoxGuest.h>54 #include <VBox/VMMDev.h> /** @todo @bugref{4084} */ 55 55 56 56 #if defined(Q_WS_X11) … … 3602 3602 .arg (RT_HIWORD (version)).arg (RT_LOWORD (version)); 3603 3603 QString expectedStr = QString ("%1.%2") 3604 .arg (VMMDEV_VERSION_MAJOR).arg (VMMDEV_VERSION_MINOR); 3604 .arg (VMMDEV_VERSION_MAJOR).arg (VMMDEV_VERSION_MINOR); /** @todo r=bird: This isn't want we want! We want the VirtualBox version of the additions, all three numbers. See @bugref{4084}.*/ 3605 3605 3606 3606 if (RT_HIWORD (version) < VMMDEV_VERSION_MAJOR) -
trunk/src/VBox/GuestHost/OpenGL/util/vboxhgcm.c
r21225 r21227 41 41 #include "net_internals.h" 42 42 43 #include <VBox/VBoxGuest.h> 43 #if 1 /** @todo Try use the Vbgl interface instead of talking directly to the driver? */ 44 # include <VBox/VBoxGuest.h> 45 #else 46 # include <VBox/VBoxGuestLib.h> 47 #endif 44 48 #include <VBox/HostServices/VBoxCrOpenGLSvc.h> 45 49 … … 147 151 * @param cbData Data size 148 152 */ 149 /* @todo use vbglR3DoIOCtl here instead */153 /** @todo use vbglR3DoIOCtl here instead */ 150 154 static int crVBoxHGCMCall(void *pvData, unsigned cbData) 151 155 { -
trunk/src/VBox/Main/VMMDevInterface.cpp
r21226 r21227 1 1 /** @file 2 * 3 * VirtualBox Driver Interface to VMM device 2 * VirtualBox Driver Interface to VMM device. 4 3 */ 5 4 … … 29 28 #include <VBox/pdmdrv.h> 30 29 #include <VBox/VMMDev.h> 31 #include <VBox/VBoxGuest.h>32 30 #include <VBox/shflsvc.h> 33 31 #include <iprt/asm.h> -
trunk/src/VBox/Main/hgcm/HGCM.cpp
r14215 r21227 41 41 #include <iprt/thread.h> 42 42 43 #include <VBox/V BoxGuest.h>43 #include <VBox/VMMDev.h> 44 44 45 45 /** -
trunk/src/VBox/Main/include/DisplayImpl.h
r20814 r21227 30 30 #include <iprt/semaphore.h> 31 31 #include <VBox/pdmdrv.h> 32 #include <VBox/V BoxGuest.h>32 #include <VBox/VMMDev.h> 33 33 #include <VBox/VBoxVideo.h> 34 34 -
trunk/src/VBox/Main/include/hgcm/HGCM.h
r20374 r21227 1 1 /** @file 2 * 3 * HGCM - Host-Guest Communication Manager 2 * HGCM - Host-Guest Communication Manager. 4 3 */ 5 4 … … 27 26 #include <VBox/pdm.h> 28 27 29 #include <VBox/V BoxGuest.h>28 #include <VBox/VMMDev.h> 30 29 #include <VBox/hgcmsvc.h> 31 30 -
trunk/src/VBox/Runtime/VBox/logbackdoor.cpp
r19120 r21227 36 36 #include <iprt/string.h> 37 37 #ifdef IN_GUEST_R3 38 # include <VBox/VBoxGuest .h>38 # include <VBox/VBoxGuestLib.h> 39 39 #endif 40 40
Note:
See TracChangeset
for help on using the changeset viewer.