Somewhere in the headers there is a type definition
typedef enum { SUCCESS = 0 } status;
Below the code there is a need to re-type
typedef enum { FAILURE = 0 } status;
Obviously, you can defend yourself with preprocessor directives.
#ifndef STATUS #define STATUS typedef enum { SUCCESS = 0 } status; #endif
But, unfortunately, you can not change the headers. Therefore, the question is: how to check when defining a typedef that such a typedef is not yet defined?