DLT_CSTRING implementation non verbose mode.
[profile/ivi/dlt-daemon.git] / include / dlt / dlt_user_macros.h
index d3d6f42..37a8ccf 100644 (file)
@@ -160,11 +160,14 @@ extern DltContext CONTEXT;
 #else
 #define DLT_LOG(CONTEXT,LOGLEVEL,ARGS...) \
        do { \
-               DltContextData log; \
-               if (dlt_user_log_write_start(&CONTEXT,&log,LOGLEVEL)>0) \
+               if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
                { \
-            ARGS; \
-            dlt_user_log_write_finish(&log); \
+                       DltContextData log; \
+                       if (dlt_user_log_write_start(&CONTEXT,&log,LOGLEVEL)>0) \
+                       { \
+                               ARGS; \
+                               dlt_user_log_write_finish(&log); \
+                       } \
                } \
        } while(0)
 #endif
@@ -184,11 +187,14 @@ extern DltContext CONTEXT;
 #else
 #define DLT_LOG_ID(CONTEXT,LOGLEVEL,MSGID,ARGS...) \
        do { \
-               DltContextData log; \
-               if (dlt_user_log_write_start_id(&CONTEXT,&log,LOGLEVEL,MSGID)>0) \
+               if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
                { \
-            ARGS; \
-            dlt_user_log_write_finish(&log); \
+                       DltContextData log; \
+                       if (dlt_user_log_write_start_id(&CONTEXT,&log,LOGLEVEL,MSGID)>0) \
+                       { \
+                               ARGS; \
+                               dlt_user_log_write_finish(&log); \
+                       } \
                } \
        } while(0)
 #endif
@@ -197,82 +203,89 @@ extern DltContext CONTEXT;
  * Add string parameter to the log messsage.
  * @param TEXT ASCII string
  */
-#define DLT_STRING(TEXT) ({ \
-        dlt_user_log_write_string(&log,TEXT); \
-       })
+#define DLT_STRING(TEXT) \
+        dlt_user_log_write_string(&log,TEXT)
+
+/**
+ * Add constant string parameter to the log messsage.
+ * @param TEXT Constant ASCII string
+ */
+#define DLT_CSTRING(TEXT) \
+        dlt_user_log_write_constant_string(&log,TEXT)
+
+/**
+ * Add utf8-encoded string parameter to the log messsage.
+ * @param TEXT UTF8-encoded string
+ */
+#define DLT_UTF8(TEXT) \
+        dlt_user_log_write_utf8_string(&log,TEXT)
 
 /**
  * Add boolean parameter to the log messsage.
  * @param BOOL_VAR Boolean value (mapped to uint8)
  */
-#define DLT_BOOL(BOOL_VAR) ({ \
-        dlt_user_log_write_bool(&log,BOOL_VAR); \
-       })
+#define DLT_BOOL(BOOL_VAR) \
+        dlt_user_log_write_bool(&log,BOOL_VAR)
 
 /**
  * Add float32 parameter to the log messsage.
  * @param FLOAT32_VAR Float32 value (mapped to float)
  */
-#define DLT_FLOAT32(FLOAT32_VAR) ({ \
-        dlt_user_log_write_float32(&log,FLOAT32_VAR); \
-       })
+#define DLT_FLOAT32(FLOAT32_VAR) \
+        dlt_user_log_write_float32(&log,FLOAT32_VAR)
 
 /**
  * Add float64 parameter to the log messsage.
  * @param FLOAT64_VAR Float64 value (mapped to double)
  */
-#define DLT_FLOAT64(FLOAT64_VAR) ({ \
-        dlt_user_log_write_float64(&log,FLOAT64_VAR); \
-       })
+#define DLT_FLOAT64(FLOAT64_VAR) \
+        dlt_user_log_write_float64(&log,FLOAT64_VAR)
 
 /**
  * Add integer parameter to the log messsage.
  * @param INT_VAR integer value
  */
