diff -urBw open-vm-tools-2008.01.23-74039.orig/guestd/foreignVMToolsDaemon.c open-vm-tools-2008.01.23-74039/guestd/foreignVMToolsDaemon.c --- open-vm-tools-2008.01.23-74039.orig/guestd/foreignVMToolsDaemon.c 2008-01-28 17:02:53.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/guestd/foreignVMToolsDaemon.c 2008-02-17 03:45:11.000000000 +0900 @@ -55,7 +55,7 @@ #include #include #include -#if defined(__FreeBSD__) || defined(sun) +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(sun) #include #else #include diff -urBw open-vm-tools-2008.01.23-74039.orig/guestd/foreignVMToolsDaemon.h open-vm-tools-2008.01.23-74039/guestd/foreignVMToolsDaemon.h --- open-vm-tools-2008.01.23-74039.orig/guestd/foreignVMToolsDaemon.h 2008-01-28 17:02:53.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/guestd/foreignVMToolsDaemon.h 2008-02-17 03:46:11.000000000 +0900 @@ -59,7 +59,7 @@ #ifdef __APPLE__ #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE -#elif defined(__FreeBSD__) || defined(sun) +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(sun) #include #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE #else diff -urBw open-vm-tools-2008.01.23-74039.orig/guestd/main.c open-vm-tools-2008.01.23-74039/guestd/main.c --- open-vm-tools-2008.01.23-74039.orig/guestd/main.c 2008-01-28 17:02:53.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/guestd/main.c 2008-02-17 03:52:44.000000000 +0900 @@ -33,7 +33,7 @@ #include #include #include -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) #include #include #include @@ -69,7 +69,7 @@ #include "vmstdio.h" #include "vmBackup.h" -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) #include "socketMgr.h" #include "dnd.h" #endif @@ -130,7 +130,7 @@ # endif #endif -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) #define VMWAREUSER_CHECK_TIME 1000 /* 10 seconds */ #define XAUTOSTART_CONF "xautostart.conf" #define NR_XBLESSED_APP_DEFAULT 2 @@ -162,7 +162,7 @@ * Global variables */ -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) static const char *gBinDir; static char *gDefaultBlessedApp[] = { XBLESSED_APP1_DEFAULT, @@ -618,7 +618,7 @@ #endif /* VM_GUESTD_MOUNTS_HGFS */ -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) /* *---------------------------------------------------------------------- * @@ -1591,7 +1591,7 @@ int maxFd; /* Max fd of all Fd sets */ fd_set readFds; /* Read fd set to select on */ fd_set writeFds; -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) SocketSelectable *sockReadFds = NULL; SocketSelectable *sockWriteFds = NULL; int numSockReadFds = 0; @@ -1638,7 +1638,7 @@ } #endif -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) SocketMgr_GetSelectables(SOCKETMGR_IN, &sockReadFds, &numSockReadFds); @@ -1696,7 +1696,7 @@ curAsyncProc = NULL; } -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) for (index = 0; index < numSockReadFds; index++) { if (FD_ISSET(sockReadFds[index], &readFds)) { SocketMgr_ProcessSelectable(sockReadFds[index], SOCKETMGR_IN); @@ -1711,7 +1711,7 @@ #endif } -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) free((void *) sockReadFds); free((void *) sockWriteFds); #endif @@ -1740,7 +1740,7 @@ GuestdDaemon(GuestApp_Dict **pConfDict, // IN/OUT int *gDaemonSignalPtr) // IN/OUT { -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) pid_t vmwareuserPid = 0; #endif ToolsDaemon_Data *data = NULL; @@ -1799,7 +1799,7 @@ GuestApp_GetDictEntryBool(*pConfDict, CONFNAME_DISABLEQUERYDISKINFO)); } -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) gBinDir = GuestApp_GetDictEntry(*pConfDict, CONFNAME_BINDIR); if (gBinDir == NULL) { gBinDir = "/usr/bin"; @@ -1881,7 +1881,7 @@ ToolsDaemon_Cleanup(data); } -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) if (vmwareuserPid != 0) { kill(vmwareuserPid, SIGTERM); } diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/dnd/dndLinux.c open-vm-tools-2008.01.23-74039/lib/dnd/dndLinux.c --- open-vm-tools-2008.01.23-74039.orig/lib/dnd/dndLinux.c 2008-01-28 17:02:50.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/dnd/dndLinux.c 2008-02-17 04:11:50.000000000 +0900 @@ -37,7 +37,7 @@ #include "util.h" #include "escape.h" #include "su.h" -#if defined(linux) || defined(sun) || defined(__FreeBSD__) +#if defined(linux) || defined(sun) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) #include "vmblock.h" #include "mntinfo.h" #endif @@ -327,7 +327,7 @@ /* We need to make this suck less. */ -#if defined(linux) || defined(sun) || defined(__FreeBSD__) +#if defined(linux) || defined(sun) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) /* *---------------------------------------------------------------------------- * diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/file/fileIO.c open-vm-tools-2008.01.23-74039/lib/file/fileIO.c --- open-vm-tools-2008.01.23-74039.orig/lib/file/fileIO.c 2008-01-28 17:02:51.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/file/fileIO.c 2008-02-17 03:55:54.000000000 +0900 @@ -248,7 +248,7 @@ ASSERT(file); -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) if (access & FILEIO_OPEN_LOCKED) { int err; @@ -301,7 +301,7 @@ ASSERT(file); -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) if (file->lockToken != NULL) { int err; @@ -435,7 +435,7 @@ /* * Pwrite & Pread are not available in the FreeBSD tools build VM */ -#if !defined(VMX86_TOOLS) || !defined(__FreeBSD__) +#if !defined(VMX86_TOOLS) || !defined(__FreeBSD__) || !defined(__NetBSD__) || !defined(__OpenBSD__) #if defined(_WIN32) || defined(GLIBC_VERSION_21) || defined(__APPLE__) /* *---------------------------------------------------------------------- diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/file/fileIOPosix.c open-vm-tools-2008.01.23-74039/lib/file/fileIOPosix.c --- open-vm-tools-2008.01.23-74039.orig/lib/file/fileIOPosix.c 2008-01-28 17:02:51.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/file/fileIOPosix.c 2008-02-17 02:25:37.000000000 +0900 @@ -859,7 +859,7 @@ ASSERT(file->lockToken == NULL); ASSERT_ON_COMPILE(FILEIO_ERROR_LAST < 16); /* See comment in fileIO.h */ -#if !defined(__FreeBSD__) && !defined(sun) && !defined(N_PLAT_NLM) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) && !defined(N_PLAT_NLM) /* * If FILEIO_OPEN_EXCLUSIVE_LOCK or FILEIO_OPEN_MULTIWRITER_LOCK or * (FILEIO_OPEN_ACCESS_READ | FILEIO_OPEN_LOCKED) are passed, and we are @@ -1386,7 +1386,7 @@ /* * readv & writev are not available in the FreeBSD or Solaris Tools builds */ -#if !defined(VMX86_TOOLS) || (!defined(__FreeBSD__) && !defined(sun)) +#if !defined(VMX86_TOOLS) || (!defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun)) /* diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/file/fileLockPosix.c open-vm-tools-2008.01.23-74039/lib/file/fileLockPosix.c --- open-vm-tools-2008.01.23-74039.orig/lib/file/fileLockPosix.c 2008-01-28 17:02:51.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/file/fileLockPosix.c 2008-02-17 02:27:04.000000000 +0900 @@ -26,7 +26,7 @@ #include #include #include /* Needed before sys/vfs.h with glibc 2.0 --hpreg */ -#if !defined(__FreeBSD__) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) #if defined(__APPLE__) #include #include @@ -121,7 +121,7 @@ fileLockOptions.userWorld = userWorld; } -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) /* *---------------------------------------------------------------------- * diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/file/filePosix.c open-vm-tools-2008.01.23-74039/lib/file/filePosix.c --- open-vm-tools-2008.01.23-74039.orig/lib/file/filePosix.c 2008-01-28 17:02:51.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/file/filePosix.c 2008-02-17 02:22:13.000000000 +0900 @@ -24,7 +24,7 @@ #include /* Needed before sys/vfs.h with glibc 2.0 --hpreg */ -#if !__FreeBSD__ +#if !__FreeBSD__ && !__NetBSD__ && !__NetBSD__ # if !__APPLE__ # include # endif @@ -63,7 +63,7 @@ #include "unicodeBase.h" #include "unicodeOperations.h" -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) #if !defined(__APPLE__) static char *FilePosixLookupMountPoint(char const *canPath, Bool *bind); #endif @@ -381,7 +381,7 @@ *---------------------------------------------------------------------- */ -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) Bool File_IsRemote(const char *fileName) // IN: File name { @@ -712,7 +712,7 @@ * XXX atime is almost always MAX. */ -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) /* * FreeBSD: All supported versions have timestamps with nanosecond resolution. * FreeBSD 5+ has also file creation time. @@ -873,7 +873,7 @@ } -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) /* *----------------------------------------------------------------------------- * diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/guestInfo/guestInfoPosix.c open-vm-tools-2008.01.23-74039/lib/guestInfo/guestInfoPosix.c --- open-vm-tools-2008.01.23-74039.orig/lib/guestInfo/guestInfoPosix.c 2008-01-28 17:02:50.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/guestInfo/guestInfoPosix.c 2008-02-17 02:40:22.000000000 +0900 @@ -43,7 +43,7 @@ #include #include #include -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) # include # include # include @@ -190,7 +190,7 @@ *----------------------------------------------------------------------------- */ -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) Bool GuestInfoGetNicInfo(NicInfo *nicInfo) // OUT { @@ -854,6 +854,10 @@ if (releaseLen != 0) { Str_Strncat(osName, outBufLen, buf.release, releaseLen); } + } else if (strstr(osNameFull, "NetBSD")) { + /* not yet */ + } else if (strstr(osNameFull, "OpenBSD")) { + /* not yet */ } else if (strstr(osNameFull, "SunOS")) { size_t nameLen = sizeof STR_OS_SOLARIS - 1; size_t releaseLen = 0; @@ -923,7 +927,7 @@ GetSystemBitness(void) { char buf[MAX_ARCH_NAME_LEN] = { 0 }; -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) int mib[2]; size_t len; diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/include/hgfsUtil.h open-vm-tools-2008.01.23-74039/lib/include/hgfsUtil.h --- open-vm-tools-2008.01.23-74039.orig/lib/include/hgfsUtil.h 2008-01-28 17:02:52.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/include/hgfsUtil.h 2008-02-17 02:45:34.000000000 +0900 @@ -33,6 +33,10 @@ /* Include time.h in userspace code, but not in Solaris kernel code. */ # elif defined(__FreeBSD__) && defined(_KERNEL) /* Do nothing. */ +# elif defined(__NetBSD__) && defined(_KERNEL) + /* Do nothing. */ +# elif defined(__OpenBSD__) && defined(_KERNEL) + /* Do nothing. */ # elif defined(__APPLE__) && defined(KERNEL) # include # else @@ -43,7 +47,7 @@ !defined(_TIMESPEC_DECLARED) && \ !defined(__timespec_defined) && \ !defined(sun) && \ - !defined(__FreeBSD__) && \ + !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && \ !__APPLE__ && \ !defined(_WIN32) struct timespec { @@ -84,7 +88,7 @@ /* * FreeBSD (pre-6.0) does not define EPROTO, so we'll define our own error code. */ -#if defined(__FreeBSD__) && !defined(EPROTO) +#if (defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)) && !defined(EPROTO) #define EPROTO (ELAST + 1) #endif diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/include/iovector.h open-vm-tools-2008.01.23-74039/lib/include/iovector.h --- open-vm-tools-2008.01.23-74039.orig/lib/include/iovector.h 2008-01-28 17:02:52.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/include/iovector.h 2008-02-17 03:42:23.000000000 +0900 @@ -32,7 +32,7 @@ /* * Ugly definition of struct iovec. */ -#if __linux__ || sun || __APPLE__ +#if __linux__ || sun || __APPLE__ || __NetBSD__ #include // for struct iovec #else // if __linux__ || sun || __APPLE__ diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/include/mntinfo.h open-vm-tools-2008.01.23-74039/lib/include/mntinfo.h --- open-vm-tools-2008.01.23-74039.orig/lib/include/mntinfo.h 2008-01-28 17:02:52.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/include/mntinfo.h 2008-02-17 03:38:32.000000000 +0900 @@ -34,8 +34,13 @@ # include #elif defined(__linux__) # include -#elif defined(__FreeBSD__) +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) # include +# if defined(__NetBSD__) /* XXX: FIXME */ +# include +# define statfs statvfs +# define f_flags f_flag +# endif #endif /* @@ -105,7 +110,7 @@ # define MNTINFO_FSTYPE(mnt) mnt->mnt_type # define MNTINFO_MNTPT(mnt) mnt->mnt_dir # define MNTINFO_MNT_IS_RO(mnt) (hasmntopt((mnt), "rw") == NULL) -#elif defined(__FreeBSD__) || defined(__APPLE__) +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) struct mntHandle { struct statfs *mountPoints; // array of mountpoints per getmntinfo(3) int numMountPoints; // number of elements in mntArray diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/include/osNames.h open-vm-tools-2008.01.23-74039/lib/include/osNames.h --- open-vm-tools-2008.01.23-74039.orig/lib/include/osNames.h 2008-01-28 17:02:52.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/include/osNames.h 2008-02-17 02:39:02.000000000 +0900 @@ -129,6 +129,12 @@ /* FreeBSD */ #define STR_OS_FREEBSD "FreeBSD" +/* NetBSD */ +#define STR_OS_NETBSD "NetBSD" + +/* OpenBSD */ +#define STR_OS_OPENBSD "OpenBSD" + /* Solaris */ #define STR_OS_SOLARIS "Solaris" diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/include/su.h open-vm-tools-2008.01.23-74039/lib/include/su.h --- open-vm-tools-2008.01.23-74039.orig/lib/include/su.h 2008-01-28 17:02:52.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/include/su.h 2008-02-17 02:18:41.000000000 +0900 @@ -51,7 +51,7 @@ Bool Id_AuthCheck(char const *right, char const *localizedDescription); -#elif (defined(__linux__) || defined(sun) || defined(__FreeBSD__)) && !defined(N_PLAT_NLM) +#elif (defined(__linux__) || defined(sun) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)) && !defined(N_PLAT_NLM) #include #include diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/include/vm_product.h open-vm-tools-2008.01.23-74039/lib/include/vm_product.h --- open-vm-tools-2008.01.23-74039.orig/lib/include/vm_product.h 2008-01-28 17:02:52.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/include/vm_product.h 2008-02-17 02:12:33.000000000 +0900 @@ -235,7 +235,7 @@ */ #if defined(VMX86_CONSOLE) - #if defined(__linux__) || defined(__FreeBSD__) +#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) #define VMWARE_EXECUTABLE PRODUCT_GENERIC_NAME_LOWER "-console" #else #define VMWARE_EXECUTABLE PRODUCT_GENERIC_NAME_LOWER "Console.exe" @@ -246,7 +246,7 @@ #define VMWARE_VMX_EXECUTABLE PRODUCT_GENERIC_NAME_LOWER "-vmx" #define CCAGENT_DISPLAY_NAME PRODUCT_VPX_NAME " Agent" -#if defined(__linux__) || defined(__FreeBSD__) +#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) # define VMAUTHD_EXECUTABLE PRODUCT_GENERIC_NAME_LOWER "-authd" #else # define VMAUTHD_DISPLAY_NAME "VMware Authorization Service" @@ -421,6 +421,10 @@ # define PRODUCT_NAME_PLATFORM PRODUCT_NAME " for Windows" #elif defined(__FreeBSD__) # define PRODUCT_NAME_PLATFORM PRODUCT_NAME " for FreeBSD" +#elif defined(__NetBSD__) +# define PRODUCT_NAME_PLATFORM PRODUCT_NAME " for NetBSD" +#elif defined(__OpenBSD__) +# define PRODUCT_NAME_PLATFORM PRODUCT_NAME " for OpenBSD" #elif defined(sun) # define PRODUCT_NAME_PLATFORM PRODUCT_NAME " for Solaris" #else diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/include/vmblock.h open-vm-tools-2008.01.23-74039/lib/include/vmblock.h --- open-vm-tools-2008.01.23-74039.orig/lib/include/vmblock.h 2008-01-28 17:02:52.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/include/vmblock.h 2008-02-17 04:15:34.000000000 +0900 @@ -25,14 +25,18 @@ #ifndef _VMBLOCK_H_ #define _VMBLOCK_H_ -#if defined(sun) || defined(__FreeBSD__) +#if defined(sun) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) # include #endif -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) # include #endif +#if defined(__NetBSD__) +#include +#endif + #define VMBLOCK_FS_NAME "vmblock" /* Commands for the control half of vmblock driver */ @@ -53,7 +57,7 @@ # define VMBLOCK_DEVICE_MODE O_WRONLY # define VMBLOCK_CONTROL(fd, op, path) write(fd, path, op) -#elif defined(sun) || defined(__FreeBSD__) +#elif defined(sun) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) # define VMBLOCK_MOUNT_POINT "/var/run/" VMBLOCK_FS_NAME # define VMBLOCK_DEVICE VMBLOCK_MOUNT_POINT # define VMBLOCK_DEVICE_MODE O_RDONLY @@ -70,7 +74,7 @@ # endif # define VMBLOCK_CONTROL(fd, op, path) ioctl(fd, op, path) -# elif defined(__FreeBSD__) /* } else if (FreeBSD) { */ +# elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) /* } else if (FreeBSD) { */ /* * Similar to Solaris, construct ioctl(2) commands for block operations. * Since the FreeBSD implementation does not change the user's passed-in diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/misc/idLinux.c open-vm-tools-2008.01.23-74039/lib/misc/idLinux.c --- open-vm-tools-2008.01.23-74039.orig/lib/misc/idLinux.c 2008-01-28 17:02:51.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/misc/idLinux.c 2008-02-17 02:54:14.000000000 +0900 @@ -99,7 +99,7 @@ #endif -#if !defined(__APPLE__) && !defined(sun) && !defined(__FreeBSD__) +#if !defined(__APPLE__) && !defined(sun) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) /* *---------------------------------------------------------------------------- * @@ -163,6 +163,12 @@ #elif defined(__FreeBSD__) Warning("XXXFreeBSD: implement %s\n", __FUNCTION__); return -1; +#elif defined(__NetBSD__) + Warning("XXXNetBSD: implement %s\n", __FUNCTION__); + return -1; +#elif defined(__OpenBSD__) + Warning("XXXOpenBSD: implement %s\n", __FUNCTION__); + return -1; #else if (uid32) { int r = syscall(SYS_setgid32, egid); @@ -207,6 +213,12 @@ #elif defined(__FreeBSD__) Warning("XXXFreeBSD: implement %s\n", __FUNCTION__); return -1; +#elif defined(__NetBSD__) + Warning("XXXNetBSD: implement %s\n", __FUNCTION__); + return -1; +#elif defined(__OpenBSD__) + Warning("XXXOpenBSD: implement %s\n", __FUNCTION__); + return -1; #else if (uid32) { int r = syscall(SYS_setresuid32, uid, euid, suid); @@ -249,6 +261,12 @@ #elif defined(__FreeBSD__) Warning("XXXFreeBSD: implement %s\n", __FUNCTION__); return -1; +#elif defined(__NetBSD__) + Warning("XXXNetBSD: implement %s\n", __FUNCTION__); + return -1; +#elif defined(__OpenBSD__) + Warning("XXXOpenBSD: implement %s\n", __FUNCTION__); + return -1; #else if (uid32) { int r = syscall(SYS_setresgid32, gid, egid, sgid); @@ -295,6 +313,12 @@ #elif defined(__FreeBSD__) Warning("XXXFreeBSD: implement %s\n", __FUNCTION__); return -1; +#elif defined(__NetBSD__) + Warning("XXXNetBSD: implement %s\n", __FUNCTION__); + return -1; +#elif defined(__OpenBSD__) + Warning("XXXOpenBSD: implement %s\n", __FUNCTION__); + return -1; #else if (uid32) { int r = syscall(SYS_setreuid32, uid, euid); @@ -308,7 +332,7 @@ } -#if !defined(__APPLE__) && !defined(sun) && !defined(__FreeBSD__) +#if !defined(__APPLE__) && !defined(sun) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) /* *---------------------------------------------------------------------------- * diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/netUtil/netUtilLinux.c open-vm-tools-2008.01.23-74039/lib/netUtil/netUtilLinux.c --- open-vm-tools-2008.01.23-74039.orig/lib/netUtil/netUtilLinux.c 2008-01-28 17:02:50.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/netUtil/netUtilLinux.c 2008-02-17 02:57:27.000000000 +0900 @@ -31,7 +31,7 @@ #endif -#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(sun) +#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) # error This file should not be compiled #endif @@ -58,7 +58,7 @@ #include #include -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) #include "ifaddrs.h" #endif @@ -94,7 +94,7 @@ *---------------------------------------------------------------------- */ -#ifndef __FreeBSD__ /* { */ +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) /* { */ char * NetUtil_GetPrimaryIP(void) { diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/procMgr/procMgrPosix.c open-vm-tools-2008.01.23-74039/lib/procMgr/procMgrPosix.c --- open-vm-tools-2008.01.23-74039.orig/lib/procMgr/procMgrPosix.c 2008-01-28 17:02:50.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/procMgr/procMgrPosix.c 2008-02-17 02:59:24.000000000 +0900 @@ -31,7 +31,7 @@ // pull in setresuid()/setresgid() if possible #define _GNU_SOURCE #include -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) #include #include #include @@ -146,7 +146,7 @@ ProcMgr_ListProcesses(void) { ProcMgr_ProcList *procList = NULL; -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) Bool failed = FALSE; DynBuf dbProcId; DynBuf dbProcCmd; @@ -760,7 +760,7 @@ /* * if its not linux, assume its gone */ -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) char procname[256]; int ret; struct stat st; diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/system/systemLinux.c open-vm-tools-2008.01.23-74039/lib/system/systemLinux.c --- open-vm-tools-2008.01.23-74039.orig/lib/system/systemLinux.c 2008-01-28 17:02:50.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/system/systemLinux.c 2008-02-17 03:00:35.000000000 +0900 @@ -31,7 +31,7 @@ #endif -#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(sun) +#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) # error This file should not be compiled #endif diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/unicode/unicodeSimpleTypes.c open-vm-tools-2008.01.23-74039/lib/unicode/unicodeSimpleTypes.c --- open-vm-tools-2008.01.23-74039.orig/lib/unicode/unicodeSimpleTypes.c 2008-01-28 17:02:51.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/unicode/unicodeSimpleTypes.c 2008-02-17 03:03:07.000000000 +0900 @@ -150,7 +150,7 @@ for (currentResult = result; *encodingName != '\0'; encodingName++) { if (isalnum((int) *encodingName)) { - *currentResult = tolower(*encodingName); + *currentResult = tolower((int)*encodingName); currentResult++; } } diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/user/hostinfoPosix.c open-vm-tools-2008.01.23-74039/lib/user/hostinfoPosix.c --- open-vm-tools-2008.01.23-74039.orig/lib/user/hostinfoPosix.c 2008-01-28 17:02:52.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/user/hostinfoPosix.c 2008-02-17 03:07:46.000000000 +0900 @@ -879,8 +879,8 @@ e = s + strlen(s); /* Skip leading and trailing while spaces */ - for (; s < e && isspace(*s); s++); - for (; s < e && isspace(e[-1]); e--); + for (; s < e && isspace((int)*s); s++); + for (; s < e && isspace((int)e[-1]); e--); *e = 0; /* Free previous value */ @@ -1256,7 +1256,9 @@ { int s, fd; struct sigaction sa; +#if !defined(__NetBSD__) && !defined(__OpenBSD__) struct rlimit rlim; +#endif #ifdef __linux__ int err; uid_t euid; @@ -1280,10 +1282,12 @@ } } +#if !defined(__NetBSD__) && !defined(__OpenBSD__) if (getrlimit(RLIMIT_AS, &rlim) == 0) { rlim.rlim_cur = rlim.rlim_max; setrlimit(RLIMIT_AS, &rlim); } +#endif #ifdef __linux__ /* diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/user/util.c open-vm-tools-2008.01.23-74039/lib/user/util.c --- open-vm-tools-2008.01.23-74039.orig/lib/user/util.c 2008-01-28 17:02:52.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/user/util.c 2008-02-17 03:08:44.000000000 +0900 @@ -751,7 +751,7 @@ tid = getpid(); ASSERT(tid != (pid_t)-1); return tid; -#elif __FreeBSD__ || sun +#elif __FreeBSD__ || __NetBSD__ || __OpenBSD__ || sun pid_t tid; tid = getpid(); diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/vixTools/vixTools.c open-vm-tools-2008.01.23-74039/lib/vixTools/vixTools.c --- open-vm-tools-2008.01.23-74039.orig/lib/vixTools/vixTools.c 2008-01-28 17:02:50.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/vixTools/vixTools.c 2008-02-17 04:07:55.000000000 +0900 @@ -29,7 +29,7 @@ #include #include -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) #define IMPLEMENT_SOCKET_MGR 0 #endif @@ -71,12 +71,12 @@ #include "system.h" #include "codeset.h" -#ifndef __FreeBSD__ +#if !defined(__FreeBSD__) || !defined(__NetBSD__) || !defined(__OpenBSD__) #include "netutil.h" #endif /* Stub out impersonation functions for these platforms. */ -#if defined(__FreeBSD__) || defined(sun) || defined(N_PLAT_NLM) +#if defined(__FreeBSD__) /*|| defined(__NetBSD__)*/ || defined(__OpenBSD__) || defined(sun) || defined(N_PLAT_NLM) Bool Impersonate_Undo(void) { return FALSE; } #else #include "impersonate.h" @@ -683,7 +683,7 @@ VixPropertyListImpl propList; char *serializedBuffer = NULL; size_t serializedBufferLength = 0; -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) char guestName[512]; int osFamily; char *packageList = NULL; @@ -900,7 +900,7 @@ GuestApp_Dict **confDictRef) // IN { VixError err = VIX_OK; -#if !defined(__FreeBSD__) && !defined(sun) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) size_t serialBufferLength; char *serialBuffer = NULL; VixPropertyListImpl propList; @@ -1725,7 +1725,7 @@ } if (!pathsAreSameFile) { -#if !defined(sun) && !defined(__FreeBSD__) +#if !defined(sun) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) pathsAreSameFile = File_IsSameFile(srcFilePathName, destFilePathName); #endif } // if (!pathsAreSameFile) @@ -2665,7 +2665,7 @@ } /////////////////////////////////////////////////////////////////////// -#if defined(__FreeBSD__) || defined(sun) +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(sun) success = FALSE; /////////////////////////////////////////////////////////////////////// #elif defined(WIN9XCOMPAT) @@ -2818,7 +2818,7 @@ return; } -#if !defined(__FreeBSD__) && !defined(sun) && !defined(WIN9XCOMPAT) +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(sun) && !defined(WIN9XCOMPAT) if (NULL != userToken) { AuthToken authToken = (AuthToken) userToken; Auth_CloseToken(authToken); @@ -3012,7 +3012,7 @@ hgfsPacket = ((char *) requestMsg) + sizeof(*requestMsg); hgfsPacketSize = requestMsg->hgfsPacketSize; -#if !defined(N_PLAT_NLM) && !defined(__FreeBSD__) +#if !defined(N_PLAT_NLM) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) /* * Impersonation was okay, so let's give our packet to * the HGFS server and forward the reply packet back. diff -urBw open-vm-tools-2008.01.23-74039.orig/lib/wiper/wiperPosix.c open-vm-tools-2008.01.23-74039/lib/wiper/wiperPosix.c --- open-vm-tools-2008.01.23-74039.orig/lib/wiper/wiperPosix.c 2008-01-28 17:02:52.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/lib/wiper/wiperPosix.c 2008-02-17 03:26:01.000000000 +0900 @@ -23,7 +23,7 @@ * */ -#if !defined(__linux__) && !defined(sun) && !defined(__FreeBSD__) && !defined(__APPLE__) +#if !defined(__linux__) && !defined(sun) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__APPLE__) #error This file should not be compiled on this platform. #endif @@ -31,15 +31,17 @@ #include #if defined(__linux__) || defined(sun) # include -#elif defined(__FreeBSD__) || defined(__APPLE__) +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) # include # include # include # include +# if !defined(__NetBSD__) && !defined(__OpenBSD__) # if BSD_VERSION >= 50 # include # endif /* BSD_VERSION < 50 */ #endif +#endif #include #include "vmware.h" @@ -65,7 +67,7 @@ #if defined(sun) || defined(__linux__) # define PROCFS "proc" -#elif defined(__FreeBSD__) || defined(__APPLE__) +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) # define PROCFS "procfs" #endif @@ -195,7 +197,7 @@ return TRUE; } -#elif defined(__FreeBSD__) || defined(__APPLE__) /* } FreeBSD { */ +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) /* } FreeBSD { */ static INLINE Bool WiperIsDiskDevice(MNTINFO *mnt, // IN: file system being considered @@ -209,6 +211,11 @@ * function, as a whole, does not even apply to OS X, so this caveat is * only minor. */ +#if defined(__NetBSD__) + /* notyet */ +#elif defined(__OpenBSD__) + /* notyet */ +#else #if BSD_VERSION < 50 /* * Before FreeBSD 5, device nodes had static major/minor numbers. @@ -246,6 +253,7 @@ } } #endif /* BSD_VERSION */ +#endif return retval; } diff -urBw open-vm-tools-2008.01.23-74039.orig/vmware-user/foreignVMToolsDaemon.c open-vm-tools-2008.01.23-74039/vmware-user/foreignVMToolsDaemon.c --- open-vm-tools-2008.01.23-74039.orig/vmware-user/foreignVMToolsDaemon.c 2008-01-28 17:02:53.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/vmware-user/foreignVMToolsDaemon.c 2008-02-17 03:44:05.000000000 +0900 @@ -55,7 +55,7 @@ #include #include #include -#if defined(__FreeBSD__) || defined(sun) +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(sun) #include #else #include diff -urBw open-vm-tools-2008.01.23-74039.orig/vmware-user/foreignVMToolsDaemon.h open-vm-tools-2008.01.23-74039/vmware-user/foreignVMToolsDaemon.h --- open-vm-tools-2008.01.23-74039.orig/vmware-user/foreignVMToolsDaemon.h 2008-01-28 17:02:53.000000000 +0900 +++ open-vm-tools-2008.01.23-74039/vmware-user/foreignVMToolsDaemon.h 2008-02-17 03:47:01.000000000 +0900 @@ -59,7 +59,7 @@ #ifdef __APPLE__ #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE -#elif defined(__FreeBSD__) || defined(sun) +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(sun) #include #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE #else