DLT_CSTRING implementation non verbose mode.
[profile/ivi/dlt-daemon.git] / include / dlt / dlt_client.h
1 /**\r
2  * @licence app begin@\r
3  * Copyright (C) 2012  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_client.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 **                                                                            **\r
26 **  SRC-MODULE: dlt_client.h                                                  **\r
27 **                                                                            **\r
28 **  TARGET    : linux                                                         **
29 **                                                                            **
30 **  PROJECT   : DLT                                                           **
31 **                                                                            **
32 **  AUTHOR    : Alexander Wenzel Alexander.AW.Wenzel@bmw.de                   **
33 **              Markus Klein                                                  **
34 **                                                                            **
35 **  PURPOSE   :                                                               **
36 **                                                                            **
37 **  REMARKS   :                                                               **
38 **                                                                            **
39 **  PLATFORM DEPENDANT [yes/no]: yes                                          **
40 **                                                                            **
41 **  TO BE CHANGED BY USER [yes/no]: no                                        **
42 **                                                                            **
43 *******************************************************************************/
44
45 /*******************************************************************************
46 **                      Author Identity                                       **
47 ********************************************************************************
48 **                                                                            **
49 ** Initials     Name                       Company                            **
50 ** --------     -------------------------  ---------------------------------- **
51 **  aw          Alexander Wenzel           BMW                                **
52 **  mk          Markus Klein               Fraunhofer ESK                     **
53 *******************************************************************************/\r
54 \r
55 /*******************************************************************************\r
56 **                      Revision Control History                              **\r
57 *******************************************************************************/\r
58 \r
59 /*\r
60  * $LastChangedRevision$\r
61  * $LastChangedDate$\r
62  * $LastChangedBy$\r
63  */\r
64 \r
65 #ifndef DLT_CLIENT_H\r
66 #define DLT_CLIENT_H\r
67 \r
68 /**\r
69   \defgroup clientapi DLT Client API\r
70   \addtogroup clientapi\r
71   \{\r
72 */\r
73 \r
74 #include "dlt_types.h"\r
75 #include "dlt_common.h"\r
76 \r
77 typedef struct\r
78 {\r
79     DltReceiver receiver;  /**< receiver pointer to dlt receiver structure */\r
80     int sock;              /**< sock Connection handle/socket */\r
81     char *servIP;          /**< servIP IP adress/Hostname of TCP/IP interface */\r
82     char *serialDevice;    /**< serialDevice Devicename of serial device */\r
83     speed_t baudrate;      /**< baudrate Baudrate of serial interface, as speed_t */\r
84     int serial_mode;       /**< serial_mode Serial mode enabled =1, disabled =0 */\r
85 } DltClient;\r
86 \r
87 #ifdef __cplusplus\r
88 extern "C" {\r
89 #endif\r
90 \r
91 void dlt_client_register_message_callback(int (*registerd_callback) (DltMessage *message, void *data));
92
93 /**
94  * Initialising dlt client structure
95  * @param client pointer to dlt client structure
96  * @param verbose if set to true verbose information is printed out.
97  * @return negative value if there was an error
98  */\r
99 int dlt_client_init(DltClient *client, int verbose);
100 /**
101  * Connect to dlt daemon using the information from the dlt client structure
102  * @param client pointer to dlt client structure
103  * @param verbose if set to true verbose information is printed out.
104  * @return negative value if there was an error
105  */\r
106 int dlt_client_connect(DltClient *client, int verbose);
107 /**
108  * Cleanup dlt client structure
109  * @param client pointer to dlt client structure
110  * @param verbose if set to true verbose information is printed out.
111  * @return negative value if there was an error
112  */\r
113 int dlt_client_cleanup(DltClient *client, int verbose);
114 /**
115  * Main Loop of dlt client application
116  * @param client pointer to dlt client structure
117  * @param data pointer to data to be provided to the main loop
118  * @param verbose if set to true verbose information is printed out.
119  * @return negative value if there was an error
120  */\r
121 int dlt_client_main_loop(DltClient *client, void *data, int verbose);
122 /**\r
123  * Send ancontrol message to the dlt daemon\r
124  * @param client pointer to dlt client structure\r
125  * @param apid application id\r
126  * @param ctid context id\r
127  * @param payload Buffer filled with control message data\r
128  * @param size Size of control message data\r
129  * @return negative value if there was an error\r
130  */\r
131 int dlt_client_send_ctrl_msg(DltClient *client, char *apid, char *ctid, uint8_t *payload, uint32_t size);\r
132 /**
133  * Send an injection message to the dlt daemon
134  * @param client pointer to dlt client structure
135  * @param apid application id
136  * @param ctid context id
137  * @param serviceID service id
138  * @param buffer Buffer filled with injection message data
139  * @param size Size of injection data within buffer
140  * @return negative value if there was an error
141  */\r
142 int dlt_client_send_inject_msg(DltClient *client, char *apid, char *ctid, uint32_t serviceID, uint8_t *buffer, uint32_t size);
143 /**\r
144  * Send an set  log level message to the dlt daemon\r
145  * @param client pointer to dlt client structure\r
146  * @param apid application id\r
147  * @param ctid context id\r
148  * @param SendLogLevel Log Level\r
149  * @return negative value if there was an error\r
150  */\r
151 int dlt_client_send_log_level(DltClient *client, char *apid, char *ctid, uint8_t logLevel);\r
152 /**\r
153  * Send a set trace status message to the dlt daemon\r
154  * @param client pointer to dlt client structure\r
155  * @param apid application id\r
156  * @param ctid context id\r
157  * @param defaultTraceStatus Default Trace Status\r
158  * @return negative value if there was an error\r
159  */\r
160 int dlt_client_send_trace_status(DltClient *client, char *apid, char *ctid, uint8_t traceStatus);\r
161 /**\r
162  * Send the default log level to the dlt daemon\r
163  * @param client pointer to dlt client structure\r
164  * @param defaultLogLevel Default Log Level\r
165  * @return negative value if there was an error\r
166  */\r
167 int dlt_client_send_default_log_level(DltClient *client, uint8_t defaultLogLevel);\r
168 /**\r
169  * Send the default trace status to the dlt daemon\r
170  * @param client pointer to dlt client structure\r
171  * @param defaultTraceStatus Default Trace Status\r
172  * @return negative value if there was an error\r
173  */\r
174 int dlt_client_send_default_trace_status(DltClient *client, uint8_t defaultTraceStatus);\r
175 /**\r
176  * Send the timing pakets status to the dlt daemon\r
177  * @param client pointer to dlt client structure\r
178  * @param timingPakets Timing pakets enabled\r
179  * @return negative value if there was an error\r
180  */\r
181 int dlt_client_send_timing_pakets(DltClient *client, uint8_t timingPakets);\r
182 /**\r
183  * Send the store config command to the dlt daemon\r
184  * @param client pointer to dlt client structure\r
185  * @return negative value if there was an error\r
186  */\r
187 int dlt_client_send_store_config(DltClient *client);\r
188 /**\r
189  * Send the reset to factory default command to the dlt daemon\r
190  * @param client pointer to dlt client structure\r
191  * @return negative value if there was an error\r
192  */\r
193 int dlt_client_send_reset_to_factory_default(DltClient *client);\r
194 \r
195 /**
196  * Set baudrate within dlt client structure
197  * @param client pointer to dlt client structure
198  * @param baudrate Baudrate
199  * @return negative value if there was an error
200  */
201 int dlt_client_setbaudrate(DltClient *client, int baudrate);\r
202 \r
203 #ifdef __cplusplus\r
204 }\r
205 #endif\r
206 \r
207 /**\r
208   \}\r
209 */\r
210 \r
211 #endif /* DLT_CLIENT_H */\r