API Management in libadr

libadr provides support for defining APIs in rad/adr_object.h. Defining an API is a complex task. The only supported way to define an API is to do so in the ADR IDL and to generate the definition using radadrgen.

The important type defined in rad/adr_object.h is type adr_object_t. While the constituent pieces of an API definition should be considered implementation details, the end product, the API itself, is of prime interest to the developer. You will never need to create or define an adr_object_t, but when you encounter routines that operate on them, understanding what the type represents is important.