guard struct.h, remove warning messages, change repetition macros.