DragonFly kernel List (threaded) for 2004-10
Re: documentation of changes to include files
:Is there any documentation (e-mail threads, commit messages, etc.) for
:the changes made to the header files for DragonFlyBSD from FreeBSD? If
:not, what is the best way to get up to speed on the changes?
:Glenn Johnson <glennpj@xxxxxxxxxxx>
There's no documentation per say. For the most part header changes are
made either to comply with standards (often taken from FreeBSD work but
not always), or due to differences in the /usr/src/sys/ topology.
For header files, there are three primary topological differences:
(1) We have a 'bus' category /usr/src/sys/bus, so for example accessing
the 'pci' bus files is done via <bus/pci/blah.h> instead of the
<pci/blah.h> that FreeBSD has (because our pci is in
/usr/src/sys/bus/pci while FreeBSD's is in /usr/src/sys/pci)
(2) Our devices are sub-categorized. So, for example, network interfaces
are primarily in /usr/src/sys/dev/netif/<blah> rather then in
/usr/src/sys/dev/<blah> or /usr/src/sys/pci/if_<blah>.
(3) Our network protocols are sub-categorized, so we have
/usr/src/sys/netproto/atm whereas FreeBSD has /usr/src/sys/netatm.
There is one other big differences and that is our build system does not
use -I- when compiling the kernel or modules, whereas FreeBSD's build
system does. What this means in practical terms is that we can safely
use local include paths such as #include "blah.h" for header files that
reside in the same directory as the source, FreeBSD must usually use
<a/b/c/blah.h> instead for such files.