-#define DLT_INT(INT_VAR) ({ \
-        dlt_user_log_write_int(&log,INT_VAR); \
-       })
-#define DLT_INT8(INT_VAR) ({ \
-        dlt_user_log_write_int8(&log,INT_VAR); \
-       })
-#define DLT_INT16(INT_VAR) ({ \
-        dlt_user_log_write_int16(&log,INT_VAR); \
-       })
-#define DLT_INT32(INT_VAR) ({ \
-        dlt_user_log_write_int32(&log,INT_VAR); \
-       })
-#define DLT_INT64(INT_VAR) ({ \
-        dlt_user_log_write_int64(&log,INT_VAR); \
-       })
+#define DLT_INT(INT_VAR) \
+        dlt_user_log_write_int(&log,INT_VAR)
+
+#define DLT_INT8(INT_VAR) \
+        dlt_user_log_write_int8(&log,INT_VAR)
+
+#define DLT_INT16(INT_VAR) \
+        dlt_user_log_write_int16(&log,INT_VAR)
+
+#define DLT_INT32(INT_VAR) \
+        dlt_user_log_write_int32(&log,INT_VAR)
+
+#define DLT_INT64(INT_VAR) \
+        dlt_user_log_write_int64(&log,INT_VAR)
 
 /**
  * Add unsigned integer parameter to the log messsage.
  * @param UINT_VAR unsigned integer value
  */
-#define DLT_UINT(UINT_VAR) ({ \
-        dlt_user_log_write_uint(&log,UINT_VAR); \
-       })
-#define DLT_UINT8(UINT_VAR) ({ \
-        dlt_user_log_write_uint8(&log,UINT_VAR); \
-       })
-#define DLT_UINT16(UINT_VAR) ({ \
-        dlt_user_log_write_uint16(&log,UINT_VAR); \
-       })
-#define DLT_UINT32(UINT_VAR) ({ \
-        dlt_user_log_write_uint32(&log,UINT_VAR); \
-       })
-#define DLT_UINT64(UINT_VAR) ({ \
-        dlt_user_log_write_uint64(&log,UINT_VAR); \
-       })
+#define DLT_UINT(UINT_VAR) \
+        dlt_user_log_write_uint(&log,UINT_VAR)
+
+#define DLT_UINT8(UINT_VAR) \
+        dlt_user_log_write_uint8(&log,UINT_VAR)
+
+#define DLT_UINT16(UINT_VAR) \
+        dlt_user_log_write_uint16(&log,UINT_VAR)
+
+#define DLT_UINT32(UINT_VAR) \
+        dlt_user_log_write_uint32(&log,UINT_VAR)
+
+#define DLT_UINT64(UINT_VAR) \
+        dlt_user_log_write_uint64(&log,UINT_VAR)
 
 /**
  * Add binary memory block to the log messages.
  * @param BUF pointer to memory block
  * @param LEN length of memory block
  */
