title: Difference between u8, uint8_t, __u8 and __be8
body: <p>While browsing linux networking code, I came across these datatypes: </p>
  
  <blockquote>
    <ol>
    <li>u8</li>
    <li>uint8_t</li>
    <li>__u8</li>
    <li>__be8</li>
    </ol>
  </blockquote>
  
  <p>(same things for 16, 32 and 64 bits)</p>
  
  <p>Can someone please explain the difference between these datatypes and where to use which?
  I have seen the definitions of these datatypes but those were not clear to me.</p>