[openbeos] Re: Cosmoe is back

  • From: "François Revol" <revol@xxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Fri, 09 Feb 2007 00:51:24 +0100 CET

> 
> On Feb 7, 2007, at 3:49 PM, Niklas Nisbeth wrote:
> 
> > I trust you did this out of necessity and not out of ill will 
> > towards
> > the BSD community.
> 
> I'd love for it to work on other UNIX platforms.
> 
> The reality is that to support certain Be functionality, you have to  
> pick a technology to emulate it.  For example: for node watching, we  
> use inotify; for attributes we use fsetxattr et al.; for getting and  
> setting system parameters we use the /proc filesystem interface.  On  
> *BSD, these are either not available at all, or not all the same  
> features are available.  There may be other technologies available on  
> these platform, but then someone has to do the work twice.  I'm glad  
> for someone to work on these sorts of things, but at this stage of  
> getting things off the ground, it just can't really be me.

For some stuff you can use standard libraries.
like there is a library for xattrs that should work in BSD as well (and 
OSX).
As for inotify, BSD has kevents or something...
Also, something BSD has that I do'nt think Linux has is the ability to 
open a file from a reference (node_ref in BeOS) BSD has some node ID 
stuff (16 byte identifier, can probably stuff a BFS inode inside). 
Linux cannot do that because it enforces walking a path before opening 
a file, as it maintains dentries to keep inode relationships. At least 
last time I checked.
That's why the Haiku build tools in linux have to fake _kopen_vnode_() 
or so by keeping around a list of already known vnodes IIRC.
About /proc, well it's just another way around sysctl() you know.
Not that sysctl() itself is really standard anyway...

François.

Other related posts: