--- psiconv/trunk/lib/psiconv/parse.h 2000/12/13 16:30:21 63 +++ psiconv/trunk/lib/psiconv/parse.h 2003/11/25 17:57:05 168 @@ -26,18 +26,29 @@ #include #include #include +#include #include +#include +#include #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ -typedef psiconv_list psiconv_buffer; /* of u8 */ - -extern psiconv_file_type_t psiconv_file_type(psiconv_buffer buf, +extern psiconv_file_type_t psiconv_file_type(psiconv_config config, + psiconv_buffer buf, int *length, psiconv_header_section *result); -extern int psiconv_parse(const psiconv_buffer buf,psiconv_file *result); + +/* Parses a Psion file. If its return-value is non-zero, something has + gone horribly wrong (badly corrupted file, or out of memory, usually), + and *result is undefined and unallocated; in normal cases, memory is + allocated to it and it is up to you to free it (using psiconv_free_file; + this is valid even if (*result)->file equals NULL). + Note that (*result)->file may be NULL if this file type is unknown + or unsupported! */ +extern int psiconv_parse(psiconv_config config, + const psiconv_buffer buf,psiconv_file *result); #ifdef __cplusplus }