EXTERN Bool FileMacos_IsOnExternalDevice(int fd);
EXTERN Bool FileMacos_IsOnSparseDmg(int fd);
+EXTERN Bool FileMacos_IsSliceDevice(char const *bsdDev);
EXTERN char *FileMacos_DiskDevToDiskName(char const *bsdDiskDev);
-EXTERN char *FileMacos_SliceDevToSliceUUID(char const *bsdSliceDev);
-EXTERN char *FileMacos_SliceUUIDToSliceDev(char const *uuid);
+EXTERN char *FileMacos_DiskDeviceToUniqueID(char const *bsdPath);
+EXTERN char *FileMacos_UniqueIDToDiskDevice(char const *identifier);
#elif defined VMX86_SERVER
EXTERN int File_GetVMFSBlockSize(ConstUnicode pathName, uint32 *blockSize);
EXTERN int File_GetVMFSfsType(ConstUnicode pathName, char **fsType);
#include <CoreFoundation/CFData.h>
#include <CoreFoundation/CFNumber.h>
#include <CoreFoundation/CFDictionary.h>
+ #include <CoreFoundation/CFArray.h>
+ #include <CoreFoundation/CFString.h>
#endif
#include "vm_assert.h"
EXTERN Bool Util_IORegGetBooleanProperty(io_object_t entry, CFStringRef property,
Bool *boolVal);
EXTERN CFDataRef Util_IORegCopyDataProperty(io_object_t entry, CFStringRef property);
+EXTERN CFDictionaryRef Util_IORegCopyDictionaryProperty(io_object_t entry,
+ CFStringRef property);
EXTERN CFMutableDictionaryRef UtilMacos_CreateCFDictionary(
unsigned int numPairs, ...);
EXTERN io_service_t Util_IORegGetDeviceObjectByName(const char *deviceName);
EXTERN char *Util_GetBSDName(const char *deviceName);
EXTERN char *Util_IORegGetDriveType(const char *deviceName);
+EXTERN uint64 Util_GetPartitionOffset(const char *bsdDev);
EXTERN char *Util_GetMacOSDefaultVMPath();
/*
EXTERN RemoteDiscList *Util_GetRemoteDiscList(void);
EXTERN void Util_FreeRemoteDiscList(RemoteDiscList *list);
+
+/*
+ * Additional keys for disk/partition device properties.
+ */
+EXTERN const CFStringRef kUtilMacosDeviceSerialNumberKey;
+EXTERN const CFStringRef kUtilMacosVolumeOffsetKey;
+
+EXTERN CFDictionaryRef UtilMacos_CopyDiskDeviceProperties(const char *bsdDev);
+EXTERN CFArrayRef UtilMacos_CopyDiskDeviceBSDNames(const char *parentDisk);
#endif // __APPLE__
* hard-coded value for every other product.
*/
#if defined(VMX86_DESKTOP)
- #define PRODUCT_VERSION 7,0,0,PRODUCT_BUILD_NUMBER_NUMERIC
+ #define PRODUCT_VERSION 7,0,0,PRODUCT_BUILD_NUMBER_NUMERIC /* WORKSTATION_VERSION_NUMERIC below has to match this */
#elif defined(VMX86_TOOLS)
#define PRODUCT_VERSION TOOLS_VERSION_EXT_CURRENT_CSV
#elif defined(VMX86_VCB)
#elif defined(VMX86_VLICENSE)
#define PRODUCT_VERSION 1,1,2,PRODUCT_BUILD_NUMBER_NUMERIC
#else
- #define PRODUCT_VERSION 3,1,0,PRODUCT_BUILD_NUMBER_NUMERIC
+ #define PRODUCT_VERSION 3,1,0,PRODUCT_BUILD_NUMBER_NUMERIC /* PLAYER_VERSION_NUMERIC below has to match this */
#endif
/*
#define ESX_RELEASE ESX_RELEASE_UPDATE "." ESX_RELEASE_PATCH
#define GSX_VERSION "e.x.p"
#define VMSERVER_VERSION "e.x.p"
+#define WORKSTATION_VERSION_NUMERIC "7.1.0" /* this version number should always match real WS version number */
#define WORKSTATION_VERSION "e.x.p"
#define WORKSTATION_ENTERPRISE_VERSION "e.x.p"
#define ACE_MANAGEMENT_SERVER_VERSION "e.x.p"
#define CONSOLE_VERSION "4.1.0"
#define P2V_VERSION "e.x.p"
#define P2V_FILE_VERSION 3,0,0,0
+#define PLAYER_VERSION_NUMERIC "3.1.0" /* this version number should always match real Player version number */
#define PLAYER_VERSION "e.x.p"
#define V2V_VERSION "e.x.p"
#define V2V_FILE_VERSION 1,0,0,0
abort:
VixPropertyList_RemoveAllWithoutHandles(&propList);
- VMX_XDR_FREE(xdr_GuestNic, nicEntry);
- free(nicEntry);
+ if (NULL != nicEntry) {
+ VMX_XDR_FREE(xdr_GuestNic, nicEntry);
+ free(nicEntry);
+ }
return err;
} // VixToolsGetGuestNetworkingConfig