pud: update nmealib to 2.0.0
[olsrd.git] / lib / pud / nmealib / include / nmea / context.h
1 /*
2  * This file is part of nmealib.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17
18 #ifndef __NMEA_CONTEXT_H__
19 #define __NMEA_CONTEXT_H__
20
21 /** the default size for the temporary buffers */
22 #define NMEA_DEF_PARSEBUFF  1024
23
24 /** the minimum size for the temporary buffers */
25 #define NMEA_MIN_PARSEBUFF  256
26
27 #ifdef  __cplusplus
28 extern "C" {
29 #endif /* __cplusplus */
30
31 /**
32  * Function type definition for tracing
33  *
34  * @param str the string to trace
35  * @param str_size the length of the string
36  */
37 typedef void (*nmeaTraceFunc)(const char *str, int str_size);
38
39 /**
40  * Function type definition for error logging
41  *
42  * @param str the string to log
43  * @param str_size the length of the string
44  */
45 typedef void (*nmeaErrorFunc)(const char *str, int str_size);
46
47 void nmea_context_set_trace_func(nmeaTraceFunc func);
48 void nmea_context_set_error_func(nmeaErrorFunc func);
49 void nmea_context_set_buffer_size(int buff_size);
50 int nmea_context_get_buffer_size(void);
51
52 void nmea_trace(const char *str, ...) __attribute__ ((format(printf, 1, 2)));
53 void nmea_trace_buff(const char *buff, int buff_size);
54 void nmea_error(const char *str, ...) __attribute__ ((format(printf, 1, 2)));
55
56 #ifdef  __cplusplus
57 }
58 #endif /* __cplusplus */
59
60 #endif /* __NMEA_CONTEXT_H__ */