| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*
- *
- * NMEA library
- * URL: http://nmea.sourceforge.net
- * Author: Tim (xtimor@gmail.com)
- * Licence: http://www.gnu.org/licenses/lgpl.html
- * $Id: parser.h 4 2007-08-27 13:11:03Z xtimor $
- *
- */
- #ifndef __NMEA_PARSER_H__
- #define __NMEA_PARSER_H__
- #include "info.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*
- * high level
- */
- typedef struct _nmeaPARSER
- {
- void *top_node;
- void *end_node;
- unsigned char *buffer;
- int buff_size;
- int buff_use;
- } nmeaPARSER;
- int nmea_parser_init(nmeaPARSER *parser);
- void nmea_parser_destroy(nmeaPARSER *parser);
- int nmea_parse(
- nmeaPARSER *parser,
- const char *buff, int buff_sz,
- nmeaINFO *info
- );
- /*
- * low level
- */
- int nmea_parser_push(nmeaPARSER *parser, const char *buff, int buff_sz);
- int nmea_parser_top(nmeaPARSER *parser);
- int nmea_parser_pop(nmeaPARSER *parser, void **pack_ptr);
- int nmea_parser_peek(nmeaPARSER *parser, void **pack_ptr);
- int nmea_parser_drop(nmeaPARSER *parser);
- int nmea_parser_buff_clear(nmeaPARSER *parser);
- int nmea_parser_queue_clear(nmeaPARSER *parser);
- #ifdef __cplusplus
- }
- #endif
- #endif /* __NMEA_PARSER_H__ */
|