summaryrefslogtreecommitdiff
path: root/src/system/dlt-system.h
blob: 2c5825a6365befa0229ed6c71a35afccd5ff8c1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/**
 * @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-system.h
 * For further information see http://www.genivi.org/.
 * @licence end@
 */


/*******************************************************************************
**                                                                            **
**  SRC-MODULE: dlt-system.h                                                  **
**                                                                            **
**  TARGET    : linux                                                         **
**                                                                            **
**  PROJECT   : DLT                                                           **
**                                                                            **
**  AUTHOR    : Alexander Wenzel Alexander.AW.Wenzel@bmw.de                   **
**                                                                            **
**  PURPOSE   :                                                               **
**                                                                            **
**  REMARKS   :                                                               **
**                                                                            **
**  PLATFORM DEPENDANT [yes/no]: yes                                          **
**                                                                            **
**  TO BE CHANGED BY USER [yes/no]: no                                        **
**                                                                            **
*******************************************************************************/

/*******************************************************************************
**                      Author Identity                                       **
********************************************************************************
**                                                                            **
** Initials     Name                       Company                            **
** --------     -------------------------  ---------------------------------- **
**  aw          Alexander Wenzel           BMW                                **
*******************************************************************************/

/*******************************************************************************
**                      Revision Control History                              **
*******************************************************************************/

#ifndef DLT_SYSTEM_H
#define DLT_SYSTEM_H

#define DLT_SYSTEM_MODE_OFF 0
#define DLT_SYSTEM_MODE_STARTUP 1
#define DLT_SYSTEM_MODE_REGULAR 2

#define DLT_SYSTEM_LOG_FILE_MAX 32
#define DLT_SYSTEM_LOG_PROCESSES_MAX 32

typedef struct {
	char ConfigurationFile[256];
	char ApplicationId[256];
	int  daemonise;

	int  SyslogEnable;					/*# Enable the Syslog Adapter (Default: 0)*/
	char SyslogContextId[256];			/*# The Context Id of the syslog adapter (Default: SYSL)*/
	int  SyslogPort;					/*# The UDP port opened by DLT system mamager to receive system logs (Default: 47111)*/
	
	int  FiletransferEnable;			/*# Enable the Filetransfer (Default: 0)*/
	char FiletransferDirectory1[256];	/*# Directory which contains files to be transfered over DLT (Default: /tmp/filetransfer)# Files are deleted after Filetransfer is finished and after TimeDelay expired*/
	char FiletransferDirectory2[256];
	char FiletransferContextId[256];	/*# The Context Id of the filetransfer (Default: FILE)*/
	int  FiletransferTimeStartup;		/*# Time after startup of dlt-system when first file is transfered (Default: 30)# Time in seconds*/
	int  FiletransferTimeDelay;			/*# Time to wait when transfered file is deleted and next file transfer starts (Default: 10)# Time in seconds*/
	int  FiletransferTimeoutBetweenLogs;/*# Waits a period of time between two file transfer logs of a single file to DLT to ensure that the FIFO of DLT is not flooded.*/

	/*# Log different files
	# Mode: 0 = off, 1 = startup only, 2 = regular
	# TimeDelay: If mode regular is set, time delay is the number of seconds for next sent
	*/
	int  LogFileEnable;					/*# Enable the logging of files (Default: 0)*/
	int  LogFileNumber;
	char LogFileFilename[DLT_SYSTEM_LOG_FILE_MAX][256];
	int  LogFileMode[DLT_SYSTEM_LOG_FILE_MAX];
	int  LogFileTimeDelay[DLT_SYSTEM_LOG_FILE_MAX];
	char LogFileContextId[DLT_SYSTEM_LOG_FILE_MAX][256];

	int  LogProcessesEnable;			/*# Enable the logging of processes (Default: 0)*/
	char LogProcessesContextId[256];	/*# The Context Id of the kernel version (Default: PROC)*/

	/*# Log different processes
	# Name: * = all process, X=alternative name (must correspind to /proc/X/cmdline
	# Filename: the filename in the subdirectory /proc/processid/
	# Mode: 0 = off, 1 = startup only, 2 = regular
	# TimeDelay: If mode regular is set, time delay is the number of seconds for next sent
	*/
	int  LogProcessNumber;
	char LogProcessName[DLT_SYSTEM_LOG_PROCESSES_MAX][256];
	char LogProcessFilename[DLT_SYSTEM_LOG_PROCESSES_MAX][256];
	int  LogProcessMode[DLT_SYSTEM_LOG_PROCESSES_MAX];
	int  LogProcessTimeDelay[DLT_SYSTEM_LOG_PROCESSES_MAX];
} DltSystemOptions;

typedef struct {
	int  timeStartup;	/* time in seconds since startup of dlt-system */
	int  timeFiletransferDelay;	/* time in seconds to start next filetransfer */
	char filetransferFile[256];
	long int filetransferFilesize;
	int  timeLogFileDelay[DLT_SYSTEM_LOG_FILE_MAX];	/* time in seconds to start next file log */
	int  timeLogProcessDelay[DLT_SYSTEM_LOG_PROCESSES_MAX];	/* time in seconds to start next process log */
	int	 filetransferRunning; 	/* 0 = stooped, 1 = running */
	int  filetransferCountPackages; /* number of packets to be transfered */
	int  filetransferLastSentPackage; /* last packet sent starting from 1 */
} DltSystemRuntime;

#endif /* DLT_SYSTEM_H */