+#define W_ESC_SEQ_OOR_FOR_CHAR 137 /* Escape sequence of of range for char */
+#define E_INVALID_HEX 138 /* \x used with no following hex digits */
+#define W_FUNCPTR_IN_USING_ISR 139 /* Call via function pointer in ISR with using attribute. */
+#define E_NO_SUCH_BANK 140 /* 'using' attribute specifies non-existant register bank. */
+#define E_TWO_OR_MORE_DATA_TYPES 141
+#define E_LONG_OR_SHORT_INVALID 142 /* long or short invalid for .. */
+#define E_SIGNED_OR_UNSIGNED_INVALID 143 /* signed or unsigned invalid for .. */
+#define E_LONG_AND_SHORT_INVALID 144 /* long and short invalid for .. */
+#define E_SIGNED_AND_UNSIGNED_INVALID 145 /* signed and unsigned invalid for .. */
+#define E_TWO_OR_MORE_STORAGE_CLASSES 146
+#define W_EXCESS_INITIALIZERS 147 /* too much initializers for array */
+#define E_ARGUMENT_MISSING 148 /* Option requires an argument. */
+#define W_STRAY_BACKSLASH 149
+#define W_NEWLINE_IN_STRING 150
+#define E_CANNOT_USE_GENERIC_POINTER 151
+#define W_EXCESS_SHORT_OPTIONS 152
+#define E_VOID_VALUE_USED 153
+#define W_INTEGRAL2PTR_NOCAST 154
+#define W_PTR2INTEGRAL_NOCAST 155
+#define W_SYMBOL_NAME_TOO_LONG 156
+#define W_CAST_STRUCT_PTR 157 /* pointer to different structure types */
+#define W_IF_ALWAYS_TRUE 158
+#define E_PARAM_NAME_OMITTED 159
+
+/** Describes the maximum error level that will be logged. Any level
+ * includes all of the levels listed after it.
+ *
+ *
+ */
+enum _ERROR_LOG_LEVEL {
+ /** Everything. Currently the same as PEDANTIC. */
+ ERROR_LEVEL_ALL,
+ /** All warnings, including those considered 'reasonable to use,
+ on occasion, in clean programs' (man 3 gcc). */
+ ERROR_LEVEL_PEDANTIC,
+ /** 'informational' warnings */
+ ERROR_LEVEL_INFO,
+ /** Most warnings. */
+ ERROR_LEVEL_WARNING,
+ /** Errors only. */
+ ERROR_LEVEL_ERROR
+};
+
+typedef enum _ERROR_LOG_LEVEL ERROR_LOG_LEVEL;
+
+/** Sets the maximum error level to log.
+ See MAX_ERROR_LEVEL. The default is ERROR_LEVEL_ALL.
+*/
+void
+setErrorLogLevel (ERROR_LOG_LEVEL level);