DLT_CSTRING implementation non verbose mode.
[profile/ivi/dlt-daemon.git] / include / dlt / dlt_common_api.h
1 /**\r
2  * @licence app begin@\r
3  * Copyright (C) 2014  BMW AG\r
4  *\r
5  * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.\r
6  *\r
7  * Contributions are licensed to the GENIVI Alliance under one or more\r
8  * Contribution License Agreements.\r
9  *\r
10  * \copyright\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
14  *\r
15  *\r
16  * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012\r
17  *\r
18  * \file dlt_common_api.h\r
19  * For further information see http://www.genivi.org/.\r
20  * @licence end@\r
21  */\r
22 \r
23 /*******************************************************************************\r
24 **                                                                            **\r
25 **  SRC-MODULE: dlt_commpn_api.h                                              **\r
26 **                                                                            **\r
27 **  TARGET    : linux                                                         **
28 **                                                                            **
29 **  PROJECT   : DLT                                                           **
30 **                                                                            **
31 **  AUTHOR    : Alexander Wenzel Alexander.AW.Wenzel@bmw.de                   **
32 **                                                                            **
33 **  PURPOSE   :                                                               **
34 **                                                                            **
35 **  REMARKS   :                                                               **
36 **                                                                            **
37 **  PLATFORM DEPENDANT [yes/no]: yes                                          **
38 **                                                                            **
39 **  TO BE CHANGED BY USER [yes/no]: no                                        **
40 **                                                                            **
41 *******************************************************************************/
42
43 /*******************************************************************************
44 **                      Author Identity                                       **
45 ********************************************************************************
46 **                                                                            **
47 ** Initials     Name                       Company                            **
48 ** --------     -------------------------  ---------------------------------- **
49 **  aw          Alexander Wenzel           BMW                                **
50 *******************************************************************************/\r
51 \r
52 #ifndef DLT_COMMON_API_H\r
53 #define DLT_COMMON_API_H\r
54
55 #include "dlt.h"\r
56 \r
57 /**\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
62  */\r
63 /* #define DLT_DECLARE_CONTEXT(CONTEXT) */\r
64 /* UNCHANGED */\r
65 \r
66 /**\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
71  */\r
72 /* #define DLT_IMPORT_CONTEXT(CONTEXT) */\r
73 /* UNCHANGED */\r
74 \r
75 /**\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
80  */\r
81 /* #define DLT_REGISTER_APP(APPID,DESCRIPTION) */\r
82 /* UNCHANGED */\r
83 \r
84 /**\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
91  */\r
92 #define DLT_REGISTER_CONTEXT_APP(CONTEXT,CONTEXTID,APPID,DESCRIPTION) \\r
93         DLT_REGISTER_CONTEXT(CONTEXT,CONTEXTID,DESCRIPTION)\r
94 \r
95 /**\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
101  */\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
153 \r
154 /**\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
163  */\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
215 \r
216 /**\r
217  * Unregister context.\r
218  * Common API with DLT Embedded\r
219  * @param CONTEXT object containing information about one special logging context\r
220  */\r
221 /* #define DLT_UNREGISTER_CONTEXT(CONTEXT) */\r
222 /* UNCHANGED */\r
223 \r
224 /**\r
225  * Unregister application.\r
226  * Common API with DLT Embedded\r
227  */\r
228 /* #define DLT_UNREGISTER_APP() */\r
229 /* UNCHANGED */\r
230 \r
231 /**\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
236  */\r
237 /* #define DLT_CSTRING(TEXT) */\r
238 /* UNCHANGED */\r
239 \r
240 #endif /* DLT_COMMON_API_H */\r
241 \r