--- hgfsmounter/hgfsmounter.c.orig 2008-03-19 08:49:53.000000000 +0100 +++ hgfsmounter/hgfsmounter.c 2008-03-27 18:28:03.000000000 +0100 @@ -44,7 +44,9 @@ # define MS_SYNCHRONOUS MNT_SYNCHRONOUS # define MS_NOEXEC MNT_NOEXEC # define MS_NOSUID MNT_NOSUID +#if __FreeBSD_version < 700000 # define MS_NODEV MNT_NODEV +#endif # define MS_UNION MNT_UNION # define MS_ASYNC MNT_ASYNC # define MS_SUIDDIR MNT_SUIDDIR @@ -199,8 +201,10 @@ printf(" rw mount read-write (default)\n"); printf(" nosuid ignore suid/sgid bits\n"); printf(" suid allow suid/sgid bits (default)\n"); +#if __FreeBSD_version < 700000 printf(" nodev prevent device node access\n"); printf(" dev allow device node access (default)\n"); +#endif printf(" noexec prevent program execution\n"); printf(" exec allow program execution (default)\n"); printf(" sync file writes are synchronous\n"); @@ -603,12 +607,14 @@ } else if (strcmp(key, "suid") == 0) { *flags &= ~MS_NOSUID; LOG("Setting mount option for allowing suid/sgid bits on\n"); +#if __FreeBSD_version < 700000 } else if (strcmp(key, "nodev") == 0) { // allow access to device nodes? *flags |= MS_NODEV; LOG("Setting mount option for accessing device nodes off\n"); } else if (strcmp(key, "dev") == 0) { *flags &= ~MS_NODEV; LOG("Setting mount option for accessing device nodes on\n"); +#endif } else if (strcmp(key, "noexec") == 0) { // allow program execution? *flags |= MS_NOEXEC; LOG("Setting mount option for program execution off\n"); --- modules/freebsd/vmxnet/if_vxn.c.orig 2008-03-19 08:49:47.000000000 +0100 +++ modules/freebsd/vmxnet/if_vxn.c 2008-03-27 18:33:12.000000000 +0100 @@ -299,11 +302,20 @@ } #ifdef VXN_MPSAFE error = bus_setup_intr(dev, sc->vxn_irq, INTR_TYPE_NET | INTR_MPSAFE, +#if __FreeBSD_version >= 700000 + NULL, vxn_intr, sc, &sc->vxn_intrhand); +#else vxn_intr, sc, &sc->vxn_intrhand); +#endif #else error = bus_setup_intr(dev, sc->vxn_irq, INTR_TYPE_NET, +#if __FreeBSD_version >= 700000 + NULL, vxn_intr, sc, &sc->vxn_intrhand); +#else vxn_intr, sc, &sc->vxn_intrhand); #endif + +#endif if (error) { printf("vxn%d: couldn't set up irq\n", unit); error = ENXIO; --- modules/freebsd/vmhgfs/vnops.c.orig 2008-03-19 08:49:45.000000000 +0100 +++ modules/freebsd/vmhgfs/vnops.c 2008-03-27 18:34:58.000000000 +0100 @@ -138,7 +138,9 @@ .vop_islocked = vop_stdislocked, .vop_kqfilter = vop_stdkqfilter, .vop_lease = VOP_NULL, +#if __FreeBSD_version < 700000 .vop_lock = vop_stdlock, +#endif .vop_pathconf = VOP_EINVAL, .vop_poll = vop_nopoll, .vop_putpages = vop_stdputpages, --- modules/freebsd/vmblock/vnops.c.orig 2008-03-19 08:49:43.000000000 +0100 +++ modules/freebsd/vmblock/vnops.c 2008-03-27 18:43:03.000000000 +0100 @@ -187,6 +187,9 @@ #include #include #include +#if __FreeBSD_version >= 700000 +#include +#endif #include "vmblock_k.h" #include "vmblock.h" @@ -210,13 +213,18 @@ static vop_inactive_t VMBlockVopInactive; static vop_ioctl_t VMBlockVopIoctl; static vop_islocked_t VMBlockVopIsLocked; +#if __FreeBSD_version < 700000 static vop_lock_t VMBlockVopLock; +#endif static vop_lookup_t VMBlockVopLookup; static vop_open_t VMBlockVopOpen; static vop_print_t VMBlockVopPrint; static vop_reclaim_t VMBlockVopReclaim; static vop_rename_t VMBlockVopRename; static vop_setattr_t VMBlockVopSetAttr; +#if __FreeBSD_version >= 700000 +static vop_lock1_t VMBlockVopLock; +#endif static vop_unlock_t VMBlockVopUnlock; @@ -254,7 +262,9 @@ .vop_inactive = VMBlockVopInactive, .vop_ioctl = VMBlockVopIoctl, .vop_islocked = VMBlockVopIsLocked, +#if __FreeBSD_version < 700000 .vop_lock = VMBlockVopLock, +#endif .vop_lookup = VMBlockVopLookup, .vop_open = VMBlockVopOpen, .vop_print = VMBlockVopPrint, @@ -262,6 +272,9 @@ .vop_rename = VMBlockVopRename, .vop_setattr = VMBlockVopSetAttr, .vop_strategy = VOP_EOPNOTSUPP, +#if __FreeBSD_version >= 700000 + .vop_lock1 = VMBlockVopLock, +#endif .vop_unlock = VMBlockVopUnlock, }; @@ -720,7 +733,11 @@ * readdir() of the filesystem root for non-privileged users. */ if ((retval = suser(ap->a_td)) == 0) { +#if __FreeBSD_version >= 700000 + fp = ap->a_fp; +#else fp = ap->a_td->td_proc->p_fd->fd_ofiles[ap->a_fdidx]; +#endif fp->f_ops = &VMBlockFileOps; } } else { @@ -1100,7 +1117,11 @@ */ static int +#if __FreeBSD_version >= 700000 +VMBlockVopLock(struct vop_lock1_args *ap) +#else VMBlockVopLock(struct vop_lock_args *ap) +#endif /* struct vop_lock_args { struct vnode *vp; // IN: vnode operand --- modules/freebsd/vmhgfs/vfsops.c.orig 2008-03-19 08:49:45.000000000 +0100 +++ modules/freebsd/vmhgfs/vfsops.c 2008-03-27 19:04:20.000000000 +0100 @@ -29,6 +29,9 @@ #include #include #include +#if __FreeBSD_version >= 700000 +#include +#endif #include "hgfs_kernel.h" #include "request.h" @@ -64,7 +67,9 @@ .vfs_vget = vfs_stdvget, .vfs_fhtovp = vfs_stdfhtovp, .vfs_checkexp = vfs_stdcheckexp, +#if __FreeBSD_version < 700000 .vfs_vptofh = vfs_stdvptofh, +#endif .vfs_init = HgfsVfsInit, .vfs_uninit = HgfsVfsUninit, .vfs_extattrctl = vfs_stdextattrctl,