title: Where to find struct _IO_FILE
body: <p>I was looking through /usr/include/stdio.h</p>
  
  <p>and happened to come across the following piece of code.</p>
  
  <pre><code>/* Standard streams.  */
  
  extern struct _IO_FILE *stdin;          /* Standard input stream.  */
  extern struct _IO_FILE *stdout;         /* Standard output stream.  */
  extern struct _IO_FILE *stderr;         /* Standard error output stream.  */
  /* C89/C99 say they're macros.  Make them happy.  */
  #define stdin stdin
  #define stdout stdout
  #define stderr stderr
  </code></pre>
  
  <p>My question is, where is this stucture <strong>struct _IO_FILE</strong> declared, i want to see the layout. and also the code mentions </p>
  
  <pre><code>#define stdin stdin
  </code></pre>
  
  <p>How is this supposed to work? </p>