1
/*********************************************************
2
* Copyright (C) 2008 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
* ghiProtocolHandler.x --
22
* Definition of the data structures used in the GuestRpc commands to
23
* provide information about the guests protocol handlers (applications
24
* that are launched when opening URLS).
28
* Neither RFC 1630 or 1738 seem to specify an actual maximum, current
29
* usage implies that 64 bytes should be sufficient
31
const GHI_URL_SCHEME_NAME_MAX_LEN = 64;
34
* The Windows MAX_PATH define specifies that paths may be up to 260 character
35
* units in length. To allow for expansion when going to UTF8 we multiply that
38
const GHI_PROTOCOL_HANDLER_MAX_PATH = 1040;
41
* Maximum number of Protocol Handlers that may be encoded in a single
44
const GHI_MAX_NUM_PROTOCOL_HANDLERS = 32;
47
struct GHIProtocolHandlerDetails {
49
* The scheme name of a URL is typically, http, ftp, mailto, feed etc.
51
string schemeName<GHI_URL_SCHEME_NAME_MAX_LEN>;
54
* The action URI is used in conjunction with UNITY_RPC_SHELL_OPEN to
55
* instruct the guest to open a specified URL.
57
string handlerActionURI<GHI_PROTOCOL_HANDLER_MAX_PATH>;
60
* The executable path can be used as a parameter to
61
* UNITY_RPC_GET_BINARY_INFO to retrieve additional binary information such
64
string executablePath<GHI_PROTOCOL_HANDLER_MAX_PATH>;
67
struct GHIProtocolHandlerList {
68
struct GHIProtocolHandlerDetails handlers<GHI_MAX_NUM_PROTOCOL_HANDLERS>;