MINOR: trace: make trace() now also take a level in argument

This new "level" argument will allow the trace sources to label the
traces for different purposes, and filter out some of them if they
are not relevant to the current target. Right now we have 5 different
levels:
  - USER : the least verbose one, only a few functional information
  - PAYLOAD: like user but also displays some payload-related information
  - PROTO: focuses on the protocol's framing
  - STATE: also indicate state internal transitions or non-transitions
  - DEVELOPER: adds extra info about branches taken in the code (break
    points, return points)
diff --git a/include/proto/trace.h b/include/proto/trace.h
index 7673892..7875d14 100644
--- a/include/proto/trace.h
+++ b/include/proto/trace.h
@@ -34,7 +34,7 @@
 extern struct list trace_sources;
 extern THREAD_LOCAL struct buffer trace_buf;
 
-void __trace(uint64_t mask, struct trace_source *src, const struct ist where, const struct ist msg);
+void __trace(enum trace_level level, uint64_t mask, struct trace_source *src, const struct ist where, const struct ist msg);
 
 /* return a single char to describe a trace state */
 static inline char trace_state_char(enum trace_state st)
@@ -66,10 +66,10 @@
 }
 
 /* sends a trace for the given source */
-static inline void trace(uint64_t mask, struct trace_source *src, const struct ist where, const struct ist msg)
+static inline void trace(enum trace_level level, uint64_t mask, struct trace_source *src, const struct ist where, const struct ist msg)
 {
 	if (unlikely(src->state != TRACE_STATE_STOPPED))
-		__trace(mask, src, where, msg);
+		__trace(level, mask, src, where, msg);
 }
 
 #endif /* _PROTO_TRACE_H */