From: VMware, Inc <> Date: Wed, 20 Jan 2010 21:40:57 +0000 (-0800) Subject: Changes in shared code that don't affect open-vm-tools functionality. X-Git-Tag: 2010.01.19-226760~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=847fedf49c6cbbef741b792c22a25d384d518a7e;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/util.h b/open-vm-tools/lib/include/util.h index de749ff02..34a6dcf2b 100644 --- a/open-vm-tools/lib/include/util.h +++ b/open-vm-tools/lib/include/util.h @@ -53,6 +53,10 @@ #include "vm_assert.h" #include "unicodeTypes.h" +#ifdef __APPLE__ + #define SYSTEM_VOL_DIR "/Volumes" +#endif + /* * Define the Util_ThreadID type. */ @@ -80,6 +84,30 @@ EXTERN io_service_t Util_IORegGetDeviceObjectByName(const char *deviceName); EXTERN char *Util_GetBSDName(const char *deviceName); EXTERN char *Util_IORegGetDriveType(const char *deviceName); EXTERN char *Util_GetMacOSDefaultVMPath(); + +/* + * Mac laptops without a cdrom drive (currently only the Air, but maybe + * more in the future) provide a way to use a desktop's cdrom drive + * remotely over the network. These functions enumerate all such + * remote disks currently mounted as volumes, and return a list of + * volume to bsd name mappings. The bsd device can be considered a + * flat-file representation of the disk contents and can be connected + * to our cdrom image backend. We also include the size, since we must + * get that from the IO registry as well, and it doesn't change while + * the disk is mounted. + * + * FYI, Apple calls this "Remote Disc" not "Remote Disk", so we follow + * that convention here too. + */ +typedef struct RemoteDiscList { + char *bsdName; + char *name; + uint64 size; // In bytes + struct RemoteDiscList *next; +} RemoteDiscList; + +EXTERN RemoteDiscList *Util_GetRemoteDiscList(void); +EXTERN void Util_FreeRemoteDiscList(RemoteDiscList *list); #endif // __APPLE__