When searching lately a lot through the UNIX 2.11BSD source code I wanted many times a hyperlinked and cross referenced rendition of the sources, much like doxygen or lxr does it. For kernel, lib and user code, for C and assembler.

Since none of the existing tools seemed to do what I wanted, I wrote a perl script generating such a html'ized version of the source code.

The tool far from finished, but might already be useful. For a tour start for example with the code of the cp command

  http://www.retro11.de/ouxr/211bsd/usr/src/bin/cp.c.html
and click along. The links connect C and asm code, the user land code, libc and kernel code. Look to the readdir() call in line 197, a click gets you into the libc module implementing readdir(). A further click on read() into the assembler stub doing the system call, and a click on the kernel handler listed there gets you into the kernel source. Here the links of the tour
  http://www.retro11.de/ouxr/211bsd/usr/src/bin/cp.c.html#n:197
  http://www.retro11.de/ouxr/211bsd/usr/src/lib/libc/gen/readdir.c.html#s:_readdir
  http://www.retro11.de/ouxr/211bsd/usr/src/lib/libc/pdp/sys/__read.s.html#s:_read
  http://www.retro11.de/ouxr/211bsd/usr/src/sys/sys/sys_generic.c.html#s:_read

The background color tells you in which territory you are in

  magenta   boot and standalone code
  red       kernel
  gold      network code (running in supervisor)
  green     libraries
  blue      user level code

If you want a kernel tour, start at

  http://www.retro11.de/ouxr/211bsd/usr/src/sys/sys/init_main.c.html

Clicking on a symbol definition (or the X in the sidebar) gets you to the cross referencing info's. To see for example who is using setjmp see

  http://www.retro11.de/ouxr/211bsd/usr/src/lib/libc/pdp/gen/setjmp.s.html#xref:s:_setjmp
or who is including nlist.h see
  http://www.retro11.de/ouxr/211bsd/usr/include/nlist.h.html#xref:i:nlist.h

As said, it's beta stage, the style sheet is still the debug version, not all links end where they should, not all is parsed as it should.

Hope you enjoy it.

2016-11-27: The ouxr data have been moved from the server cited in the original posting to a different site. Updated the post accordingly.
For original note to 2.11BSD users see posting to cctech@classiccmp.org archived on
2014-10-06
. That started a nice thread back in 2007.