1
/*********************************************************
2
* Copyright (C) 2009 VMware, Inc. All rights reserved.
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms of the GNU Lesser General Public License as published
6
* by the Free Software Foundation version 2.1 and no later version.
8
* This program is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
10
* or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public
11
* License for more details.
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program; if not, write to the Free Software Foundation, Inc.,
15
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
17
*********************************************************/
20
* ghiSetFocusedWindow.x --
22
* Definition of the data structures used in the GuestRpc commands to
23
* set a window to be focused.
26
#include "ghiCommonDefines.h"
29
* Enumerates the different versions of the messages.
31
enum GHISetFocusedWindowVersion {
32
GHI_SET_FOCUSED_WINDOW_V1 = 1
36
* The structure used for version 1 of the message.
38
struct GHISetFocusedWindowV1 {
43
* This defines the protocol for a 'setFocusedWindow' message.
45
* The union allows us to introduce new versions of the protocol later by
46
* creating new values in the enumeration, without having to change much of
47
* the code calling the (de)serialization functions.
49
* Since the union doesn't have a default case, de-serialization will fail if
50
* an unknown version is provided on the wire.
52
union GHISetFocusedWindow switch (GHISetFocusedWindowVersion ver) {
53
case GHI_SET_FOCUSED_WINDOW_V1:
54
struct GHISetFocusedWindowV1 *setFocusedWindowV1;