]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
Changes to common source files; not applicable to open-vm-tools.
authorOliver Kurth <okurth@vmware.com>
Fri, 15 Sep 2017 18:23:40 +0000 (11:23 -0700)
committerOliver Kurth <okurth@vmware.com>
Fri, 15 Sep 2017 18:23:40 +0000 (11:23 -0700)
open-vm-tools/lib/include/vm_product_versions.h
open-vm-tools/lib/misc/posixPosix.c
open-vm-tools/modules/shared/vmxnet/vmxnet3_defs.h

index aabdbef1c43d094a19274b116ba3f90301da23b3..ad88a1037b222f56f206aa0dbd0b2a7203ce6df0 100644 (file)
 #define PRODUCT_VERSION_WORKSTATION_100 PRODUCT_WORKSTATION_BRIEF_NAME " 10.x"
 #define PRODUCT_VERSION_WORKSTATION_110 PRODUCT_WORKSTATION_BRIEF_NAME " 11.x"
 #define PRODUCT_VERSION_WORKSTATION_120 PRODUCT_WORKSTATION_BRIEF_NAME " 12.x"
-#define PRODUCT_VERSION_WORKSTATION_130 PRODUCT_WORKSTATION_BRIEF_NAME " 2017"
+// Workstation 13.x is skipped.
+#define PRODUCT_VERSION_WORKSTATION_140 PRODUCT_WORKSTATION_BRIEF_NAME " Tech Preview 2017"
 #define PRODUCT_VERSION_WORKSTATION_ENTERPRISE_1 "ACE 1.x"
 #define PRODUCT_VERSION_WORKSTATION_ENTERPRISE_2 "ACE 2.0"
 #define PRODUCT_VERSION_WORKSTATION_ENTERPRISE_25 "ACE 2.5"
 #define PRODUCT_VERSION_MAC_DESKTOP_60 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 6.x"
 #define PRODUCT_VERSION_MAC_DESKTOP_70 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 7.x"
 #define PRODUCT_VERSION_MAC_DESKTOP_80 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 8.x"
