The following code uses a union to support the representation of different types of messages. It formats messages differently, depending on their type.
(bad code)
#define NAME_TYPE 1
#define ID_TYPE 2