title: Why is the st_size field in struct stat signed?
body: <p><code>st_size</code> is <a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html">defined</a> as being an <code>off_t</code>.</p>
  
  <p><code>off_t</code> is <a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html">defined</a> as being a <strong>signed integer type</strong>.</p>
  
  <p>Why is <code>st_size</code> defined as a signed type? Can it be negative? What does it mean if it is negative?</p>