#ifndef C_WRAP_H_
#define C_WRAP_H_

#ifdef __cplusplus
extern "C" 
{
#endif

struct parser_callbacks
{
    int     (*getline)(char*, int len, int*, void*);      void  *gl_opaque;
    char*   (*get_pos)(int *line, void *opaque);          void  *gp_opaque;
    int     (*get_eof)(void *opaque);                     void  *ge_opaque;
    void    (*report_error)(const char *buf, void*op);    void  *re_opaque;
};

int  init_parser (struct parser_callbacks *pc);
void close_parser();
char *get_parsed_line(char *buf, int maxlen, int *ignore);

#ifdef __cplusplus
}
#endif

#endif
