summaryrefslogtreecommitdiff
path: root/src/lib/dlt_user.c
diff options
context:
space:
mode:
authorAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>2014-05-13 12:53:36 +0200
committerAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>2014-05-16 08:37:37 +0200
commite7fa1ec4a264f01165707e88d67bbbc4a4eb052a (patch)
tree086db6d507f79adce697a255398c541bbc5b138d /src/lib/dlt_user.c
parent52ee97e9a6e336b6cd03b0603b783502f9f34880 (diff)
downloadDLT-daemon-e7fa1ec4a264f01165707e88d67bbbc4a4eb052a.tar.gz
Send session/process id by default and add configuration API.
Signed-off-by: Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
Diffstat (limited to 'src/lib/dlt_user.c')
-rw-r--r--src/lib/dlt_user.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c
index dc81c27..6c55a3b 100644
--- a/src/lib/dlt_user.c
+++ b/src/lib/dlt_user.c
@@ -47,6 +47,10 @@
#include <sys/prctl.h>
#endif
+#include <sys/types.h> /* needed for getpid() */
+#include <unistd.h>
+
+
#include "dlt_user.h"
#include "dlt_user_shared.h"
#include "dlt_user_shared_cfg.h"
@@ -398,6 +402,9 @@ int dlt_init_common(void)
/* Use extended header for non verbose is enabled by default */
dlt_user.use_extende_header_for_non_verbose = DLT_USER_USE_EXTENDED_HEADER_FOR_NONVERBOSE;
+ /* WIth session id is enabled by default */
+ dlt_user.with_session_id = DLT_USER_WITH_SESSION_ID;
+
/* Local print is disabled by default */
dlt_user.enable_local_print = 0;
@@ -2719,6 +2726,22 @@ int dlt_use_extended_header_for_non_verbose(int8_t use_extende_header_for_non_ve
return 0;
}
+int dlt_with_session_id(int8_t with_session_id)
+{
+ if (dlt_user_initialised==0)
+ {
+ if (dlt_init()<0)
+ {
+ return -1;
+ }
+ }
+
+ /* Set use_extende_header_for_non_verbose */
+ dlt_user.with_session_id = with_session_id;
+
+ return 0;
+}
+
int dlt_enable_local_print(void)
{
if (dlt_user_initialised==0)
@@ -2900,6 +2923,13 @@ DltReturnValue dlt_user_log_send_log(DltContextData *log, int mtype)
msg.standardheader = (DltStandardHeader*)(msg.headerbuffer + sizeof(DltStorageHeader));
msg.standardheader->htyp = DLT_HTYP_WEID | DLT_HTYP_WTMS | DLT_HTYP_PROTOCOL_VERSION1 ;
+ /* send session id */
+ if(dlt_user.with_session_id)
+ {
+ msg.standardheader->htyp |= DLT_HTYP_WSID;
+ msg.headerextra.seid = getpid();
+ }
+
if (dlt_user.verbose_mode)
{
/* In verbose mode, send extended header */