#ifndef ENUMS_H #define ENUMS_H #ifdef __cplusplus extern "C" { #endif // Enums // ===== // Enums can be combined with the item qualifiers I, A and (only enums) X // so their combinations are simple. // // Covered combinations // ==================== // _IE = incomplete enum without an alias // IE = incomplete enum // AIE = alias of an incomplete enum // _E = enum without an alias // E = enum // AE = alias of an enum // _XE = anonymous enum without an alias // AXE = alias of an anonymous enum // FORBIDDEN IN C++ #ifndef __cplusplus // _IE = incomplete enum without anb alias enum _IE; // IE = incomplete enum // AIE = alias of an incomplete enum typedef enum IE AIE; #endif // _E = enum without an alias enum _E { _E1, _E2, _E3 }; // E = enum // AE = alias of an enum typedef enum E { E1, E3, E2, } AE; // _XE = anonymous enum enum { _XE1, _XE2, _XE3 }; typedef enum { AXE1, AXE2, AXE3 } AXE; #ifdef __cplusplus } #endif #endif //ENUMS_H