2 * @licence app begin@
\r
3 * Copyright (C) 2014 BMW AG
\r
5 * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
\r
7 * Contributions are licensed to the GENIVI Alliance under one or more
\r
8 * Contribution License Agreements.
\r
11 * This Source Code Form is subject to the terms of the
\r
12 * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
\r
13 * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
\r
16 * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
\r
18 * \file dlt_common_api.h
\r
19 * For further information see http://www.genivi.org/.
\r
23 /*******************************************************************************
\r
25 ** SRC-MODULE: dlt_commpn_api.h **
\r
31 ** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
37 ** PLATFORM DEPENDANT [yes/no]: yes **
39 ** TO BE CHANGED BY USER [yes/no]: no **
41 *******************************************************************************/
43 /*******************************************************************************
45 ********************************************************************************
47 ** Initials Name Company **
48 ** -------- ------------------------- ---------------------------------- **
49 ** aw Alexander Wenzel BMW **
50 *******************************************************************************/
\r
52 #ifndef DLT_COMMON_API_H
\r
53 #define DLT_COMMON_API_H
\r
58 * Create an object for a new context.
\r
59 * Common API with DLT Embedded
\r
60 * This macro has to be called first for every.
\r
61 * @param CONTEXT object containing information about one special logging context
\r
63 /* #define DLT_DECLARE_CONTEXT(CONTEXT) */
\r
67 * Use an object of a new context created in another module.
\r
68 * Common API with DLT Embedded
\r
69 * This macro has to be called first for every.
\r
70 * @param CONTEXT object containing information about one special logging context
\r
72 /* #define DLT_IMPORT_CONTEXT(CONTEXT) */
\r
76 * Register application.
\r
77 * Common API with DLT Embedded
\r
78 * @param APPID application id with maximal four characters
\r
79 * @param DESCRIPTION ASCII string containing description
\r
81 /* #define DLT_REGISTER_APP(APPID,DESCRIPTION) */
\r
85 * Register context including application (with default log level and default trace status)
\r
86 * Common API with DLT Embedded
\r
87 * @param CONTEXT object containing information about one special logging context
\r
88 * @param CONTEXTID context id with maximal four characters
\r
89 * @param APPID context id with maximal four characters
\r
90 * @param DESCRIPTION ASCII string containing description
\r
92 #define DLT_REGISTER_CONTEXT_APP(CONTEXT,CONTEXTID,APPID,DESCRIPTION) \
\r
93 DLT_REGISTER_CONTEXT(CONTEXT,CONTEXTID,DESCRIPTION)
\r
96 * Send log message with variable list of messages (intended for verbose mode)
\r
97 * Common API with DLT Embedded
\r
98 * @param CONTEXT object containing information about one special logging context
\r
99 * @param LOGLEVEL the log level of the log message
\r
100 * @param ARGS variable list of arguments
\r
102 /*****************************************/
\r
103 #define DLT_LOG0(CONTEXT,LOGLEVEL) \
\r
104 DLT_LOG(CONTEXT, LOGLEVEL )
\r
105 /*****************************************/
\r
106 #define DLT_LOG1(CONTEXT,LOGLEVEL, ARGS1) \
\r
107 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1)
\r
108 /*****************************************/
\r
109 #define DLT_LOG2(CONTEXT,LOGLEVEL, ARGS1, ARGS2) \
\r
110 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2)
\r
111 /*****************************************/
\r
112 #define DLT_LOG3(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3) \
\r
113 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3)
\r
114 /*****************************************/
\r
115 #define DLT_LOG4(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4) \
\r
116 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4)
\r
117 /*****************************************/
\r
118 #define DLT_LOG5(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5) \
\r
119 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5)
\r
120 /*****************************************/
\r
121 #define DLT_LOG6(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6) \
\r
122 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6)
\r
123 /*****************************************/
\r
124 #define DLT_LOG7(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7) \
\r
125 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7)
\r
126 /*****************************************/
\r
127 #define DLT_LOG8(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8) \
\r
128 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8)
\r
129 /*****************************************/
\r
130 #define DLT_LOG9(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9) \
\r
131 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9)
\r
132 /*****************************************/
\r
133 #define DLT_LOG10(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10) \
\r
134 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10)
\r
135 /*****************************************/
\r
136 #define DLT_LOG11(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11) \
\r
137 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11)
\r
138 /*****************************************/
\r
139 #define DLT_LOG12(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12) \
\r
140 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12)
\r
141 /*****************************************/
\r
142 #define DLT_LOG13(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13) \
\r
143 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13)
\r
144 /*****************************************/
\r
145 #define DLT_LOG14(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14) \
\r
146 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14)
\r
147 /*****************************************/
\r
148 #define DLT_LOG15(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15) \
\r
149 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15)
\r
150 /*****************************************/
\r
151 #define DLT_LOG16(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15, ARGS16) \
\r
152 DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15, ARGS16)
\r
155 * Send log message with variable list of messages (intended for non-verbose mode)
\r
156 * Common API with DLT Embedded
\r
157 * @param CONTEXT object containing information about one special logging context
\r
158 * @param LOGLEVEL the log level of the log message
\r
159 * @param MSGID the message id of log message
\r
160 * @param ARGS variable list of arguments:
\r
161 calls to DLT_STRING(), DLT_BOOL(), DLT_FLOAT32(), DLT_FLOAT64(),
\r
162 DLT_INT(), DLT_UINT(), DLT_RAW()
\r
164 /*****************************************/
\r
165 #define DLT_LOG_ID0(CONTEXT,LOGLEVEL,MSGID) \
\r
166 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID )
\r
167 /*****************************************/
\r
168 #define DLT_LOG_ID1(CONTEXT,LOGLEVEL,MSGID, ARGS1) \
\r
169 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1)
\r
170 /*****************************************/
\r
171 #define DLT_LOG_ID2(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2) \
\r
172 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2)
\r
173 /*****************************************/
\r
174 #define DLT_LOG_ID3(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3) \
\r
175 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3)
\r
176 /*****************************************/
\r
177 #define DLT_LOG_ID4(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4) \
\r
178 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4)
\r
179 /*****************************************/
\r
180 #define DLT_LOG_ID5(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5) \
\r
181 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5)
\r
182 /*****************************************/
\r
183 #define DLT_LOG_ID6(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6) \
\r
184 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6)
\r
185 /*****************************************/
\r
186 #define DLT_LOG_ID7(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7) \
\r
187 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7)
\r
188 /*****************************************/
\r
189 #define DLT_LOG_ID8(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8) \
\r
190 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8)
\r
191 /*****************************************/
\r
192 #define DLT_LOG_ID9(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9) \
\r
193 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9)
\r
194 /*****************************************/
\r
195 #define DLT_LOG_ID10(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10) \
\r
196 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10)
\r
197 /*****************************************/
\r
198 #define DLT_LOG_ID11(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11) \
\r
199 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11)
\r
200 /*****************************************/
\r
201 #define DLT_LOG_ID12(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12) \
\r
202 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12)
\r
203 /*****************************************/
\r
204 #define DLT_LOG_ID13(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13) \
\r
205 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13)
\r
206 /*****************************************/
\r
207 #define DLT_LOG_ID14(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14) \
\r
208 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14)
\r
209 /*****************************************/
\r
210 #define DLT_LOG_ID15(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15) \
\r
211 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15)
\r
212 /*****************************************/
\r
213 #define DLT_LOG_ID16(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15, ARGS16) \
\r
214 DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15, ARGS16)
\r
217 * Unregister context.
\r
218 * Common API with DLT Embedded
\r
219 * @param CONTEXT object containing information about one special logging context
\r
221 /* #define DLT_UNREGISTER_CONTEXT(CONTEXT) */
\r
225 * Unregister application.
\r
226 * Common API with DLT Embedded
\r
228 /* #define DLT_UNREGISTER_APP() */
\r
232 * Add string parameter to the log messsage.
\r
233 * Common API with DLT Embedded
\r
234 * In the future in none verbose mode the string will not be sent via DLT message.
\r
235 * @param TEXT ASCII string
\r
237 /* #define DLT_CSTRING(TEXT) */
\r
240 #endif /* DLT_COMMON_API_H */
\r