Hola, aclaremos algo, en ANSI C ( C99 es otra cosa, pero para embebidos no todos los soportan ) los únicos tipos válidos reconocidos son estos:
Después existen modificadores como:
Normalmente en muchos compiladores utilizan typedefs para definir tipos mas convencionales, como dword, word, int8, int16, bool, etc, etc
Como en el caso del boolean que solo debería almacenar valores 0,1 o true o false se utiliza el tipo de dato de menor tamaño que es unsigned char, el int8 es un typedef del mismo dato y todos ocupan 1 byte.
Saludos !