1 | /* |
1 | /* |
2 | parse.h - Part of psiconv, a PSION 5 file formats converter |
2 | parse.h - Part of psiconv, a PSION 5 file formats converter |
3 | Copyright (c) 1999, 2000 Frodo Looijaard <frodol@dds.nl> |
3 | Copyright (c) 1999-2004 Frodo Looijaard <frodol@dds.nl> |
4 | |
4 | |
5 | This program is free software; you can redistribute it and/or modify |
5 | This program is free software; you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published by |
6 | it under the terms of the GNU General Public License as published by |
7 | the Free Software Foundation; either version 2 of the License, or |
7 | the Free Software Foundation; either version 2 of the License, or |
8 | (at your option) any later version. |
8 | (at your option) any later version. |
… | |
… | |
21 | include this. */ |
21 | include this. */ |
22 | |
22 | |
23 | #ifndef PSICONV_PARSE_H |
23 | #ifndef PSICONV_PARSE_H |
24 | #define PSICONV_PARSE_H |
24 | #define PSICONV_PARSE_H |
25 | |
25 | |
|
|
26 | #include <psiconv/general.h> |
|
|
27 | #include <psiconv/configuration.h> |
|
|
28 | #include <psiconv/error.h> |
26 | #include <psiconv/data.h> |
29 | #include <psiconv/data.h> |
27 | #include <psiconv/error.h> |
30 | #include <psiconv/common.h> |
28 | #include <psiconv/list.h> |
31 | #include <psiconv/list.h> |
29 | #include <psiconv/general.h> |
32 | #include <psiconv/buffer.h> |
30 | #include <psiconv/common.h> |
|
|
31 | |
33 | |
32 | #ifdef __cplusplus |
34 | #ifdef __cplusplus |
33 | extern "C" { |
35 | extern "C" { |
34 | #endif /* __cplusplus */ |
36 | #endif /* __cplusplus */ |
35 | |
37 | |
36 | extern psiconv_file_type_t psiconv_file_type(psiconv_buffer buf, |
38 | extern psiconv_file_type_t psiconv_file_type(psiconv_config config, |
|
|
39 | psiconv_buffer buf, |
37 | int *length, |
40 | int *length, |
38 | psiconv_header_section *result); |
41 | psiconv_header_section *result); |
39 | |
42 | |
40 | /* Parses a Psion file. If its return-value is non-zero, something has |
43 | /* Parses a Psion file. If its return-value is non-zero, something has |
41 | gone horribly wrong (badly corrupted file, or out of memory, usually), |
44 | gone horribly wrong (badly corrupted file, or out of memory, usually), |
42 | and *result is undefined and unallocated; in normal cases, memory is |
45 | and *result is undefined and unallocated; in normal cases, memory is |
43 | allocated to it and it is up to you to free it (using psiconv_free_file; |
46 | allocated to it and it is up to you to free it (using psiconv_free_file; |
44 | this is valid even if (*result)->file equals NULL). |
47 | this is valid even if (*result)->file equals NULL). |
45 | Note that (*result)->file may be NULL if this file type is unknown |
48 | Note that (*result)->file may be NULL if this file type is unknown |
46 | or unsupported! */ |
49 | or unsupported! */ |
47 | extern int psiconv_parse(const psiconv_buffer buf,psiconv_file *result); |
50 | extern int psiconv_parse(psiconv_config config, |
|
|
51 | const psiconv_buffer buf,psiconv_file *result); |
48 | |
52 | |
49 | #ifdef __cplusplus |
53 | #ifdef __cplusplus |
50 | } |
54 | } |
51 | #endif /* __cplusplus */ |
55 | #endif /* __cplusplus */ |
52 | |
56 | |