On Sat, Feb 11, 2012 at 10:27:42PM +0000, David Laight wrote:
 > On Sat, Feb 11, 2012 at 02:04:23AM -0500, Mouse wrote:
 > > I find myself wanting something I'm tentatively calling O_NOACCESS,
 > > which is basically "open for neither read nor write".  (I want this
 > > mostly so I can open a --x directory for fchdir() purposes.)
 > > 
 > > Looking at sys_open(), I see that one of the first checks it does is
 > > 
 > >         if ((flags & (FREAD | FWRITE)) == 0)
 > >                 return (EINVAL);
 > 
 > Not the least of your problems is that the user specifies one of
 > O_RDONLY, O_WRONLY or O_RDWR - which are 0, 1 and 2.
 > Makes it a little difficult to request 'no access'.

There is no problem. O_NOACCESS would be 3. When converted from O_* to
F* it becomes 0. The fact that the O_ flags were not intelligently
specified aeons ago so that a conversion is required is regrettable,
but at this point unfixable.

-- 
David A. Holland
dholl...@netbsd.org

Reply via email to