1 /*
2     psiconv.h - Part of psiconv, a PSION 5 file formats converter
3     Copyright (c) 1999-2014  Frodo Looijaard <frodo@frodo.looijaard.name>
4 
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
7     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
9 
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14 
15     You should have received a copy of the GNU General Public License
16     along with this program; if not, write to the Free Software
17     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19 
20 #ifndef PSICONV_H
21 #define PSICONV_H
22 
23 #include <psiconv/data.h>
24 #include <psiconv/configuration.h>
25 
26 #define FORMAT_WORD             0x01
27 #define FORMAT_TEXTED           0x02
28 #define FORMAT_CLIPART_SINGLE   0x04
29 #define FORMAT_CLIPART_MULTIPLE 0x08
30 #define FORMAT_MBM_SINGLE       0x10
31 #define FORMAT_MBM_MULTIPLE     0x20
32 #define FORMAT_SKETCH           0x40
33 
34 typedef enum
35 {
36   ENCODING_UTF8,
37   ENCODING_UCS2,
38   ENCODING_PSION,
39   ENCODING_ASCII,
40   ENCODING_ASCII_HTML
41 } encoding;
42 
43 typedef int output_function(const psiconv_config config,
44                             psiconv_list list, const psiconv_file file,
45                             const char *type,
46 			    const encoding encoding_type);
47 
48 typedef struct fileformat_s {
49   const char *name;
50   const char *description;
51   int supported_format;
52   output_function *output;
53 } *fileformat;
54 
55 extern psiconv_list fileformat_list; /* of struct psiconv_fileformat */
56 
57 
58 #endif /* PSICONV_H */
59