Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /**********************************************************
  2.  * Copyright 2007-2014 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.