--- psiconv/trunk/lib/psiconv/parse_routines.h 1999/12/04 20:53:11 45 +++ psiconv/trunk/lib/psiconv/parse_routines.h 2000/12/15 00:21:51 64 @@ -1,6 +1,6 @@ /* parse_routines.h - Part of psiconv, a PSION 5 file formats converter - Copyright (c) 1999 Frodo Looijaard + Copyright (c) 1999, 2000 Frodo Looijaard This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,24 +20,20 @@ #ifndef PSICONV_PARSE_ROUTINES_H #define PSICONV_PARSE_ROUTINES_H -#include "data.h" -#include "parse.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + /* *************** - * parse_aux.c * + * misc.c * *************** */ -/* These functions print error, warning, progress and debug information to - stderr */ -extern void psiconv_fatal(int level, psiconv_u32 off, const char *format,...); -extern void psiconv_warn(int level, psiconv_u32 off, const char *format,...); -extern void psiconv_progress(int level, psiconv_u32 off, - const char *format,...); -extern void psiconv_debug(int level, psiconv_u32 off, const char *format,...); - /* This function returns a copy of a string, that contains no ASCII codes that are not printable. You should free this string yourself when you are - done with it. */ + done with it. Returns NULL if there is not enough memory left. */ extern char *psiconv_make_printable(const char *s); /* ************** @@ -52,22 +48,25 @@ ****************** */ extern psiconv_u8 psiconv_read_u8(const psiconv_buffer buf,int lev, - psiconv_u32 off); + psiconv_u32 off, int *status); extern psiconv_u16 psiconv_read_u16(const psiconv_buffer buf,int lev, - psiconv_u32 off); + psiconv_u32 off, int *status); extern psiconv_u32 psiconv_read_u32(const psiconv_buffer buf,int lev, - psiconv_u32 off); + psiconv_u32 off, int *status); extern psiconv_S_t psiconv_read_S(const psiconv_buffer buf, int lev, - psiconv_u32 off, int *length); + psiconv_u32 off, int *length, int *status); extern psiconv_X_t psiconv_read_X(const psiconv_buffer buf, int lev, - psiconv_u32 off, int *length); + psiconv_u32 off, int *length, int *status); extern psiconv_length_t psiconv_read_length(const psiconv_buffer buf, int lev, - psiconv_u32 off, int *length); + psiconv_u32 off, int *length, + int *status); extern psiconv_size_t psiconv_read_size (const psiconv_buffer buf, int lev, - psiconv_u32 off, int *length); + psiconv_u32 off, int *length, + int *status); extern psiconv_string_t psiconv_read_string(const psiconv_buffer buf,int lev, - psiconv_u32 off,int *length); + psiconv_u32 off,int *length, + int *status); extern int psiconv_parse_bool(const psiconv_buffer buf, int lev, psiconv_u32 off, int *length, @@ -98,6 +97,12 @@ psiconv_u32 off, int *length, psiconv_tab *result); +/* Note: the next two are special, because they modify an existing + layout structure! If it exits due to an unexpected error, part + of the structure may be modified, but it is still safe to call + psiconv_free_{paragraph,character}_layout_list on it (and that + is the only safe thing to do!) */ + extern int psiconv_parse_paragraph_layout_list(const psiconv_buffer buf, int lev, psiconv_u32 off, int *length, psiconv_paragraph_layout result); @@ -218,5 +223,8 @@ extern int psiconv_parse_clipart_file(const psiconv_buffer buf,int lev, psiconv_u32 off, psiconv_clipart_f *result); +#ifdef __cplusplus +} +#endif /* __cplusplus */ #endif /* PSICONV_PARSE_ROUTINES_H */