pud: include nmealib v1.0.0
[olsrd.git] / lib / pud / nmealib / include / nmea / parse.h
1 /*
2  * This file is part of nmealib.
3  *
4  * Copyright (c) 2008 Timur Sinitsyn
5  * Copyright (c) 2011 Ferry Huberts
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  */
20
21 #ifndef __NMEA_PARSE_H__
22 #define __NMEA_PARSE_H__
23
24 #include <nmea/sentence.h>
25
26 #include <stdbool.h>
27 #include <stddef.h>
28
29 #ifdef  __cplusplus
30 extern "C" {
31 #endif
32
33 bool nmea_parse_sentence_has_invalid_chars(const char * str, const size_t strlen, const char * strName, char * report,
34                 const size_t reportSize);
35
36 int nmea_parse_get_sentence_type(const char *s, const int len);
37 int nmea_parse_get_sentence_length(const char *s, const int len, int *checksum);
38
39 int nmea_parse_GPGGA(const char *s, const int len, nmeaGPGGA *pack);
40 int nmea_parse_GPGSA(const char *s, const int len, nmeaGPGSA *pack);
41 int nmea_parse_GPGSV(const char *s, const int len, nmeaGPGSV *pack);
42 int nmea_parse_GPRMC(const char *s, const int len, nmeaGPRMC *pack);
43 int nmea_parse_GPVTG(const char *s, const int len, nmeaGPVTG *pack);
44
45 #ifdef  __cplusplus
46 }
47 #endif
48
49 #endif /* __NMEA_PARSE_H__ */