audit_internal.h contains private interfaces that are shared by user space
and the kernel for the purposes of assembling audit records. Applications
should not include this file or use the APIs found within, or it may be
broken with future releases of OpenBSM, which may delete, modify, or
otherwise break these interfaces or the assumptions they rely on.
We could determined the header and trailer sizes by defining appropriate
structures. We hold off that approach until we have a consistent way of
using structures for all tokens. This is not straightforward since these
token structures may contain pointers of whose contents we do not know the
size (e.g text tokens).
BSM token streams store fields in big endian byte order, so as to be
portable; when encoding and decoding, we must convert byte orders for
typed values.