From: VMware, Inc <> Date: Wed, 24 Feb 2010 22:33:42 +0000 (-0800) Subject: Changes in shared code that don't affect open-vm-tools functionality. X-Git-Tag: 2010.02.23-236320~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ad68945dd79c56aa801e8b4e890fa964d7f7e15;p=thirdparty%2Fopen-vm-tools.git Changes in shared code that don't affect open-vm-tools functionality. Signed-off-by: Marcelo Vanzin --- diff --git a/open-vm-tools/lib/include/file.h b/open-vm-tools/lib/include/file.h index 7b1ae3ca9..accd0e12a 100644 --- a/open-vm-tools/lib/include/file.h +++ b/open-vm-tools/lib/include/file.h @@ -80,11 +80,12 @@ EXTERN void FileMacos_MountDevAsyncNoResult(char const *bsdSliceDev, 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); diff --git a/open-vm-tools/lib/include/util.h b/open-vm-tools/lib/include/util.h index 967b0d8cb..ef1988bbb 100644 --- a/open-vm-tools/lib/include/util.h +++ b/open-vm-tools/lib/include/util.h @@ -48,6 +48,8 @@ #include #include #include + #include + #include #endif #include "vm_assert.h" @@ -78,11 +80,14 @@ EXTERN Bool Util_IORegGetNumberProperty(io_object_t entry, CFStringRef property, 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(); /* @@ -108,6 +113,15 @@ typedef struct RemoteDiscList { 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__ diff --git a/open-vm-tools/lib/include/vm_version.h b/open-vm-tools/lib/include/vm_version.h index 8c70f16de..1096127ae 100644 --- a/open-vm-tools/lib/include/vm_version.h +++ b/open-vm-tools/lib/include/vm_version.h @@ -83,7 +83,7 @@ * 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) @@ -91,7 +91,7 @@ #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 /* @@ -194,6 +194,7 @@ #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" @@ -201,6 +202,7 @@ #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 diff --git a/open-vm-tools/lib/vixTools/vixTools.c b/open-vm-tools/lib/vixTools/vixTools.c index 625471685..23d5ab280 100644 --- a/open-vm-tools/lib/vixTools/vixTools.c +++ b/open-vm-tools/lib/vixTools/vixTools.c @@ -3795,8 +3795,10 @@ VixToolsGetGuestNetworkingConfig(VixCommandRequestHeader *requestMsg, // IN 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