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