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?