-#define DLT_RAW(BUF,LEN) ({ \
-        dlt_user_log_write_raw(&log,BUF,LEN); \
-       })
+#define DLT_RAW(BUF,LEN) \
+        dlt_user_log_write_raw(&log,BUF,LEN)
 
 /**
  * Trace network message
@@ -285,7 +298,44 @@ extern DltContext CONTEXT;
  */
 #define DLT_TRACE_NETWORK(CONTEXT,TYPE,HEADERLEN,HEADER,PAYLOADLEN,PAYLOAD) \
     do { \
-        dlt_user_trace_network(&(CONTEXT),TYPE,HEADERLEN,HEADER,PAYLOADLEN,PAYLOAD); \
+       if ((CONTEXT).trace_status_ptr && *((CONTEXT).trace_status_ptr)==DLT_TRACE_STATUS_ON) \
+       { \
+               dlt_user_trace_network(&(CONTEXT),TYPE,HEADERLEN,HEADER,PAYLOADLEN,PAYLOAD); \
+               } \
+    }while(0)
+
+/**
+ * Trace network message, allow truncation
+ * @param CONTEXT object containing information about one special logging context
+ * @param TYPE type of network trace message
+ * @param HEADERLEN length of network message header
+ * @param HEADER pointer to network message header
+ * @param PAYLOADLEN length of network message payload
+ * @param PAYLOAD pointer to network message payload
+ */
+#define DLT_TRACE_NETWORK_TRUNCATED(CONTEXT,TYPE,HEADERLEN,HEADER,PAYLOADLEN,PAYLOAD) \
+    do { \
+       if ((CONTEXT).trace_status_ptr && *((CONTEXT).trace_status_ptr)==DLT_TRACE_STATUS_ON) \
+       { \
+               dlt_user_trace_network_truncated(&(CONTEXT),TYPE,HEADERLEN,HEADER,PAYLOADLEN,PAYLOAD, 1); \
+               } \
+    }while(0)
+
+/**
+ * Trace network message, segment large messages
+ * @param CONTEXT object containing information about one special logging context
+ * @param TYPE type of network trace message
+ * @param HEADERLEN length of network message header
+ * @param HEADER pointer to network message header
+ * @param PAYLOADLEN length of network message payload
+ * @param PAYLOAD pointer to network message payload
+ */
+#define DLT_TRACE_NETWORK_SEGMENTED(CONTEXT,TYPE,HEADERLEN,HEADER,PAYLOADLEN,PAYLOAD) \
+    do { \
+       if ((CONTEXT).trace_status_ptr && *((CONTEXT).trace_status_ptr)==DLT_TRACE_STATUS_ON) \
+       { \
+               dlt_user_trace_network_segmented(&(CONTEXT),TYPE,HEADERLEN,HEADER,PAYLOADLEN,PAYLOAD); \
+       } \
     }while(0)
 
 /**
@@ -296,7 +346,10 @@ extern DltContext CONTEXT;
  */
 #define DLT_LOG_STRING(CONTEXT,LOGLEVEL,TEXT) \
     do { \
-        dlt_log_string(&(CONTEXT), LOGLEVEL, TEXT); \
+               if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
+               { \
+                       dlt_log_string(&(CONTEXT), LOGLEVEL, TEXT); \
+               } \
     } while(0)
 
 /**
@@ -308,7 +361,10 @@ extern DltContext CONTEXT;
  */
 #define DLT_LOG_STRING_INT(CONTEXT,LOGLEVEL,TEXT,INT_VAR) \
        do { \
-        dlt_log_string_int(&(CONTEXT), LOGLEVEL, TEXT, INT_VAR); \
+               if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
+               { \
+                       dlt_log_string_int(&(CONTEXT), LOGLEVEL, TEXT, INT_VAR); \
+               } \
        } while(0)
 
 /**
@@ -320,7 +376,10 @@ extern DltContext CONTEXT;
  */
 #define DLT_LOG_STRING_UINT(CONTEXT,LOGLEVEL,TEXT,UINT_VAR) \
        do { \
-               dlt_log_string_uint(&(CONTEXT),LOGLEVEL,TEXT,UINT_VAR); \
+               if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
+               { \
+                       dlt_log_string_uint(&(CONTEXT),LOGLEVEL,TEXT,UINT_VAR); \
+               } \
        } while(0)
 
 /**
@@ -331,7 +390,10 @@ extern DltContext CONTEXT;
  */
 #define DLT_LOG_UINT(CONTEXT,LOGLEVEL,UINT_VAR) \
        do { \
-               dlt_log_uint(&(CONTEXT),LOGLEVEL,UINT_VAR); \
+               if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
+               { \
+                       dlt_log_uint(&(CONTEXT),LOGLEVEL,UINT_VAR); \
+               } \
        } while(0)
 
 /**
@@ -342,7 +404,10 @@ extern DltContext CONTEXT;
  */
 #define DLT_LOG_INT(CONTEXT,LOGLEVEL,INT_VAR) \
        do { \
-               dlt_log_int(&(CONTEXT),LOGLEVEL,INT_VAR); \
+               if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
+               { \
+                       dlt_log_int(&(CONTEXT),LOGLEVEL,INT_VAR); \
+               } \
        } while(0)
 
 /**
@@ -354,7 +419,10 @@ extern DltContext CONTEXT;
  */
 #define DLT_LOG_RAW(CONTEXT,LOGLEVEL,BUF,LEN) \
        do { \
-               dlt_log_raw(&(CONTEXT),LOGLEVEL,BUF,LEN); \
+               if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
+               { \
+                       dlt_log_raw(&(CONTEXT),LOGLEVEL,BUF,LEN); \
+               } \
        } while(0)
 
 /**