log: simplify log level handling

Reuse existing loglevel values defined as enum log_level
instead of introducing new character mappings.
This will allow easy compile time enabing and disabling
of different log level by checking if the MAXLOGLEVEL is
greater of equal to configured level.

Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com>
diff --git a/configure.ac b/configure.ac
index 7a49547..ca61b13 100644
--- a/configure.ac
+++ b/configure.ac
@@ -101,17 +101,17 @@
             [],
             [with_maxloglevel=trace])
 AS_IF([test "x$with_maxloglevel" = "xnone"],
-      AC_DEFINE_UNQUOTED([MAXLOGLEVEL], ['N']),
+      AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [0], ["Logging disabled"]),
 AS_IF([test "x$with_maxloglevel" = "xerror"],
-      AC_DEFINE_UNQUOTED([MAXLOGLEVEL], ['E']),
+      AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [2], ["Error log level"]),
 AS_IF([test "x$with_maxloglevel" = "xwarning"],
-      AC_DEFINE_UNQUOTED([MAXLOGLEVEL], ['W']),
+      AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [3], ["Warning log level"]),
 AS_IF([test "x$with_maxloglevel" = "xinfo"],
-      AC_DEFINE_UNQUOTED([MAXLOGLEVEL], ['I']),
+      AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [4], ["Info log level"]),
 AS_IF([test "x$with_maxloglevel" = "xdebug"],
-      AC_DEFINE_UNQUOTED([MAXLOGLEVEL], ['D']),
+      AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [5], ["Debug log level"]),
 AS_IF([test "x$with_maxloglevel" = "xtrace"],
-      AC_DEFINE_UNQUOTED([MAXLOGLEVEL], ['T']),
+      AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [6], ["Trace log level"]),
 AC_MSG_ERROR([Bad value for --with-maxloglevel])))))))
 
 AC_ARG_ENABLE([debug],
diff --git a/log/log.h b/log/log.h
index 7ba6a9c..0dc7a11 100644
--- a/log/log.h
+++ b/log/log.h
@@ -18,14 +18,22 @@
 #define COMPILER_ATTR(...)
 #endif
 
+#define LOGL_NONE    0
+#define LOGL_ERROR   2
+#define LOGL_WARNING 3
+#define LOGL_INFO    4
+#define LOGL_DEBUG   5
+#define LOGL_TRACE   6
+#define LOGL_UNDEF   0xFF
+
 typedef enum {
-    LOGLEVEL_NONE     = 0,
-    LOGLEVEL_ERROR    = 1,
-    LOGLEVEL_WARNING  = 2,
-    LOGLEVEL_INFO     = 3,
-    LOGLEVEL_DEBUG    = 4,
-    LOGLEVEL_TRACE    = 5,
-    LOGLEVEL_UNDEFINED    = 0xff
+    LOGLEVEL_NONE      = LOGL_NONE,
+    LOGLEVEL_ERROR     = LOGL_ERROR,
+    LOGLEVEL_WARNING   = LOGL_WARNING,
+    LOGLEVEL_INFO      = LOGL_INFO,
+    LOGLEVEL_DEBUG     = LOGL_DEBUG,
+    LOGLEVEL_TRACE     = LOGL_TRACE,
+    LOGLEVEL_UNDEFINED = LOGL_UNDEF
 } log_level;
 
 static const char *log_strings[] COMPILER_ATTR(unused) = {
@@ -45,21 +53,15 @@
 #ifndef MAXLOGLEVEL
 #error "MAXLOGLEVEL undefined"
 #endif
-#if MAXLOGLEVEL != 'E' && \
-    MAXLOGLEVEL != 'W' && \
-    MAXLOGLEVEL != 'I' && \
-    MAXLOGLEVEL != 'D' && \
-    MAXLOGLEVEL != 'T' && \
-    MAXLOGLEVEL != 'N'
-#error "Unknown MAXLOGLEVEL"
+
+#if MAXLOGLEVEL > LOGL_TRACE || MAXLOGLEVEL < LOGL_ERROR
+    #if MAXLOGLEVEL != LOGL_NONE
+        #error "Unknown MAXLOGLEVEL"
+    #endif
 #endif
 
 /* MAXLOGLEVEL is Error or "higher" */
-#if MAXLOGLEVEL == 'E' || \
-    MAXLOGLEVEL == 'W' || \
-    MAXLOGLEVEL == 'I' || \
-    MAXLOGLEVEL == 'D' || \
-    MAXLOGLEVEL == 'T'
+#if MAXLOGLEVEL >= LOGL_ERROR
 #define LOG_ERROR(FORMAT, ...) doLog(LOGLEVEL_ERROR, \
                                      xstr(LOGMODULE), LOGDEFAULT, \
                                      &LOGMODULE_status, \
@@ -77,10 +79,7 @@
 #endif
 
 /* MAXLOGLEVEL is Warning or "higher" */
-#if MAXLOGLEVEL == 'W' || \
-    MAXLOGLEVEL == 'I' || \
-    MAXLOGLEVEL == 'D' || \
-    MAXLOGLEVEL == 'T'
+#if MAXLOGLEVEL >= LOGL_WARNING
 #define LOG_WARNING(FORMAT, ...) doLog(LOGLEVEL_WARNING, \
                                      xstr(LOGMODULE), LOGDEFAULT, \
                                      &LOGMODULE_status, \
@@ -98,9 +97,7 @@
 #endif
 
 /* MAXLOGLEVEL is Info or "higher" */
-#if MAXLOGLEVEL == 'I' || \
-    MAXLOGLEVEL == 'D' || \
-    MAXLOGLEVEL == 'T'
+#if MAXLOGLEVEL >= LOGL_INFO
 #define LOG_INFO(FORMAT, ...) doLog(LOGLEVEL_INFO, \
                                      xstr(LOGMODULE), LOGDEFAULT, \
                                      &LOGMODULE_status, \
@@ -118,8 +115,7 @@
 #endif
 
 /* MAXLOGLEVEL is Debug or "higher" */
-#if MAXLOGLEVEL == 'D' || \
-    MAXLOGLEVEL == 'T'
+#if MAXLOGLEVEL >= LOGL_DEBUG
 #define LOG_DEBUG(FORMAT, ...) doLog(LOGLEVEL_DEBUG, \
                                      xstr(LOGMODULE), LOGDEFAULT, \
                                      &LOGMODULE_status, \
@@ -137,7 +133,7 @@
 #endif
 
 /* MAXLOGLEVEL is Trace */
-#if MAXLOGLEVEL == 'T'
+#if MAXLOGLEVEL >= LOGL_TRACE
 #define LOG_TRACE(FORMAT, ...) doLog(LOGLEVEL_TRACE, \
                                      xstr(LOGMODULE), LOGDEFAULT, \
                                      &LOGMODULE_status, \
diff --git a/marshal/tss2-mu.vcxproj b/marshal/tss2-mu.vcxproj
index fa8562e..7cd2f1d 100644
--- a/marshal/tss2-mu.vcxproj
+++ b/marshal/tss2-mu.vcxproj
@@ -71,10 +71,10 @@
   </PropertyGroup>
   <ItemDefinitionGroup>
     <ClCompile>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_USRDLL;libtss2_mu_EXPORTS;MAXLOGLEVEL='T';%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_USRDLL;libtss2_mu_EXPORTS;MAXLOGLEVEL='W';%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">_DEBUG;_WINDOWS;_USRDLL;libtss2_mu_EXPORTS;MAXLOGLEVEL='T';%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NDEBUG;_WINDOWS;_USRDLL;libtss2_mu_EXPORTS;MAXLOGLEVEL='W';%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_USRDLL;libtss2_mu_EXPORTS;MAXLOGLEVEL=6;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_USRDLL;libtss2_mu_EXPORTS;MAXLOGLEVEL=3;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">_DEBUG;_WINDOWS;_USRDLL;libtss2_mu_EXPORTS;MAXLOGLEVEL=6;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NDEBUG;_WINDOWS;_USRDLL;libtss2_mu_EXPORTS;MAXLOGLEVEL=3;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\include;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\include;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
diff --git a/sysapi/tss2-sapi.vcxproj b/sysapi/tss2-sapi.vcxproj
index 8382b6c..4c67c1d 100644
--- a/sysapi/tss2-sapi.vcxproj
+++ b/sysapi/tss2-sapi.vcxproj
@@ -199,10 +199,10 @@
   </PropertyGroup>
   <ItemDefinitionGroup>
     <ClCompile>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_USRDLL;tss2_sapi_EXPORTS;MAXLOGLEVEL='T';%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_USRDLL;tss2_sapi_EXPORTS;MAXLOGLEVEL='W';%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">_DEBUG;_WINDOWS;_USRDLL;tss2_sapi_EXPORTS;MAXLOGLEVEL='T';%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NDEBUG;_WINDOWS;_USRDLL;tss2_sapi_EXPORTS;MAXLOGLEVEL='W';%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_USRDLL;tss2_sapi_EXPORTS;MAXLOGLEVEL=6;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_USRDLL;tss2_sapi_EXPORTS;MAXLOGLEVEL=3;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">_DEBUG;_WINDOWS;_USRDLL;tss2_sapi_EXPORTS;MAXLOGLEVEL=6;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NDEBUG;_WINDOWS;_USRDLL;tss2_sapi_EXPORTS;MAXLOGLEVEL=3;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">include;..\include;..\marshal;$(SolutionDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">include;..\include;..\marshal;$(SolutionDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>