1 /********************************************************** 2 * Copyright 2007-2009 VMware, Inc. All rights reserved. 3 * 4 * Permission is hereby granted, free of charge, to any person 5 * obtaining a copy of this software and associated documentation 6 * files (the "Software"), to deal in the Software without 7 * restriction, including without limitation the rights to use, copy, 8 * modify, merge, publish, distribute, sublicense, and/or sell copies 9 * of the Software, and to permit persons to whom the Software is 10 * furnished to do so, subject to the following conditions: 11 * 12 * The above copyright notice and this permission notice shall be 13 * included in all copies or substantial portions of the Software. 14 * 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 19 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 20 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 * SOFTWARE. 23 * 24 **********************************************************/ 25 26 /* 27 * svga_escape.h -- 28 * 29 * Definitions for our own (vendor-specific) SVGA Escape commands. 30 */ 31 32 #ifndef _SVGA_ESCAPE_H_ 33 #define _SVGA_ESCAPE_H_ 34 35 36 /* 37 * Namespace IDs for the escape command 38 */ 39 40 #define SVGA_ESCAPE_NSID_VMWARE 0x00000000 41 #define SVGA_ESCAPE_NSID_DEVEL 0xFFFFFFFF 42 43 44 /* 45 * Within SVGA_ESCAPE_NSID_VMWARE, we multiplex commands according to 46 * the first DWORD of escape data (after the nsID and size). As a 47 * guideline we're using the high word and low word as a major and 48 * minor command number, respectively. 49 * 50 * Major command number allocation: 51 * 52 * 0000: Reserved 53 * 0001: SVGA_ESCAPE_VMWARE_LOG (svga_binary_logger.h) 54 * 0002: SVGA_ESCAPE_VMWARE_VIDEO (svga_overlay.h) 55 * 0003: SVGA_ESCAPE_VMWARE_HINT (svga_escape.h) 56 */ 57 58 #define SVGA_ESCAPE_VMWARE_MAJOR_MASK 0xFFFF0000 59 60 61 /* 62 * SVGA Hint commands. 63 * 64 * These escapes let the SVGA driver provide optional information to 65 * he host about the state of the guest or guest applications. The 66 * host can use these hints to make user interface or performance 67 * decisions. 68 * 69 * Notes: 70 * 71 * - SVGA_ESCAPE_VMWARE_HINT_FULLSCREEN is deprecated for guests 72 * that use the SVGA Screen Object extension. Instead of sending 73 * this escape, use the SVGA_SCREEN_FULLSCREEN_HINT flag on your 74 * Screen Object. 75 */ 76 77 #define SVGA_ESCAPE_VMWARE_HINT 0x00030000 78 #define SVGA_ESCAPE_VMWARE_HINT_FULLSCREEN 0x00030001 // Deprecated 79 80 typedef 81 struct { 82 uint32 command; 83 uint32 fullscreen; 84 struct { 85 int32 x, y; 86 } monitorPosition; 87 } SVGAEscapeHintFullscreen; 88 89 #endif /* _SVGA_ESCAPE_H_ */ 90