Can you tell me what exactly does the \'u\' after a number, for example:
#define NAME_DEFINE 1u
it means "unsigned int", basically it functions like a cast to make sure that numeric constants are converted to the appropriate type at compile-time.