Since the types of type char, short, int, longetc. are ambiguous: they depend on the underlying equipment. Back in the days when C was generally considered an assembly language for people in a hurry, everything was in order. Now for writing programs that are portable, which means "programs that mean the same thing on any machine" - people have created special libraries typedefsand #definesthat allow them to create machine independent definitions.
The secret code is really pretty straight forward. Here you have uint_8, which is interpreted
u for unsignedint say it is regarded as a number_8 for size in bits.
In other words, this is an unsigned integer with 8 bits (minimum) or what we used to invoke the history of C, "unsigned char".