title: Where to find the complete definition of off_t type?
body: <p>I am sending file from client to server using TCP. To mark the end of the file I like to send file size before the actual data. So I use <code>stat</code> system call to find the size of the file. This is of type <code>off_t</code>. I like to know how many bytes it occupies so that I can read it properly on the server side. It is defined in the  <code>&lt;sys/types.h&gt;</code>. But I do not understand the definition. It just defines <code>__off_t or _off64_t</code> to be <code>off_t</code>. Where to look for <code>__off_t</code>? Also is it convention that <code>__</code> is prefixed for most of the things in header files and scares me when I read header files to understand better. How to read a header file better?</p>
  
  <pre><code>#ifndef __off_t_defined
  # ifndef __USE_FILE_OFFSET64
  typedef __off_t off_t;
  # else
  typedef __off64_t off_t;
  # endif
  # define __off_t_defined
  #endif 
  </code></pre>