If you would like to use type X.Y.Z from C (package X, subpackage Y, class Z), you should #include "X_Y_Z.h" . If you would like to include the header files for a whole package X.Y, you can #include "X_Y.h". For example, you can include all the types in the sidl namespace with #include "sidl.h".
Each client side header file will ensure that sidl_header.h is included. sidl_header.h defines:
In general, clients don't need to worry about including sidl_header.h because the Babel generated header files will include it for you.