@need 3200

@node Virtual Null File Descriptors
@chapter Virtual Null File Descriptors

These VU functions define a trivial file system implementation in
which all functions act like the file is /dev/null but no actual
system calls are performed.


Virtual /dev/null is considered a universally readable/writable,
permanently 0-length file whose permissions bits and ownerships can
not be changed by anyone (including root).  It's access,
modification and change times are permanently @code{0}.


The closure for opened files is the access flags cast to
(void *).

@sp 1
@need 1750
@noindent
@b{* Function} @code{vu_make_virtual_null_fd}@fuindex vu_make_virtual_null_fd
@*
@example
@group
int vu_make_virtual_null_fd (int * errn, int flags);
@end group
@group
@end group
@end example

Return a new (pseudo) descriptor opened for
@geindex virtual /dev/null
@dfn{virtual /dev/null}.

@sp 1
@need 1750
@noindent
@b{* Function} @code{vu_make_virtual_null_fd_ge_n}@fuindex vu_make_virtual_null_fd_ge_n
@*
@example
@group
int vu_make_virtual_null_fd_ge_n (int * errn, int n, int flags);
@end group
@group
@end group
@end example

Return a new (pseudo) descriptor opened for
@geindex virtual /dev/null
@dfn{virtual /dev/null}.


The new descriptor is greater than or equal to @code{n}.




