The ChorusOS operating system header files are packaged in five different directories:
kernel/include/chorus. Header files in this directory export the following APIs:
The Microkernel API
The Private Data API
The Actor Management API
kernel/include/stdc. Header files in this directory export the following APIs:
The Standard-C API
The Mathematical API
The Console Input/Output API
Some BSD specific APIs
include/posix. Header files in this directory export the following APIs:
The Standard-C API
The Mathematical API
The POSIX Input/Output API
The POSIX MRTP API
The POSIX Network API
The Sun RPC API
Some BSD specific APIs
include/CC. Header files in this directory export the GNU 2.7.1 C++ API.
include/X11. Header files in this directory export the following libraries: libX11.a, libXaw.a, libXext.a, libXmu.a, libXt.a.
Typical ChorusOS operating system applications use header files of the include/chorus and include/posix directories (and also include/CC for applications using the GNU 2.7.1 C++ API).
Developing personality servers (such as servers implementing a UNIX personality) on a ChorusOS operating system needs extra care in order to avoid conflicts between data types declared by ChorusOS operating system header files, and data types declared by the server's header files. These servers should be restricted to header files of the include/chorus and include/stdc directories and use the _CHO_POSIX_TYPES_NOTDEF compile option.