]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
Hgfs: remove Hgfs VMCI transport header from linux open-vm-tools
authorOliver Kurth <okurth@vmware.com>
Fri, 26 Jan 2018 23:04:35 +0000 (15:04 -0800)
committerOliver Kurth <okurth@vmware.com>
Fri, 26 Jan 2018 23:04:35 +0000 (15:04 -0800)
Linux Hgfs clients do not use the VMCI module for a transport and have
since migrated to a FUSE implementation. Therefore we do not need to
include the Hgfs VMCI transport header file.

open-vm-tools/lib/include/hgfsTransport.h [deleted file]

diff --git a/open-vm-tools/lib/include/hgfsTransport.h b/open-vm-tools/lib/include/hgfsTransport.h
deleted file mode 100644 (file)
index bf87b5b..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-/*********************************************************
- * Copyright (C) 2010-2017 VMware, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published
- * by the Free Software Foundation version 2.1 and no later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE.  See the Lesser GNU General Public
- * License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA.
- *
- *********************************************************/
-
-/*********************************************************
- * The contents of this file are subject to the terms of the Common
- * Development and Distribution License (the "License") version 1.0
- * and no later version.  You may not use this file except in
- * compliance with the License.
- *
- * You can obtain a copy of the License at
- *         http://www.opensource.org/licenses/cddl1.php
- *
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- *********************************************************/
-
-/*
- * hgfsTransport.h --
- *
- * Transport file shared between guest drivers and host.
- */
-
-#ifndef _HGFS_TRANSPORT_H_
-# define _HGFS_TRANSPORT_H_
-
-#include "vmci_defs.h"
-
-/************************************************
- *    VMCI specific data structures, macros     *
- ************************************************/
-
-/*
- *    Limit payload to 16M.
- *    This limit ensures that list of shared pages fits into VMCI datagram.
- *    Client may impose a lower limit in create session request.
- */
-#define HGFS_VMCI_PACKET_MAX         (0x1000000)
-
-#define HGFS_VMCI_VERSION_1          0x1
-#define HGFS_VMCI_VERSION_2          0x2
-
-typedef enum {
-   HGFS_TS_IO_PENDING,
-   HGFS_TS_IO_COMPLETE,
-   HGFS_TS_IO_FAILED,
-} HgfsTransportRequestState;
-
-typedef enum {
-   HGFS_ASYNC_IOREQ_SHMEM,
-   HGFS_ASYNC_IOREQ_GET_PAGES,
-   HGFS_ASYNC_IOREP,
-} HgfsTransportReplyType;
-
-typedef enum {
-   HGFS_TH_REP_GET_PAGES,
-   HGFS_TH_REQUEST,
-   HGFS_TH_TERMINATE_SESSION,
-} HgfsTransportRequestType;
-
-#define HGFS_VMCI_TRANSPORT_ERROR      (VMCI_ERROR_CLIENT_MIN - 1)
-#define HGFS_VMCI_VERSION_MISMATCH     (VMCI_ERROR_CLIENT_MIN - 2)
-#define HGFS_VMCI_TYPE_NOT_SUPPORTED   (VMCI_ERROR_CLIENT_MIN - 3)
-
-/*
- * Used By : Guest and Host
- * Lives in : Inside HgfsVmciTransportHeader
- */
-
-#pragma pack(push, 1)
-
-typedef
-struct HgfsIov {
-   uint64 pa;                 /* Physical addr */
-   uint32 len;                /* length of data; should be <= PAGE_SIZE */
-} HgfsIov;
-
-/*
- * Used By : Guest and Host
- * Lives in : Inside HgfsVmciTransportHeader
- */
-
-typedef
-struct HgfsAsyncIov {
-   uint64 pa;                 /* Physical addr */
-   uint64 va;                 /* Virtual addr */
-   uint32 len;                /* length of data; should be <= PAGE_SIZE */
-   uint64 index;              /* Guest opaque data; should not be changed by
-                                 host */
-   Bool chain;                /* Are pages chained ? */
-} HgfsAsyncIov;
-
-/*
- * Every VMCI request will have this transport Header sent over
- * in the datagram by the Guest OS.
- *
- * Node fields are set to be compatible for backwards compatibility
- * for version 1 and common for newer versions.
- *
- * Used By : Guest and Host
- * Lives in : Sent by Guest inside VMCI datagram
- */
-typedef
-struct HgfsVmciHeaderNode {
-   uint32 version;                          /* Version number */
-   union {
-      HgfsTransportRequestType pktType;     /* Type of packet for client to server */
-      HgfsTransportReplyType replyType;     /* Type of packet for server to client */
-   };
-} HgfsVmciHeaderNode;
-
-typedef
-struct HgfsVmciTransportHeader {
-   HgfsVmciHeaderNode node;                 /* Node: version, type etc. */
-   uint32 iovCount;                         /* Number of iovs */
-   union {
-      HgfsIov iov[1];                       /* (PA, len) */
-      HgfsAsyncIov asyncIov[1];
-   };
-} HgfsVmciTransportHeader;
-
-/*
- * Every VMCI request will have this transport Header sent over
- * in the datagram by the Guest or the Host.
- * This supersedes the above header and the HgfsVmciAsyncReply structure
- * below.
- *
- * Used By : Guest and Host
- * Lives in : Sent by Guest and Host inside VMCI datagram
- */
-typedef
-struct HgfsVmciTransportHeaderV2 {
-   HgfsVmciHeaderNode node;                 /* Common node for all versions. */
-   uint32 size;                             /* Size of the header. */
-   uint64 pktId;                            /* Id corresponding to the request */
-   uint64 flags;                            /* flags to indicate state of the header */
-   uint32 pktDataSize;                      /* packet data size (not buffer size) */
-   uint64 reserved1;                        /* For future use, sender must zero */
-   uint64 reserved2;                        /* For future use, sender must zero  */
-   uint32 iovCount;                         /* Number of iovs to follow */
-   union {
-      HgfsIov iov[1];                       /* (PA, len) */
-      HgfsAsyncIov asyncIov[1];
-   };
-} HgfsVmciTransportHeaderV2;
-
-#define HGFS_VMCI_HDR_FLAGS_REQUEST          (1 << 0)    /* CLient to the server */
-#define HGFS_VMCI_HDR_FLAGS_REPLY            (1 << 1)    /* Server to the client */
-#define HGFS_VMCI_HDR_FLAGS_ASYNCIOV         (1 << 2)    /* IOV type is async */
-
-
-/*
- * Indicates status of VMCI requests. If the requests are processed sync
- * by the hgfsServer then guest should see IO_COMPLETE otherwise IO_PENDING.
- *
- * Used By: Guest and Host
- * Lives in: Guest Memory
- */
-typedef
-struct HgfsVmciTransportStatus {
-   HgfsTransportRequestState status; /* IO_PENDING, IO_COMPLETE, IO_FAILED etc */
-   uint32 size;                      /* G->H: Size of the packet,H->G: How much more space is needed */
-} HgfsVmciTransportStatus;
-
-typedef
-struct HgfsVmciAsyncResponse {
-   uint64 id;            /* Id corresponding to the guest request */
-} HgfsVmciAsyncResponse;
-
-typedef
-struct HgfsVmciAsyncShmem {
-   uint32 count;          /* Number of iovs */
-   HgfsAsyncIov iov[1];
-} HgfsVmciAsyncShmem;
-
-typedef
-struct HgfsVmciAsyncReply {
-   HgfsVmciHeaderNode node;                 /* Node: version, type etc. */
-   union {
-     HgfsVmciAsyncResponse response;
-     HgfsVmciAsyncShmem shmem;
-   };
-} HgfsVmciAsyncReply;
-
-#pragma pack(pop)
-
-#endif /* _HGFS_TRANSPORT_H_ */
-