]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blob - ubuntu/vbox/include/VBox/HGSMI/HGSMIChannels.h
UBUNTU: ubuntu: vbox -- update to 5.1.6-dfsg-1
[mirror_ubuntu-zesty-kernel.git] / ubuntu / vbox / include / VBox / HGSMI / HGSMIChannels.h
1 /** @file
2 *
3 * VBox Host Guest Shared Memory Interface (HGSMI).
4 * Host/Guest shared part.
5 * Channel identifiers.
6 */
7
8 /*
9 * Copyright (C) 2006-2016 Oracle Corporation
10 *
11 * This file is part of VirtualBox Open Source Edition (OSE), as
12 * available from http://www.virtualbox.org. This file is free software;
13 * you can redistribute it and/or modify it under the terms of the GNU
14 * General Public License (GPL) as published by the Free Software
15 * Foundation, in version 2 as it comes in the "COPYING" file of the
16 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
17 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
18 *
19 * The contents of this file may alternatively be used under the terms
20 * of the Common Development and Distribution License Version 1.0
21 * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
22 * VirtualBox OSE distribution, in which case the provisions of the
23 * CDDL are applicable instead of those of the GPL.
24 *
25 * You may elect to license modified versions of this file under the
26 * terms and conditions of either the GPL or the CDDL or both.
27 */
28
29
30 #ifndef __HGSMIChannels_h__
31 #define __HGSMIChannels_h__
32
33
34 /* Each channel has an 8 bit identifier. There are a number of predefined
35 * (hardcoded) channels.
36 *
37 * HGSMI_CH_HGSMI channel can be used to map a string channel identifier
38 * to a free 16 bit numerical value. values are allocated in range
39 * [HGSMI_CH_STRING_FIRST;HGSMI_CH_STRING_LAST].
40 *
41 */
42
43
44 /* Predefined channel identifiers. Used internally by VBOX to simplify the channel setup. */
45 #define HGSMI_CH_RESERVED (0x00) /* A reserved channel value. */
46
47 #define HGSMI_CH_HGSMI (0x01) /* HGCMI: setup and configuration channel. */
48
49 #define HGSMI_CH_VBVA (0x02) /* Graphics: VBVA. */
50 #define HGSMI_CH_SEAMLESS (0x03) /* Graphics: Seamless with a single guest region. */
51 #define HGSMI_CH_SEAMLESS2 (0x04) /* Graphics: Seamless with separate host windows. */
52 #define HGSMI_CH_OPENGL (0x05) /* Graphics: OpenGL HW acceleration. */
53
54
55 /* Dynamically allocated channel identifiers. */
56 #define HGSMI_CH_STRING_FIRST (0x20) /* The first channel index to be used for string mappings (inclusive). */
57 #define HGSMI_CH_STRING_LAST (0xff) /* The last channel index for string mappings (inclusive). */
58
59
60 /* Check whether the channel identifier is allocated for a dynamic channel. */
61 #define HGSMI_IS_DYNAMIC_CHANNEL(_channel) (((uint8_t)(_channel) & 0xE0) != 0)
62
63
64 #endif /* !__HGSMIChannels_h__*/