title: why use different pointer types?
body: <p>In a lot of standard open source code, I see in various places different pointer types being used like :</p>
  
  <pre><code>uint32 fooHash (uint8 *str, uint32 len)
  </code></pre>
  
  <p>What I don't get is the following:
  - Why would you want to declare int as uint32, uint8? 
    All of this would run in the userspace itself, so why not just leave as uint itself?
    Wouldn't portability be an issue later on?</p>
  
  <ul>
  <li>Also, if you want to run the opensource code on 32bit system, why have a pointer as
  uint8 *ptr?</li>
  </ul>