can someone explain the difference between the types uint8_t
and __u8
?
i know that uint8_t
are defined in stdint.h and they are available on every unix system.
/* Unsigned. */
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;
...
And if i use them its recognizable what i intent to do.
now i stumbled over the __u8
and __u16
types. its seems for me to be the same.
some of those types are defined in linux/types.h
#ifdef __CHECKER__
#define __bitwise__ __attribute__((bitwise))
#else
#define __bitwise__
#endif
#ifdef __CHECK_ENDIAN__
#define __bitwise __bitwise__
#else
#define __bitwise
#endif
typedef __u16 __bitwise __le16;
typedef __u16 __bitwise __be16;
typedef __u32 __bitwise __le32;
...
i didnt find __u8
but i can still use it and it behaves like uint8_t.
is there some difference in performance or memory consumption?
thanks for help :)