title: Avoiding redefinition of enums in C
body: <p>I need an explanation as to how to make this work (if it's even possible).</p>
  
  <p>So, in my header file, I have an enum declaration for a BOOL type with some routines I am supposed to implement.</p>
  
  <pre><code>#ifndef _TABLE_H
  #define _TABLE_H
  
  typedef enum BOOL { false, true } Boolean;
  
  #endif //_TABLE_H
  </code></pre>
  
  <p>I'm using this interface in a file that has a definition of various routines using the bool type (not Boolean this time)</p>
  
  <pre><code>typedef enum BOOL { false, true } bool;
  </code></pre>
  
  <p>I want to be able to use both, how do I do this?</p>