The
pseudofs
module offers an abstract API for pseudo-file systems such as
procfs(5)
and
linprocfs(5).
It takes care of all the hairy bits like interfacing with the VFS
system, enforcing access control, keeping track of file numbers, and
cloning files and directories that are process-specific.
The consumer module, i.e., the module that implements the actual guts
of the file system, needs only provide the directory structure
(represented by a collection of structures declared and initialized by
macros provided by
pseudofs)
and callbacks that report file attributes or write the actual file
contents into sbufs.