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
* ghiGetExecInfoHash.x --
22
* Definition of the data structures used in the GuestRpc commands to
23
* get the hash of information returned by the get.binary.info RPC.
26
#include "ghiCommonDefines.h"
29
* Enumerates the different versions of the messages.
31
enum GHIGetExecInfoHashVersion {
32
GHI_GET_EXEC_INFO_HASH_V1 = 1
36
* The structures used for version 1 of the messages.
38
struct GHIGetExecInfoHashRequestV1 {
40
* A string identifier for the executable path.
42
string execPath<GHI_HANDLERS_ACTIONURI_MAX_PATH>;
44
struct GHIGetExecInfoHashReplyV1 {
46
* A string identifier for the hash.
48
string execHash<GHI_EXEC_INFO_HASH_MAX_LEN>;
52
* This defines the protocol for 'getExecInfoHash' request and reply messages.
54
* The union allows us to introduce new versions of the protocol later by
55
* creating new values in the enumeration, without having to change much of
56
* the code calling the (de)serialization functions.
58
* Since the union doesn't have a default case, de-serialization will fail if
59
* an unknown version is provided on the wire.
61
union GHIGetExecInfoHashRequest switch (GHIGetExecInfoHashVersion ver) {
62
case GHI_GET_EXEC_INFO_HASH_V1:
63
struct GHIGetExecInfoHashRequestV1 *requestV1;
65
union GHIGetExecInfoHashReply switch (GHIGetExecInfoHashVersion ver) {
66
case GHI_GET_EXEC_INFO_HASH_V1:
67
struct GHIGetExecInfoHashReplyV1 *replyV1;