29 Mar 2000 cmc   » (Journeyer)

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).

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!