it does - I looked into synopsis because we could use rest, and I
don't think anyone wants to go the doxygen route.

I am curious as to why doxygen isn't a viable option.  While I don't have experience with the other suggestions, I have used doxygen in a few of my personall projects and have been quite happy with it serving as internal documentation.  doxygen can still produce bare-bones documentation, call-graphs and cross-references from C/C++ code even if there are no special comments for it to parse.

While doxygen may not be perfect, I think it does well enough to produce good documentation for developers to use.

Just my 2 cents.

Ben Root