summaryrefslogtreecommitdiff
path: root/src/daemon
diff options
context:
space:
mode:
authorJens Bocklage <jens_bocklage@mentor.com>2015-04-27 16:41:01 +0200
committerAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>2015-06-17 08:49:32 +0200
commit1ff2b808f479dab106545cc90cfb37e84bab204a (patch)
tree6a282955c980312f3742cb490fe3dc6f7e8642d2 /src/daemon
parent96c169761a27f40f6df1c541d200df470e9b176a (diff)
downloadDLT-daemon-1ff2b808f479dab106545cc90cfb37e84bab204a.tar.gz
Unified all line endings to UNIX style.
Signed-off-by: Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
Diffstat (limited to 'src/daemon')
-rwxr-xr-xsrc/daemon/dlt-daemon.h414
-rwxr-xr-xsrc/daemon/dlt-daemon_cfg.h226
-rw-r--r--src/daemon/dlt_daemon_common.h756
-rwxr-xr-xsrc/daemon/dlt_daemon_common_cfg.h238
4 files changed, 817 insertions, 817 deletions
diff --git a/src/daemon/dlt-daemon.h b/src/daemon/dlt-daemon.h
index 022387a..d6cb91f 100755
--- a/src/daemon/dlt-daemon.h
+++ b/src/daemon/dlt-daemon.h
@@ -1,207 +1,207 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt-daemon.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt-daemon.h **
-** **
-** TARGET : linux **
-** **
-** PROJECT : DLT **
-** **
-** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
-** Markus Klein **
-** **
-** PURPOSE : **
-** **
-** REMARKS : **
-** **
-** PLATFORM DEPENDANT [yes/no]: yes **
-** **
-** TO BE CHANGED BY USER [yes/no]: no **
-** **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-#ifndef DLT_DAEMON_H
-#define DLT_DAEMON_H
-
-#include <limits.h> /* for NAME_MAX */
-
-#include "dlt_daemon_common.h"
-#include "dlt_user_shared.h"
-#include "dlt_user_shared_cfg.h"
-
-
-#include <dlt_offline_trace.h>
-#include <sys/time.h>
-
-
-/**
- * The flags of a dlt daemon.
- */
-typedef struct
-{
- int aflag; /**< (Boolean) Print DLT messages; payload as ASCII */
- int sflag; /**< (Boolean) Print DLT messages; payload as hex */
- int xflag; /**< (Boolean) Print DLT messages; only headers */
- int vflag; /**< (Boolean) Verbose mode */
- int dflag; /**< (Boolean) Daemonize */
- int lflag; /**< (Boolean) Send DLT messages with serial header */
- int rflag; /**< (Boolean) Send automatic get log info response during context registration */
- int mflag; /**< (Boolean) Sync to serial header on serial connection */
- int nflag; /**< (Boolean) Sync to serial header on all TCP connections */
- char evalue[NAME_MAX + 1]; /**< (String: ECU ID) Set ECU ID (Default: ECU1) */
- char bvalue[NAME_MAX + 1]; /**< (String: Baudrate) Serial device baudrate (Default: 115200) */
- char yvalue[NAME_MAX + 1]; /**< (String: Devicename) Additional support for serial device */
- char ivalue[NAME_MAX + 1]; /**< (String: Directory) Directory where to store the persistant configuration (Default: /tmp) */
- char cvalue[NAME_MAX + 1]; /**< (String: Directory) Filename of DLT configuration file (Default: /etc/dlt.conf) */
- int sharedMemorySize; /**< (int) Size of shared memory (Default: 100000) */
- int sendMessageTime; /**< (Boolean) Send periodic Message Time if client is connected (Default: 0) */
- char offlineTraceDirectory[256]; /**< (String: Directory) Store DLT messages to local directory (Default: /etc/dlt.conf) */
- int offlineTraceFileSize; /**< (int) Maximum size in bytes of one trace file (Default: 1000000) */
- int offlineTraceMaxSize; /**< (int) Maximum size of all trace files (Default: 4000000) */
- int loggingMode; /**< (int) The logging console for internal logging of dlt-daemon (Default: 0) */
- int loggingLevel; /**< (int) The logging level for internal logging of dlt-daemon (Default: 6) */
- char loggingFilename[256]; /**< (String: Filename) The logging filename if internal logging mode is log to file (Default: /tmp/log) */
- int sendECUSoftwareVersion; /**< (Boolean) Send ECU software version perdiodically */
- char pathToECUSoftwareVersion[256]; /**< (String: Filename) The file from which to read the ECU version from. */
- int sendTimezone; /**< (Boolean) Send Timezone perdiodically */
-} DltDaemonFlags;
-
-/**
- * The global parameters of a dlt daemon.
- */
-typedef struct
-{
- DltDaemonFlags flags; /**< flags of the daemon */
- int fp; /**< handle for own fifo */
- int sock; /**< handle for tcp connection to client */
- int fdserial; /**< handle for serial connection */
- int fdmax; /**< highest number of used handles */
- fd_set master; /**< master set of handles */
- fd_set read_fds; /**< read set of handles */
- DltFile file; /**< struct for file access */
- //int ohandle; /**< handle to output file */
- DltMessage msg; /**< one dlt message */
- DltReceiver receiver; /**< receiver for fifo connection */
- DltReceiver receiverSock; /**< receiver for socket connection */
- DltReceiver receiverSerial; /**< receiver for serial connection */
- int client_connections; /**< counter for nr. of client connections */
- size_t baudrate; /**< Baudrate of serial connection */
-#ifdef DLT_SHM_ENABLE
- DltShm dlt_shm; /**< Shared memory handling */
-#endif
- DltOfflineTrace offlineTrace; /**< Offline trace handling */
-#if defined(DLT_SYSTEMD_WATCHDOG_ENABLE)
- int timer_wd; /** file descriptor for watchdog timer */
-#endif
- int timeoutOnSend;
- unsigned long RingbufferMinSize;
- unsigned long RingbufferMaxSize;
- unsigned long RingbufferStepSize;
- int timer_one_s;
- int timer_sixty_s;
-} DltDaemonLocal;
-
-typedef struct
-{
- int timer_fd;
- unsigned long long wakeups_missed;
-} DltDaemonPeriodicData;
-
-typedef struct
-{
- DltDaemon *daemon;
- DltDaemonLocal *daemon_local;
-} DltDaemonTimingPacketThreadData;
-
-typedef DltDaemonTimingPacketThreadData DltDaemonECUVersionThreadData;
-
-#define DLT_DAEMON_ERROR_OK 0
-#define DLT_DAEMON_ERROR_UNKNOWN -1
-#define DLT_DAEMON_ERROR_BUFFER_FULL -2
-#define DLT_DAEMON_ERROR_SEND_FAILED -3
-#define DLT_DAEMON_ERROR_WRITE_FAILED -4
-
-/* Function prototypes */
-void dlt_daemon_local_cleanup(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_local_init_p1(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_local_init_p2(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_local_connection_init(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_local_ecu_version_init(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-
-void dlt_daemon_daemonize(int verbose);
-void dlt_daemon_signal_handler(int sig);
-
-int dlt_daemon_process_client_connect(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_client_messages(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_client_messages_serial(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_messages(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-
-int dlt_daemon_process_user_message_overflow(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_send_message_overflow(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_message_register_application(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_message_unregister_application(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_message_register_context(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_message_unregister_context(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_message_log(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-#ifdef DLT_SHM_ENABLE
-int dlt_daemon_process_user_message_log_shm(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-#endif
-int dlt_daemon_process_user_message_set_app_ll_ts(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_message_log_mode(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_message_marker(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-
-int dlt_daemon_send_ringbuffer_to_client(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-void dlt_daemon_timingpacket_thread(void *ptr);
-void dlt_daemon_ecu_version_thread(void *ptr);
-#if defined(DLT_SYSTEMD_WATCHDOG_ENABLE)
- void dlt_daemon_systemd_watchdog_thread(void *ptr);
-#endif
-
-int create_timer_fd(DltDaemonLocal *daemon_local, int period_sec, int starts_in, int* fd, const char* timer_name);
-
-int dlt_daemon_close_socket(int sock, DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-
-#endif /* DLT_DAEMON_H */
-
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt-daemon.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt-daemon.h **
+** **
+** TARGET : linux **
+** **
+** PROJECT : DLT **
+** **
+** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
+** Markus Klein **
+** **
+** PURPOSE : **
+** **
+** REMARKS : **
+** **
+** PLATFORM DEPENDANT [yes/no]: yes **
+** **
+** TO BE CHANGED BY USER [yes/no]: no **
+** **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+#ifndef DLT_DAEMON_H
+#define DLT_DAEMON_H
+
+#include <limits.h> /* for NAME_MAX */
+
+#include "dlt_daemon_common.h"
+#include "dlt_user_shared.h"
+#include "dlt_user_shared_cfg.h"
+
+
+#include <dlt_offline_trace.h>
+#include <sys/time.h>
+
+
+/**
+ * The flags of a dlt daemon.
+ */
+typedef struct
+{
+ int aflag; /**< (Boolean) Print DLT messages; payload as ASCII */
+ int sflag; /**< (Boolean) Print DLT messages; payload as hex */
+ int xflag; /**< (Boolean) Print DLT messages; only headers */
+ int vflag; /**< (Boolean) Verbose mode */
+ int dflag; /**< (Boolean) Daemonize */
+ int lflag; /**< (Boolean) Send DLT messages with serial header */
+ int rflag; /**< (Boolean) Send automatic get log info response during context registration */
+ int mflag; /**< (Boolean) Sync to serial header on serial connection */
+ int nflag; /**< (Boolean) Sync to serial header on all TCP connections */
+ char evalue[NAME_MAX + 1]; /**< (String: ECU ID) Set ECU ID (Default: ECU1) */
+ char bvalue[NAME_MAX + 1]; /**< (String: Baudrate) Serial device baudrate (Default: 115200) */
+ char yvalue[NAME_MAX + 1]; /**< (String: Devicename) Additional support for serial device */
+ char ivalue[NAME_MAX + 1]; /**< (String: Directory) Directory where to store the persistant configuration (Default: /tmp) */
+ char cvalue[NAME_MAX + 1]; /**< (String: Directory) Filename of DLT configuration file (Default: /etc/dlt.conf) */
+ int sharedMemorySize; /**< (int) Size of shared memory (Default: 100000) */
+ int sendMessageTime; /**< (Boolean) Send periodic Message Time if client is connected (Default: 0) */
+ char offlineTraceDirectory[256]; /**< (String: Directory) Store DLT messages to local directory (Default: /etc/dlt.conf) */
+ int offlineTraceFileSize; /**< (int) Maximum size in bytes of one trace file (Default: 1000000) */
+ int offlineTraceMaxSize; /**< (int) Maximum size of all trace files (Default: 4000000) */
+ int loggingMode; /**< (int) The logging console for internal logging of dlt-daemon (Default: 0) */
+ int loggingLevel; /**< (int) The logging level for internal logging of dlt-daemon (Default: 6) */
+ char loggingFilename[256]; /**< (String: Filename) The logging filename if internal logging mode is log to file (Default: /tmp/log) */
+ int sendECUSoftwareVersion; /**< (Boolean) Send ECU software version perdiodically */
+ char pathToECUSoftwareVersion[256]; /**< (String: Filename) The file from which to read the ECU version from. */
+ int sendTimezone; /**< (Boolean) Send Timezone perdiodically */
+} DltDaemonFlags;
+
+/**
+ * The global parameters of a dlt daemon.
+ */
+typedef struct
+{
+ DltDaemonFlags flags; /**< flags of the daemon */
+ int fp; /**< handle for own fifo */
+ int sock; /**< handle for tcp connection to client */
+ int fdserial; /**< handle for serial connection */
+ int fdmax; /**< highest number of used handles */
+ fd_set master; /**< master set of handles */
+ fd_set read_fds; /**< read set of handles */
+ DltFile file; /**< struct for file access */
+ //int ohandle; /**< handle to output file */
+ DltMessage msg; /**< one dlt message */
+ DltReceiver receiver; /**< receiver for fifo connection */
+ DltReceiver receiverSock; /**< receiver for socket connection */
+ DltReceiver receiverSerial; /**< receiver for serial connection */
+ int client_connections; /**< counter for nr. of client connections */
+ size_t baudrate; /**< Baudrate of serial connection */
+#ifdef DLT_SHM_ENABLE
+ DltShm dlt_shm; /**< Shared memory handling */
+#endif
+ DltOfflineTrace offlineTrace; /**< Offline trace handling */
+#if defined(DLT_SYSTEMD_WATCHDOG_ENABLE)
+ int timer_wd; /** file descriptor for watchdog timer */
+#endif
+ int timeoutOnSend;
+ unsigned long RingbufferMinSize;
+ unsigned long RingbufferMaxSize;
+ unsigned long RingbufferStepSize;
+ int timer_one_s;
+ int timer_sixty_s;
+} DltDaemonLocal;
+
+typedef struct
+{
+ int timer_fd;
+ unsigned long long wakeups_missed;
+} DltDaemonPeriodicData;
+
+typedef struct
+{
+ DltDaemon *daemon;
+ DltDaemonLocal *daemon_local;
+} DltDaemonTimingPacketThreadData;
+
+typedef DltDaemonTimingPacketThreadData DltDaemonECUVersionThreadData;
+
+#define DLT_DAEMON_ERROR_OK 0
+#define DLT_DAEMON_ERROR_UNKNOWN -1
+#define DLT_DAEMON_ERROR_BUFFER_FULL -2
+#define DLT_DAEMON_ERROR_SEND_FAILED -3
+#define DLT_DAEMON_ERROR_WRITE_FAILED -4
+
+/* Function prototypes */
+void dlt_daemon_local_cleanup(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_local_init_p1(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_local_init_p2(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_local_connection_init(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_local_ecu_version_init(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+
+void dlt_daemon_daemonize(int verbose);
+void dlt_daemon_signal_handler(int sig);
+
+int dlt_daemon_process_client_connect(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_client_messages(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_client_messages_serial(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_messages(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+
+int dlt_daemon_process_user_message_overflow(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_send_message_overflow(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_message_register_application(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_message_unregister_application(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_message_register_context(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_message_unregister_context(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_message_log(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+#ifdef DLT_SHM_ENABLE
+int dlt_daemon_process_user_message_log_shm(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+#endif
+int dlt_daemon_process_user_message_set_app_ll_ts(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_message_log_mode(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_message_marker(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+
+int dlt_daemon_send_ringbuffer_to_client(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+void dlt_daemon_timingpacket_thread(void *ptr);
+void dlt_daemon_ecu_version_thread(void *ptr);
+#if defined(DLT_SYSTEMD_WATCHDOG_ENABLE)
+ void dlt_daemon_systemd_watchdog_thread(void *ptr);
+#endif
+
+int create_timer_fd(DltDaemonLocal *daemon_local, int period_sec, int starts_in, int* fd, const char* timer_name);
+
+int dlt_daemon_close_socket(int sock, DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+
+#endif /* DLT_DAEMON_H */
+
diff --git a/src/daemon/dlt-daemon_cfg.h b/src/daemon/dlt-daemon_cfg.h
index 24ad20e..07e68c7 100755
--- a/src/daemon/dlt-daemon_cfg.h
+++ b/src/daemon/dlt-daemon_cfg.h
@@ -1,113 +1,113 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt-daemon_cfg.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt-daemon-cfg.h **
-** **
-** TARGET : linux **
-** **
-** PROJECT : DLT **
-** **
-** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
-** Markus Klein **
-** **
-** PURPOSE : **
-** **
-** REMARKS : **
-** **
-** PLATFORM DEPENDANT [yes/no]: yes **
-** **
-** TO BE CHANGED BY USER [yes/no]: no **
-** **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-#ifndef DLT_DAEMON_CFG_H
-#define DLT_DAEMON_CFG_H
-
-/*************/
-/* Changable */
-/*************/
-
-/* Stack size of timing packet thread */
-#define DLT_DAEMON_TIMINGPACKET_THREAD_STACKSIZE 100000
-
-/* Stack size of ecu version thread */
-#define DLT_DAEMON_ECU_VERSION_THREAD_STACKSIZE 100000
-
-/* Size of receive buffer for fifo connection (from user application) */
-#define DLT_DAEMON_RCVBUFSIZE 10024
-/* Size of receive buffer for socket connection (from dlt client) */
-#define DLT_DAEMON_RCVBUFSIZESOCK 10024
-/* Size of receive buffer for serial connection (from dlt client) */
-#define DLT_DAEMON_RCVBUFSIZESERIAL 10024
-
-/* Size of buffer for text output */
-#define DLT_DAEMON_TEXTSIZE 10024
-
-/* Size of buffer */
-#define DLT_DAEMON_TEXTBUFSIZE 512
-
-/* Maximum length of a description */
-#define DLT_DAEMON_DESCSIZE 256
-
-/* Name of daemon lock file, contain process id of dlt daemon instance */
-#define DLT_DAEMON_LOCK_FILE "dltd.lock"
-
-/* Umask of daemon, creates files with permission 750 */
-#define DLT_DAEMON_UMASK 027
-/* Permissions of daemon lock file */
-#define DLT_DAEMON_LOCK_FILE_PERM 0640
-
-/* Default ECU ID, used in storage header and transmitted to client*/
-#define DLT_DAEMON_ECU_ID "ECU1"
-
-/* Default baudrate for serial interface */
-#define DLT_DAEMON_SERIAL_DEFAULT_BAUDRATE 115200
-
-/************************/
-/* Don't change please! */
-/************************/
-
-#endif /* DLT_DAEMON_CFG_H */
-
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt-daemon_cfg.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt-daemon-cfg.h **
+** **
+** TARGET : linux **
+** **
+** PROJECT : DLT **
+** **
+** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
+** Markus Klein **
+** **
+** PURPOSE : **
+** **
+** REMARKS : **
+** **
+** PLATFORM DEPENDANT [yes/no]: yes **
+** **
+** TO BE CHANGED BY USER [yes/no]: no **
+** **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+#ifndef DLT_DAEMON_CFG_H
+#define DLT_DAEMON_CFG_H
+
+/*************/
+/* Changable */
+/*************/
+
+/* Stack size of timing packet thread */
+#define DLT_DAEMON_TIMINGPACKET_THREAD_STACKSIZE 100000
+
+/* Stack size of ecu version thread */
+#define DLT_DAEMON_ECU_VERSION_THREAD_STACKSIZE 100000
+
+/* Size of receive buffer for fifo connection (from user application) */
+#define DLT_DAEMON_RCVBUFSIZE 10024
+/* Size of receive buffer for socket connection (from dlt client) */
+#define DLT_DAEMON_RCVBUFSIZESOCK 10024
+/* Size of receive buffer for serial connection (from dlt client) */
+#define DLT_DAEMON_RCVBUFSIZESERIAL 10024
+
+/* Size of buffer for text output */
+#define DLT_DAEMON_TEXTSIZE 10024
+
+/* Size of buffer */
+#define DLT_DAEMON_TEXTBUFSIZE 512
+
+/* Maximum length of a description */
+#define DLT_DAEMON_DESCSIZE 256
+
+/* Name of daemon lock file, contain process id of dlt daemon instance */
+#define DLT_DAEMON_LOCK_FILE "dltd.lock"
+
+/* Umask of daemon, creates files with permission 750 */
+#define DLT_DAEMON_UMASK 027
+/* Permissions of daemon lock file */
+#define DLT_DAEMON_LOCK_FILE_PERM 0640
+
+/* Default ECU ID, used in storage header and transmitted to client*/
+#define DLT_DAEMON_ECU_ID "ECU1"
+
+/* Default baudrate for serial interface */
+#define DLT_DAEMON_SERIAL_DEFAULT_BAUDRATE 115200
+
+/************************/
+/* Don't change please! */
+/************************/
+
+#endif /* DLT_DAEMON_CFG_H */
+
diff --git a/src/daemon/dlt_daemon_common.h b/src/daemon/dlt_daemon_common.h
index db1bc0b..4807407 100644
--- a/src/daemon/dlt_daemon_common.h
+++ b/src/daemon/dlt_daemon_common.h
@@ -1,378 +1,378 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt_daemon_common.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt_daemon_common.h **
-** **
-** TARGET : linux **
-** **
-** PROJECT : DLT **
-** **
-** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
-** Markus Klein **
-** **
-** PURPOSE : **
-** **
-** REMARKS : **
-** **
-** PLATFORM DEPENDANT [yes/no]: yes **
-** **
-** TO BE CHANGED BY USER [yes/no]: no **
-** **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Revision Control History **
-*******************************************************************************/
-
-/*
- * $LastChangedRevision: 1670 $
- * $LastChangedDate: 2011-04-08 15:12:06 +0200 (Fr, 08. Apr 2011) $
- * $LastChangedBy$
- Initials Date Comment
- aw 15.02.2010 initial
- */
-
-#ifndef DLT_DAEMON_COMMON_H
-#define DLT_DAEMON_COMMON_H
-
-/**
- \defgroup daemonapi DLT Daemon API
- \addtogroup daemonapi
- \{
-*/
-
-#include <limits.h>
-#include <semaphore.h>
-#include "dlt_common.h"
-#include "dlt_user.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define DLT_DAEMON_RINGBUFFER_MIN_SIZE 500000 /**< Ring buffer size for storing log messages while no client is connected */
-#define DLT_DAEMON_RINGBUFFER_MAX_SIZE 10000000 /**< Ring buffer size for storing log messages while no client is connected */
-#define DLT_DAEMON_RINGBUFFER_STEP_SIZE 500000 /**< Ring buffer size for storing log messages while no client is connected */
-
-#define DLT_DAEMON_SEND_TO_ALL -3 /**< Constant value to identify the command "send to all" */
-#define DLT_DAEMON_SEND_FORCE -4 /**< Constant value to identify the command "send force to all" */
-
-/* Use a semaphore or mutex from your OS to prevent concurrent access to the DLT buffer. */
-
-#define DLT_DAEMON_SEM_LOCK() { sem_wait(&dlt_daemon_mutex); }
-#define DLT_DAEMON_SEM_FREE() { sem_post(&dlt_daemon_mutex); }
-extern sem_t dlt_daemon_mutex;
-
-/**
- * Definitions of DLT daemon logging states
- */
-typedef enum
-{
- DLT_DAEMON_STATE_INIT = 0, /**< Initial state */
- DLT_DAEMON_STATE_BUFFER = 1, /**< logging is buffered until external logger is connected or internal logging is activated */
- DLT_DAEMON_STATE_BUFFER_FULL = 2, /**< then internal buffer is full, wait for connect from client */
- DLT_DAEMON_STATE_SEND_BUFFER = 3, /**< external logger is connected, but buffer is still not empty or external logger queue is full */
- DLT_DAEMON_STATE_SEND_DIRECT = 4 /**< External logger is connected or internal logging is active, and buffer is empty */
-} DltDaemonState;
-
-/**
- * The parameters of a daemon application.
- */
-typedef struct
-{
- char apid[DLT_ID_SIZE]; /**< application id */
- pid_t pid; /**< process id of user application */
- int user_handle; /**< connection handle for connection to user application */
- char *application_description; /**< context description */
- int num_contexts; /**< number of contexts for this application */
-} DltDaemonApplication;
-
-/**
- * The parameters of a daemon context.
- */
-typedef struct
-{
- char apid[DLT_ID_SIZE]; /**< application id */
- char ctid[DLT_ID_SIZE]; /**< context id */
- int8_t log_level; /**< the current log level of the context */
- int8_t trace_status; /**< the current trace status of the context */
- int log_level_pos; /**< offset of context in context field on user application */
- int user_handle; /**< connection handle for connection to user application */
- char *context_description; /**< context description */
-} DltDaemonContext;
-
-/**
- * The parameters of a daemon.
- */
-typedef struct
-{
- int num_contexts; /**< Total number of all contexts in all applications */
- DltDaemonContext *contexts; /**< Pointer to contexts */
- int num_applications; /**< Number of available application */
- DltDaemonApplication *applications; /**< Pointer to applications */
- int8_t default_log_level; /**< Default log level (of daemon) */
- int8_t default_trace_status; /**< Default trace status (of daemon) */
- unsigned int overflow_counter; /**< counts the number of lost messages. */
- int runtime_context_cfg_loaded; /**< Set to one, if runtime context configuration has been loaded, zero otherwise */
- char ecuid[DLT_ID_SIZE]; /**< ECU ID of daemon */
- int sendserialheader; /**< 1: send serial header; 0 don't send serial header */
- int timingpackets; /**< 1: send continous timing packets; 0 don't send continous timing packets */
- DltBuffer client_ringbuffer; /**< Ring-buffer for storing received logs while no client connection is available */
- char runtime_application_cfg[PATH_MAX + 1]; /**< Path and filename of persistent application configuration. Set to path max, as it specifies a full path*/
- char runtime_context_cfg[PATH_MAX + 1]; /**< Path and filename of persistent context configuration */
- char runtime_configuration[PATH_MAX + 1]; /**< Path and filename of persistent configuration */
- DltUserLogMode mode; /**< Mode used for tracing: off, external, internal, both */
- char connectionState; /**< state for tracing: 0 = no client connected, 1 = client connected */
- char *ECUVersionString; /**< Version string to send to client. Loaded from a file at startup. May be null. */
- DltDaemonState state; /**< the current logging state of dlt daemon. */
-} DltDaemon;
-
-/**
- * Initialise the dlt daemon structure
- * This function must be called before using further dlt daemon structure
- * @param daemon pointer to dlt daemon structure
- * @param RingbufferMinSize ringbuffer size
- * @param RingbufferMaxSize ringbuffer size
- * @param RingbufferStepSize ringbuffer size
- * @param runtime_directory Directory of persistent configuration
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_init(DltDaemon *daemon,unsigned long RingbufferMinSize,unsigned long RingbufferMaxSize,unsigned long RingbufferStepSize,const char *runtime_directory,int verbose);
-/**
- * De-Initialise the dlt daemon structure
- * @param daemon pointer to dlt daemon structure
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_free(DltDaemon *daemon,int verbose);
-
-/**
- * Add (new) application to internal application management
- * @param daemon pointer to dlt daemon structure
- * @param apid pointer to application id
- * @param pid process id of user application
- * @param description description of application
- * @param verbose if set to true verbose information is printed out.
- * @return Pointer to added context, null pointer on error
- */
-DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pid_t pid,char *description, int verbose);
-/**
- * Delete application from internal application management
- * @param daemon pointer to dlt daemon structure
- * @param application pointer to application to be deleted
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_application_del(DltDaemon *daemon, DltDaemonApplication *application, int verbose);
-/**
- * Find application with specific application id
- * @param daemon pointer to dlt daemon structure
- * @param apid pointer to application id
- * @param verbose if set to true verbose information is printed out.
- * @return Pointer to application, null pointer on error or not found
- */
-DltDaemonApplication* dlt_daemon_application_find(DltDaemon *daemon,char *apid,int verbose);
-/**
- * Load applications from file to internal context management
- * @param daemon pointer to dlt daemon structure
- * @param filename name of file to be used for loading
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_applications_load(DltDaemon *daemon,const char *filename, int verbose);
-/**
- * Save applications from internal context management to file
- * @param daemon pointer to dlt daemon structure
- * @param filename name of file to be used for saving
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_applications_save(DltDaemon *daemon,const char *filename, int verbose);
-/**
- * Invalidate all applications fd, if fd is reused
- * @param daemon pointer to dlt daemon structure
- * @param fd file descriptor
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_applications_invalidate_fd(DltDaemon *daemon,int fd,int verbose);
-/**
- * Clear all applications in internal application management
- * @param daemon pointer to dlt daemon structure
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_applications_clear(DltDaemon *daemon,int verbose);
-
-/**
- * Add (new) context to internal context management
- * @param daemon pointer to dlt daemon structure
- * @param apid pointer to application id
- * @param ctid pointer to context id
- * @param log_level log level of context
- * @param trace_status trace status of context
- * @param log_level_pos offset of context in context field on user application
- * @param user_handle connection handle for connection to user application
- * @param description description of context
- * @param verbose if set to true verbose information is printed out.
- * @return Pointer to added context, null pointer on error
- */
-DltDaemonContext* dlt_daemon_context_add(DltDaemon *daemon,char *apid,char *ctid,int8_t log_level,int8_t trace_status,int log_level_pos, int user_handle,char *description,int verbose);
-/**
- * Delete context from internal context management
- * @param daemon pointer to dlt daemon structure
- * @param context pointer to context to be deleted
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_context_del(DltDaemon *daemon, DltDaemonContext* context, int verbose);
-/**
- * Find context with specific application id and context id
- * @param daemon pointer to dlt daemon structure
- * @param apid pointer to application id
- * @param ctid pointer to context id
- * @param verbose if set to true verbose information is printed out.
- * @return Pointer to context, null pointer on error or not found
- */
-DltDaemonContext* dlt_daemon_context_find(DltDaemon *daemon,char *apid,char *ctid,int verbose);
-/**
- * Invalidate all contexts fd, if fd is reused
- * @param daemon pointer to dlt daemon structure
- * @param fd file descriptor
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_contexts_invalidate_fd(DltDaemon *daemon,int fd,int verbose);
-/**
- * Clear all contexts in internal context management
- * @param daemon pointer to dlt daemon structure
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_contexts_clear(DltDaemon *daemon,int verbose);
-/**
- * Load contexts from file to internal context management
- * @param daemon pointer to dlt daemon structure
- * @param filename name of file to be used for loading
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_contexts_load(DltDaemon *daemon,const char *filename, int verbose);
-/**
- * Save contexts from internal context management to file
- * @param daemon pointer to dlt daemon structure
- * @param filename name of file to be used for saving
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_contexts_save(DltDaemon *daemon,const char *filename, int verbose);
-/**
- * Load persistant configuration
- * @param daemon pointer to dlt daemon structure
- * @param filename name of file to be used for loading
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_configuration_load(DltDaemon *daemon,const char *filename, int verbose);
-/**
- * Save configuration persistantly
- * @param daemon pointer to dlt daemon structure
- * @param filename name of file to be used for saving
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_configuration_save(DltDaemon *daemon,const char *filename, int verbose);
-
-
-/**
- * Send user message DLT_USER_MESSAGE_LOG_LEVEL to user application
- * @param daemon pointer to dlt daemon structure
- * @param context pointer to context for response
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_user_send_log_level(DltDaemon *daemon,DltDaemonContext *context, int verbose);
-
-/**
- * Send user message DLT_USER_MESSAGE_LOG_STATE to user application
- * @param daemon pointer to dlt daemon structure
- * @param app pointer to application for response
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_user_send_log_state(DltDaemon *daemon,DltDaemonApplication *app,int verbose);
-
-/**
- * Send user messages to all user applications using default context, or trace status
- * to update those values
- * @param daemon pointer to dlt daemon structure
- * @param verbose if set to true verbose information is printed out.
- */
-void dlt_daemon_user_send_default_update(DltDaemon *daemon, int verbose);
-
-/**
- * Send user messages to all user applications the log status
- * everytime the client is connected or disconnected.
- * @param daemon pointer to dlt daemon structure
- * @param verbose if set to true verbose information is printed out.
- */
-void dlt_daemon_user_send_all_log_state(DltDaemon *daemon, int verbose);
-
-/**
- * Process reset to factory default control message
- * @param daemon pointer to dlt daemon structure
- * @param filename name of file containing the runtime defaults for applications
- * @param filename1 name of file containing the runtime defaults for contexts
- * @param verbose if set to true verbose information is printed out.
- */
-void dlt_daemon_control_reset_to_factory_default(DltDaemon *daemon,const char *filename, const char *filename1, int verbose);
-
-/**
- * Change the logging state of dlt daemon
- * @param daemon pointer to dlt daemon structure
- * @param newState the requested new state
- */
-void dlt_daemon_change_state(DltDaemon *daemon, DltDaemonState newState);
-
-#ifdef __cplusplus
-}
-#endif
-
-/**
- \}
-*/
-
-#endif /* DLT_DAEMON_COMMON_H */
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt_daemon_common.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt_daemon_common.h **
+** **
+** TARGET : linux **
+** **
+** PROJECT : DLT **
+** **
+** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
+** Markus Klein **
+** **
+** PURPOSE : **
+** **
+** REMARKS : **
+** **
+** PLATFORM DEPENDANT [yes/no]: yes **
+** **
+** TO BE CHANGED BY USER [yes/no]: no **
+** **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+/*******************************************************************************
+** Revision Control History **
+*******************************************************************************/
+
+/*
+ * $LastChangedRevision: 1670 $
+ * $LastChangedDate: 2011-04-08 15:12:06 +0200 (Fr, 08. Apr 2011) $
+ * $LastChangedBy$
+ Initials Date Comment
+ aw 15.02.2010 initial
+ */
+
+#ifndef DLT_DAEMON_COMMON_H
+#define DLT_DAEMON_COMMON_H
+
+/**
+ \defgroup daemonapi DLT Daemon API
+ \addtogroup daemonapi
+ \{
+*/
+
+#include <limits.h>
+#include <semaphore.h>
+#include "dlt_common.h"
+#include "dlt_user.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define DLT_DAEMON_RINGBUFFER_MIN_SIZE 500000 /**< Ring buffer size for storing log messages while no client is connected */
+#define DLT_DAEMON_RINGBUFFER_MAX_SIZE 10000000 /**< Ring buffer size for storing log messages while no client is connected */
+#define DLT_DAEMON_RINGBUFFER_STEP_SIZE 500000 /**< Ring buffer size for storing log messages while no client is connected */
+
+#define DLT_DAEMON_SEND_TO_ALL -3 /**< Constant value to identify the command "send to all" */
+#define DLT_DAEMON_SEND_FORCE -4 /**< Constant value to identify the command "send force to all" */
+
+/* Use a semaphore or mutex from your OS to prevent concurrent access to the DLT buffer. */
+
+#define DLT_DAEMON_SEM_LOCK() { sem_wait(&dlt_daemon_mutex); }
+#define DLT_DAEMON_SEM_FREE() { sem_post(&dlt_daemon_mutex); }
+extern sem_t dlt_daemon_mutex;
+
+/**
+ * Definitions of DLT daemon logging states
+ */
+typedef enum
+{
+ DLT_DAEMON_STATE_INIT = 0, /**< Initial state */
+ DLT_DAEMON_STATE_BUFFER = 1, /**< logging is buffered until external logger is connected or internal logging is activated */
+ DLT_DAEMON_STATE_BUFFER_FULL = 2, /**< then internal buffer is full, wait for connect from client */
+ DLT_DAEMON_STATE_SEND_BUFFER = 3, /**< external logger is connected, but buffer is still not empty or external logger queue is full */
+ DLT_DAEMON_STATE_SEND_DIRECT = 4 /**< External logger is connected or internal logging is active, and buffer is empty */
+} DltDaemonState;
+
+/**
+ * The parameters of a daemon application.
+ */
+typedef struct
+{
+ char apid[DLT_ID_SIZE]; /**< application id */
+ pid_t pid; /**< process id of user application */
+ int user_handle; /**< connection handle for connection to user application */
+ char *application_description; /**< context description */
+ int num_contexts; /**< number of contexts for this application */
+} DltDaemonApplication;
+
+/**
+ * The parameters of a daemon context.
+ */
+typedef struct
+{
+ char apid[DLT_ID_SIZE]; /**< application id */
+ char ctid[DLT_ID_SIZE]; /**< context id */
+ int8_t log_level; /**< the current log level of the context */
+ int8_t trace_status; /**< the current trace status of the context */
+ int log_level_pos; /**< offset of context in context field on user application */
+ int user_handle; /**< connection handle for connection to user application */
+ char *context_description; /**< context description */
+} DltDaemonContext;
+
+/**
+ * The parameters of a daemon.
+ */
+typedef struct
+{
+ int num_contexts; /**< Total number of all contexts in all applications */
+ DltDaemonContext *contexts; /**< Pointer to contexts */
+ int num_applications; /**< Number of available application */
+ DltDaemonApplication *applications; /**< Pointer to applications */
+ int8_t default_log_level; /**< Default log level (of daemon) */
+ int8_t default_trace_status; /**< Default trace status (of daemon) */
+ unsigned int overflow_counter; /**< counts the number of lost messages. */
+ int runtime_context_cfg_loaded; /**< Set to one, if runtime context configuration has been loaded, zero otherwise */
+ char ecuid[DLT_ID_SIZE]; /**< ECU ID of daemon */
+ int sendserialheader; /**< 1: send serial header; 0 don't send serial header */
+ int timingpackets; /**< 1: send continous timing packets; 0 don't send continous timing packets */
+ DltBuffer client_ringbuffer; /**< Ring-buffer for storing received logs while no client connection is available */
+ char runtime_application_cfg[PATH_MAX + 1]; /**< Path and filename of persistent application configuration. Set to path max, as it specifies a full path*/
+ char runtime_context_cfg[PATH_MAX + 1]; /**< Path and filename of persistent context configuration */
+ char runtime_configuration[PATH_MAX + 1]; /**< Path and filename of persistent configuration */
+ DltUserLogMode mode; /**< Mode used for tracing: off, external, internal, both */
+ char connectionState; /**< state for tracing: 0 = no client connected, 1 = client connected */
+ char *ECUVersionString; /**< Version string to send to client. Loaded from a file at startup. May be null. */
+ DltDaemonState state; /**< the current logging state of dlt daemon. */
+} DltDaemon;
+
+/**
+ * Initialise the dlt daemon structure
+ * This function must be called before using further dlt daemon structure
+ * @param daemon pointer to dlt daemon structure
+ * @param RingbufferMinSize ringbuffer size
+ * @param RingbufferMaxSize ringbuffer size
+ * @param RingbufferStepSize ringbuffer size
+ * @param runtime_directory Directory of persistent configuration
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_init(DltDaemon *daemon,unsigned long RingbufferMinSize,unsigned long RingbufferMaxSize,unsigned long RingbufferStepSize,const char *runtime_directory,int verbose);
+/**
+ * De-Initialise the dlt daemon structure
+ * @param daemon pointer to dlt daemon structure
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_free(DltDaemon *daemon,int verbose);
+
+/**
+ * Add (new) application to internal application management
+ * @param daemon pointer to dlt daemon structure
+ * @param apid pointer to application id
+ * @param pid process id of user application
+ * @param description description of application
+ * @param verbose if set to true verbose information is printed out.
+ * @return Pointer to added context, null pointer on error
+ */
+DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pid_t pid,char *description, int verbose);
+/**
+ * Delete application from internal application management
+ * @param daemon pointer to dlt daemon structure
+ * @param application pointer to application to be deleted
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_application_del(DltDaemon *daemon, DltDaemonApplication *application, int verbose);
+/**
+ * Find application with specific application id
+ * @param daemon pointer to dlt daemon structure
+ * @param apid pointer to application id
+ * @param verbose if set to true verbose information is printed out.
+ * @return Pointer to application, null pointer on error or not found
+ */
+DltDaemonApplication* dlt_daemon_application_find(DltDaemon *daemon,char *apid,int verbose);
+/**
+ * Load applications from file to internal context management
+ * @param daemon pointer to dlt daemon structure
+ * @param filename name of file to be used for loading
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_applications_load(DltDaemon *daemon,const char *filename, int verbose);
+/**
+ * Save applications from internal context management to file
+ * @param daemon pointer to dlt daemon structure
+ * @param filename name of file to be used for saving
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_applications_save(DltDaemon *daemon,const char *filename, int verbose);
+/**
+ * Invalidate all applications fd, if fd is reused
+ * @param daemon pointer to dlt daemon structure
+ * @param fd file descriptor
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_applications_invalidate_fd(DltDaemon *daemon,int fd,int verbose);
+/**
+ * Clear all applications in internal application management
+ * @param daemon pointer to dlt daemon structure
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_applications_clear(DltDaemon *daemon,int verbose);
+
+/**
+ * Add (new) context to internal context management
+ * @param daemon pointer to dlt daemon structure
+ * @param apid pointer to application id
+ * @param ctid pointer to context id
+ * @param log_level log level of context
+ * @param trace_status trace status of context
+ * @param log_level_pos offset of context in context field on user application
+ * @param user_handle connection handle for connection to user application
+ * @param description description of context
+ * @param verbose if set to true verbose information is printed out.
+ * @return Pointer to added context, null pointer on error
+ */
+DltDaemonContext* dlt_daemon_context_add(DltDaemon *daemon,char *apid,char *ctid,int8_t log_level,int8_t trace_status,int log_level_pos, int user_handle,char *description,int verbose);
+/**
+ * Delete context from internal context management
+ * @param daemon pointer to dlt daemon structure
+ * @param context pointer to context to be deleted
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_context_del(DltDaemon *daemon, DltDaemonContext* context, int verbose);
+/**
+ * Find context with specific application id and context id
+ * @param daemon pointer to dlt daemon structure
+ * @param apid pointer to application id
+ * @param ctid pointer to context id
+ * @param verbose if set to true verbose information is printed out.
+ * @return Pointer to context, null pointer on error or not found
+ */
+DltDaemonContext* dlt_daemon_context_find(DltDaemon *daemon,char *apid,char *ctid,int verbose);
+/**
+ * Invalidate all contexts fd, if fd is reused
+ * @param daemon pointer to dlt daemon structure
+ * @param fd file descriptor
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_contexts_invalidate_fd(DltDaemon *daemon,int fd,int verbose);
+/**
+ * Clear all contexts in internal context management
+ * @param daemon pointer to dlt daemon structure
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_contexts_clear(DltDaemon *daemon,int verbose);
+/**
+ * Load contexts from file to internal context management
+ * @param daemon pointer to dlt daemon structure
+ * @param filename name of file to be used for loading
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_contexts_load(DltDaemon *daemon,const char *filename, int verbose);
+/**
+ * Save contexts from internal context management to file
+ * @param daemon pointer to dlt daemon structure
+ * @param filename name of file to be used for saving
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_contexts_save(DltDaemon *daemon,const char *filename, int verbose);
+/**
+ * Load persistant configuration
+ * @param daemon pointer to dlt daemon structure
+ * @param filename name of file to be used for loading
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_configuration_load(DltDaemon *daemon,const char *filename, int verbose);
+/**
+ * Save configuration persistantly
+ * @param daemon pointer to dlt daemon structure
+ * @param filename name of file to be used for saving
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_configuration_save(DltDaemon *daemon,const char *filename, int verbose);
+
+
+/**
+ * Send user message DLT_USER_MESSAGE_LOG_LEVEL to user application
+ * @param daemon pointer to dlt daemon structure
+ * @param context pointer to context for response
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_user_send_log_level(DltDaemon *daemon,DltDaemonContext *context, int verbose);
+
+/**
+ * Send user message DLT_USER_MESSAGE_LOG_STATE to user application
+ * @param daemon pointer to dlt daemon structure
+ * @param app pointer to application for response
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_user_send_log_state(DltDaemon *daemon,DltDaemonApplication *app,int verbose);
+
+/**
+ * Send user messages to all user applications using default context, or trace status
+ * to update those values
+ * @param daemon pointer to dlt daemon structure
+ * @param verbose if set to true verbose information is printed out.
+ */
+void dlt_daemon_user_send_default_update(DltDaemon *daemon, int verbose);
+
+/**
+ * Send user messages to all user applications the log status
+ * everytime the client is connected or disconnected.
+ * @param daemon pointer to dlt daemon structure
+ * @param verbose if set to true verbose information is printed out.
+ */
+void dlt_daemon_user_send_all_log_state(DltDaemon *daemon, int verbose);
+
+/**
+ * Process reset to factory default control message
+ * @param daemon pointer to dlt daemon structure
+ * @param filename name of file containing the runtime defaults for applications
+ * @param filename1 name of file containing the runtime defaults for contexts
+ * @param verbose if set to true verbose information is printed out.
+ */
+void dlt_daemon_control_reset_to_factory_default(DltDaemon *daemon,const char *filename, const char *filename1, int verbose);
+
+/**
+ * Change the logging state of dlt daemon
+ * @param daemon pointer to dlt daemon structure
+ * @param newState the requested new state
+ */
+void dlt_daemon_change_state(DltDaemon *daemon, DltDaemonState newState);
+
+#ifdef __cplusplus
+}
+#endif
+
+/**
+ \}
+*/
+
+#endif /* DLT_DAEMON_COMMON_H */
diff --git a/src/daemon/dlt_daemon_common_cfg.h b/src/daemon/dlt_daemon_common_cfg.h
index ba28f24..914767a 100755
--- a/src/daemon/dlt_daemon_common_cfg.h
+++ b/src/daemon/dlt_daemon_common_cfg.h
@@ -1,119 +1,119 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt_daemon_common_cfg.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt_daemon_common_cfg.h **
-** **
-** TARGET : linux **
-** **
-** PROJECT : DLT **
-** **
-** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
-** Markus Klein **
-** **
-** PURPOSE : **
-** **
-** REMARKS : **
-** **
-** PLATFORM DEPENDANT [yes/no]: yes **
-** **
-** TO BE CHANGED BY USER [yes/no]: no **
-** **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-#ifndef DLT_DAEMON_COMMON_CFG_H
-#define DLT_DAEMON_COMMON_CFG_H
-
-/*************/
-/* Changable */
-/*************/
-
-/* Default Path for runtime configuration */
-#define DLT_RUNTIME_DEFAULT_DIRECTORY "/tmp"
-/* Path and filename for runtime configuration (applications) */
-#define DLT_RUNTIME_APPLICATION_CFG "/dlt-runtime-application.cfg"
-/* Path and filename for runtime configuration (contexts) */
-#define DLT_RUNTIME_CONTEXT_CFG "/dlt-runtime-context.cfg"
-/* Path and filename for runtime configuration */
-#define DLT_RUNTIME_CONFIGURATION "/dlt-runtime.cfg"
-
-/* Size of text buffer */
-#define DLT_DAEMON_COMMON_TEXTBUFSIZE 255
-
-/* Initial log level */
-#define DLT_DAEMON_INITIAL_LOG_LEVEL DLT_LOG_INFO
-/* Initial trace status */
-#define DLT_DAEMON_INITIAL_TRACE_STATUS DLT_TRACE_STATUS_OFF
-
-/* Application ID used when the dlt daemon creates a control message */
-#define DLT_DAEMON_CTRL_APID "DA1"
-/* Context ID used when the dlt daemon creates a control message */
-#define DLT_DAEMON_CTRL_CTID "DC1"
-
-/* Number of entries to be allocated at one in application table,
- when no more entries are available */
-#define DLT_DAEMON_APPL_ALLOC_SIZE 500
-/* Number of entries to be allocated at one in context table,
- when no more entries are available */
-#define DLT_DAEMON_CONTEXT_ALLOC_SIZE 1000
-
-/* Debug get log info function,
- set to 1 to enable, 0 to disable debugging */
-#define DLT_DEBUG_GETLOGINFO 0
-
-/************************/
-/* Don't change please! */
-/************************/
-
-/* Minimum ID for an injection message */
-#define DLT_DAEMON_INJECTION_MIN 0xFFF
-/* Maximum ID for an injection message */
-#define DLT_DAEMON_INJECTION_MAX 0xFFFFFFFF
-
-/* Remote interface identifier */
-#define DLT_DAEMON_REMO_STRING "remo"
-
-#endif /* DLT_DAEMON_COMMON_CFG_H */
-
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt_daemon_common_cfg.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt_daemon_common_cfg.h **
+** **
+** TARGET : linux **
+** **
+** PROJECT : DLT **
+** **
+** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
+** Markus Klein **
+** **
+** PURPOSE : **
+** **
+** REMARKS : **
+** **
+** PLATFORM DEPENDANT [yes/no]: yes **
+** **
+** TO BE CHANGED BY USER [yes/no]: no **
+** **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+#ifndef DLT_DAEMON_COMMON_CFG_H
+#define DLT_DAEMON_COMMON_CFG_H
+
+/*************/
+/* Changable */
+/*************/
+
+/* Default Path for runtime configuration */
+#define DLT_RUNTIME_DEFAULT_DIRECTORY "/tmp"
+/* Path and filename for runtime configuration (applications) */
+#define DLT_RUNTIME_APPLICATION_CFG "/dlt-runtime-application.cfg"
+/* Path and filename for runtime configuration (contexts) */
+#define DLT_RUNTIME_CONTEXT_CFG "/dlt-runtime-context.cfg"
+/* Path and filename for runtime configuration */
+#define DLT_RUNTIME_CONFIGURATION "/dlt-runtime.cfg"
+
+/* Size of text buffer */
+#define DLT_DAEMON_COMMON_TEXTBUFSIZE 255
+
+/* Initial log level */
+#define DLT_DAEMON_INITIAL_LOG_LEVEL DLT_LOG_INFO
+/* Initial trace status */
+#define DLT_DAEMON_INITIAL_TRACE_STATUS DLT_TRACE_STATUS_OFF
+
+/* Application ID used when the dlt daemon creates a control message */
+#define DLT_DAEMON_CTRL_APID "DA1"
+/* Context ID used when the dlt daemon creates a control message */
+#define DLT_DAEMON_CTRL_CTID "DC1"
+
+/* Number of entries to be allocated at one in application table,
+ when no more entries are available */
+#define DLT_DAEMON_APPL_ALLOC_SIZE 500
+/* Number of entries to be allocated at one in context table,
+ when no more entries are available */
+#define DLT_DAEMON_CONTEXT_ALLOC_SIZE 1000
+
+/* Debug get log info function,
+ set to 1 to enable, 0 to disable debugging */
+#define DLT_DEBUG_GETLOGINFO 0
+
+/************************/
+/* Don't change please! */
+/************************/
+
+/* Minimum ID for an injection message */
+#define DLT_DAEMON_INJECTION_MIN 0xFFF
+/* Maximum ID for an injection message */
+#define DLT_DAEMON_INJECTION_MAX 0xFFFFFFFF
+
+/* Remote interface identifier */
+#define DLT_DAEMON_REMO_STRING "remo"
+
+#endif /* DLT_DAEMON_COMMON_CFG_H */
+