On Sunday 14 September 2008 12:09:30 Hannu Savolainen wrote:
> Yair K. wrote:
> > Hi,
> >
> >    Well, I've tried the attached patch on a "real" FreeBSD install 
> > (7.1-PRERELEASE), and it seems to work without introducing new issues. It 
> > uses the devfs_set_cdevpriv API as mentioned earlier.
> >   
> O. The patch is in the hg server.
> 
> 
> Btw, how does this work with older FreeBSD versions?

>From the patch:
>+#undef VDEV_SUPPORT
>+#if __FreeBSD_version >= 700111
>+#define VDEV_SUPPORT
>+extern int oss_file_set_private (struct thread *p, void *v, size_t l);
>+extern int oss_file_get_private (void **v);
>+#endif
If _FreeBSD_version doesn't match, than VDEV_SUPPORT is not defined, and the 
#ifdefs in os_freebsd.c will use the old code which doesn't provide the device 
cloning.
As I mentioned in a previous message, this has the problem that a binary 
package compiled under old FreeBSD 7 can't be recompiled dynamically under 
FreeBSD 7.1 to do vmix or the reverse (i.e. If 4front distributes binary 
packages, it will have to use a separate one for 7.1+). VDEV_SUPPORT is used 
inside the core, and disentangling it so that the selection is done in the 
wrapper alone would probably be complicated.

Yours,
        Yair K.

_______________________________________________
oss-devel mailing list
oss-devel@mailman.opensound.com
http://mailman.opensound.com/mailman/listinfo/oss-devel

Reply via email to