Since I have not really made any journal entries, I
believe I should go ahead and describe what my current
project is. At this point, I am working on repairing
FreeBSD's fdesc file system.
What is fdesc? Fdesc is a file system which basically
gives you information in file system form about what files
(i.e. sockets, pipes, etc.) you have open. Since devfs
likely won't be available for a while, I decided I'd make
this something to work on. Currently the FS data such as
the date, owner and permissions in fdesc ``as-is'' is set
inaccurately (or to zero).
Currently, FreeBSD uses a directory, /dev/fd,
which is basically full of a bunch of device nodes that
really tell you absolutely nothing about your open
files. However, with what magic I'm working with at this
point:
$ ls -l /dev/fd 3>/dev/tcp/10.0.0.2/21 | tee /dev/null
total 0
crw------- 1 chris tty 5, 3 Mar 29 06:14 0
prw-rw-rw- 1 chris chris 0 Mar 29 06:14 1
crw------- 1 chris tty 5, 3 Mar 29 06:14 2
srw-rw-rw- 1 chris chris 0 Mar 29 06:14 3
dr--r--r-- 2 root wheel 512 Mar 27 06:03 4
dr--r--r-- 2 root wheel 512 Mar 27 06:03 5
Note: The
/dev/tcp/addr/port-no is a feature of
the Korn shell and is in no way related to my fdesc work
(other than being an awfully convenient way to make a socket
in the shell).