-#define PRODUCT_VERSION_MAC_DESKTOP_90 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 2017"
+// Fusion 9.x is skipped.
+#define PRODUCT_VERSION_MAC_DESKTOP_100 PRODUCT_MAC_DESKTOP_BRIEF_NAME " Tech Preview 2017"
 
 /*
  * VDFS Versions
index b210f9c340ae6f49a5c0c0b8d5c9de9b585cbf42..bf9ac65b9b285bf002b1bad29da396ec352a892e 100644 (file)
@@ -1,5 +1,5 @@
 /*********************************************************
- * Copyright (C) 2008-2016 VMware, Inc. All rights reserved.
+ * Copyright (C) 2008-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
 #include <sys/param.h>
 #include <sys/mount.h>
 #include <CoreFoundation/CoreFoundation.h>
+#include <TargetConditionals.h>
+#if TARGET_OS_IPHONE
+#include <spawn.h>
+extern char **environ;
+#endif
 #elif defined(__FreeBSD__)
 #include <sys/param.h>
 #include <sys/mount.h>
@@ -1241,6 +1246,48 @@ exit:
 }
 
 
+#if TARGET_OS_IPHONE
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * Posix_SplitCommands --
+ *
+ *      Split the commands into arguments.
+ *
+ * Results:
+ *      The length of the commands and the arguments.
+ *
+ * Side effects:
+ *      NO
+ *
+ *----------------------------------------------------------------------
+ */
+
+int
+Posix_SplitCommands(char *command,  // IN
+                    char **argv)    // OUT
+{
+   char *token;
+   char *savePtr;
+   char *str;
+   int count;
+   for (count = 0, str = command; ; str = NULL, count++) {
+      token = strtok_r(str, " ", &savePtr);
+      if (token == NULL) {
+         break;
+      }
+      if (argv != NULL) {
+         *argv = token;
+         argv++;
+      }
+   }
+   return count;
+}
+
+#endif
+
+
 /*
  *----------------------------------------------------------------------
  *
@@ -1267,7 +1314,25 @@ Posix_System(const char *command)  // IN:
       return -1;
    }
 
+#if TARGET_OS_IPHONE
+   pid_t pid;
+   int count;
+   char **argv;
+   char *commandCopy = strdup(command);
+   count = Posix_SplitCommands(commandCopy, NULL);
+   free(commandCopy);
+   if (!count) {
+      return -1;
+   }
+   argv = malloc(count * sizeof(char *));
+   commandCopy = strdup(command);
+   Posix_SplitCommands(commandCopy, argv);
+   ret = posix_spawn(&pid, argv[0], NULL, NULL, argv, environ);
+   free(argv);
+   free(commandCopy);
+#else
    ret = system(tmpcommand);
+#endif
 
    Posix_Free(tmpcommand);
 
index 067d91597fcc9a8026203a0ee47ff3e2b1246bee..7637e8a49f72d234f0a7bc1e4ee779b38dcd1366 100644 (file)
@@ -124,6 +124,7 @@ typedef enum {
    VMXNET3_CMD_SET_POLLING,
    VMXNET3_CMD_SET_COALESCE,
    VMXNET3_CMD_REGISTER_MEMREGS,
+   VMXNET3_CMD_SET_RSS_FIELDS,
 
    VMXNET3_CMD_FIRST_GET = 0xF00D0000,
    VMXNET3_CMD_GET_QUEUE_STATUS = VMXNET3_CMD_FIRST_GET,
@@ -137,7 +138,8 @@ typedef enum {
    VMXNET3_CMD_GET_CONF_INTR,
    VMXNET3_CMD_GET_ADAPTIVE_RING_INFO,
    VMXNET3_CMD_GET_TXDATA_DESC_SIZE,
-   VMXNET3_CMD_GET_COALESCE
+   VMXNET3_CMD_GET_COALESCE,
+   VMXNET3_CMD_GET_RSS_FIELDS,
 } Vmxnet3_Cmd;
 
 /* Adaptive Ring Info Flags */
@@ -406,6 +408,10 @@ Vmxnet3_RxCompDescExt;
 #define VMXNET3_RCD_RSS_TYPE_TCPIPV4  2
 #define VMXNET3_RCD_RSS_TYPE_IPV6     3
 #define VMXNET3_RCD_RSS_TYPE_TCPIPV6  4
+#define VMXNET3_RCD_RSS_TYPE_UDPIPV4  5
+#define VMXNET3_RCD_RSS_TYPE_UDPIPV6  6
+#define VMXNET3_RCD_RSS_TYPE_ESPIPV4  7
+#define VMXNET3_RCD_RSS_TYPE_ESPIPV6  8
 
 /* a union for accessing all cmd/completion descriptors */
 typedef union Vmxnet3_GenericDesc {
@@ -841,6 +847,15 @@ struct Vmxnet3_MemRegs {
 #include "vmware_pack_end.h"
 Vmxnet3_MemRegs;
 
+typedef enum Vmxnet3_RSSField {
+   VMXNET3_RSS_FIELDS_TCPIP4 = 0x0001,
+   VMXNET3_RSS_FIELDS_TCPIP6 = 0x0002,
+   VMXNET3_RSS_FIELDS_UDPIP4 = 0x0004,
+   VMXNET3_RSS_FIELDS_UDPIP6 = 0x0008,
+   VMXNET3_RSS_FIELDS_ESPIP4 = 0x0010,
+   VMXNET3_RSS_FIELDS_ESPIP6 = 0x0020,
+} Vmxnet3_RSSField;
+
 /*
  * If a command data does not exceed 16 bytes, it can use
  * the shared memory directly. Otherwise use variable length
@@ -851,6 +866,7 @@ typedef
 union Vmxnet3_CmdInfo {
    Vmxnet3_VariableLenConfDesc varConf;
    Vmxnet3_SetPolling          setPolling;
+   Vmxnet3_RSSField            setRSSFields;
    __le64                      data[2];
 }
 #include "vmware_pack_end.h"