summaryrefslogtreecommitdiff
path: root/sys/include/fs/ctlfs.h
AgeCommit message (Collapse)Author
37 hourskernel: ctlfs: Include sys/sio.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
38 hourskernel: fs: Introduce ctlfsIan Moffett
ctlfs (Control FS) is a filesystem aimed to provide configuration of devices separate from their respective devices files. Most UNIX-like systems rely on the ioctl() mechanism for sending commands to device drivers, while this certainly works, it is important to realize how messy it can get having massive switch cases per driver. ctlfs fixes this by giving each device a "node" in ctlfs that contains several control files. For example, imagine we have a SCSI device (/dev/sd1). Its ctlfs counterpart would be a directory at /ctl/sd1/. For an hdd this may contain files such as: /ctl/sd1/bsize # Block size if read (mode [rwx]: -w-) /ctl/sd1/cmd # Command if written, status if read (mode [rwx]: rw-) ... et cetera Signed-off-by: Ian Moffett <ian@osmora.org>