Merge branch 'master' of http://olsr.org/git/olsrd
[olsrd.git] / lib / pud / nmealib / include / nmea / parse.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_PARSE_H__
19 #define __NMEA_PARSE_H__
20
21 #include <nmea/sentence.h>
22
23 #include <stdbool.h>
24 #include <stddef.h>
25
26 #ifdef  __cplusplus
27 extern "C" {
28 #endif /* __cplusplus */
29
30 const char * isInvalidNMEACharacter(const char * c);
31 const char * nmea_parse_sentence_has_invalid_chars(const char * s, const size_t len);
32
33 enum nmeaPACKTYPE nmea_parse_get_sentence_type(const char *s, const int len);
34
35 int nmea_parse_GPGGA(const char *s, const int len, bool has_checksum, nmeaGPGGA *pack);
36 int nmea_parse_GPGSA(const char *s, const int len, bool has_checksum, nmeaGPGSA *pack);
37 int nmea_parse_GPGSV(const char *s, const int len, bool has_checksum, nmeaGPGSV *pack);
38 int nmea_parse_GPRMC(const char *s, const int len, bool has_checksum, nmeaGPRMC *pack);
39 int nmea_parse_GPVTG(const char *s, const int len, bool has_checksum, nmeaGPVTG *pack);
40
41 #ifdef  __cplusplus
42 }
43 #endif /* __cplusplus */
44
45 #endif /* __NMEA_PARSE_H__ */