/[public]/psiconv/trunk/lib/psiconv/parse_routines.h
ViewVC logotype

Contents of /psiconv/trunk/lib/psiconv/parse_routines.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 167 - (show annotations)
Sun Nov 23 21:47:24 2003 UTC (20 years, 4 months ago) by frodo
File MIME type: text/plain
File size: 16003 byte(s)
(Frodo) Embedded object generation works!

Not too useful though, we also need sketch or sheet generation; the only thing
actually working at the moment is embedding word docs within word docs.
Oh well. It's a good start.

1 /*
2 parse_routines.h - Part of psiconv, a PSION 5 file formats converter
3 Copyright (c) 1999, 2000 Frodo Looijaard <frodol@dds.nl>
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_PARSE_ROUTINES_H
21 #define PSICONV_PARSE_ROUTINES_H
22
23 #include <psiconv/general.h>
24 #include <psiconv/data.h>
25 #include <psiconv/buffer.h>
26 #include <psiconv/common.h>
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif /* __cplusplus */
31
32
33 /* ******************
34 * parse_simple.c *
35 ****************** */
36
37 extern psiconv_u8 psiconv_read_u8(const psiconv_buffer buf,int lev,
38 psiconv_u32 off, int *status);
39 extern psiconv_u16 psiconv_read_u16(const psiconv_buffer buf,int lev,
40 psiconv_u32 off, int *status);
41 extern psiconv_u32 psiconv_read_u32(const psiconv_buffer buf,int lev,
42 psiconv_u32 off, int *status);
43 extern psiconv_s32 psiconv_read_sint(const psiconv_buffer buf,int lev,
44 psiconv_u32 off, int *length, int *status);
45
46 extern psiconv_S_t psiconv_read_S(const psiconv_buffer buf, int lev,
47 psiconv_u32 off, int *length, int *status);
48 extern psiconv_X_t psiconv_read_X(const psiconv_buffer buf, int lev,
49 psiconv_u32 off, int *length, int *status);
50 extern psiconv_length_t psiconv_read_length(const psiconv_buffer buf, int lev,
51 psiconv_u32 off, int *length,
52 int *status);
53 extern psiconv_size_t psiconv_read_size (const psiconv_buffer buf, int lev,
54 psiconv_u32 off, int *length,
55 int *status);
56 extern psiconv_string_t psiconv_read_string(const psiconv_buffer buf,int lev,
57 psiconv_u32 off,int *length,
58 int *status);
59 extern psiconv_string_t psiconv_read_short_string(const psiconv_buffer buf,
60 int lev,psiconv_u32 off,
61 int *length,int *status);
62
63 extern int psiconv_parse_bool(const psiconv_buffer buf, int lev,
64 psiconv_u32 off, int *length,
65 psiconv_bool_t *result);
66
67 extern psiconv_float_t psiconv_read_float(const psiconv_buffer buf, int lev,
68 psiconv_u32 off, int *length, int *status);
69
70
71
72 /* ******************
73 * parse_layout.c *
74 ****************** */
75
76 extern int psiconv_parse_color(const psiconv_buffer buf, int lev,
77 psiconv_u32 off, int *length,
78 psiconv_color *result);
79
80 extern int psiconv_parse_font(const psiconv_buffer buf, int lev,
81 psiconv_u32 off, int *length,
82 psiconv_font *result);
83
84 extern int psiconv_parse_border(const psiconv_buffer buf,int lev,
85 psiconv_u32 off, int *length,
86 psiconv_border *result);
87
88 extern int psiconv_parse_bullet(const psiconv_buffer buf,int lev,
89 psiconv_u32 off, int *length,
90 psiconv_bullet *result);
91
92 extern int psiconv_parse_tab(const psiconv_buffer buf, int lev,
93 psiconv_u32 off, int *length,
94 psiconv_tab *result);
95
96 /* Note: the next two are special, because they modify an existing
97 layout structure! If it exits due to an unexpected error, part
98 of the structure may be modified, but it is still safe to call
99 psiconv_free_{paragraph,character}_layout_list on it (and that
100 is the only safe thing to do!) */
101
102 extern int psiconv_parse_paragraph_layout_list(const psiconv_buffer buf,
103 int lev, psiconv_u32 off, int *length,
104 psiconv_paragraph_layout result);
105
106 extern int psiconv_parse_character_layout_list(const psiconv_buffer buf,
107 int lev, psiconv_u32 off, int *length,
108 psiconv_character_layout result);
109
110
111 /* ****************
112 * parse_page.c *
113 **************** */
114
115 extern int psiconv_parse_page_header(const psiconv_buffer buf,int lev,
116 psiconv_u32 off, int *length,
117 psiconv_page_header *result);
118
119 extern int psiconv_parse_page_layout_section(const psiconv_buffer buf,int lev,
120 psiconv_u32 off, int *length,
121 psiconv_page_layout_section *result);
122
123 /* ******************
124 * parse_common.c *
125 ****************** */
126
127 extern int psiconv_parse_header_section(const psiconv_buffer buf,int lev,
128 psiconv_u32 off, int *length,
129 psiconv_header_section *result);
130
131 extern int psiconv_parse_section_table_section(const psiconv_buffer buf,
132 int lev, psiconv_u32 off,
133 int *length,
134 psiconv_section_table_section *result);
135
136 extern int psiconv_parse_application_id_section(const psiconv_buffer buf,
137 int lev, psiconv_u32 off, int *length,
138 psiconv_application_id_section *result);
139
140 extern int psiconv_parse_text_section(const psiconv_buffer buf,int lev,
141 psiconv_u32 off, int *length,
142 psiconv_text_and_layout *result);
143
144 extern int psiconv_parse_styled_layout_section(const psiconv_buffer buf,
145 int lev,psiconv_u32 off,
146 int *length,
147 psiconv_text_and_layout result,
148 const psiconv_word_styles_section styles);
149 extern int psiconv_parse_styleless_layout_section(const psiconv_buffer buf,
150 int lev,psiconv_u32 off,
151 int *length,
152 psiconv_text_and_layout result,
153 const psiconv_character_layout base_char,
154 const psiconv_paragraph_layout base_para);
155 extern int psiconv_parse_embedded_object_section
156 (const psiconv_buffer buf, int lev,
157 psiconv_u32 off, int *length,
158 psiconv_embedded_object_section *result);
159 extern int psiconv_parse_object_display_section(const psiconv_buffer buf,
160 int lev,
161 psiconv_u32 off, int *length,
162 psiconv_object_display_section *result);
163 extern int psiconv_parse_object_icon_section(const psiconv_buffer buf,int lev,
164 psiconv_u32 off, int *length,
165 psiconv_object_icon_section *result);
166
167
168
169
170
171 /* ******************
172 * parse_texted.c *
173 ****************** */
174
175 extern int psiconv_parse_texted_section(const psiconv_buffer buf,int lev,
176 psiconv_u32 off, int *length,
177 psiconv_texted_section *result,
178 psiconv_character_layout base_char,
179 psiconv_paragraph_layout base_para);
180
181
182 /* ****************
183 * parse_word.c *
184 **************** */
185
186 extern int psiconv_parse_word_status_section(const psiconv_buffer buf, int lev,
187 psiconv_u32 off, int *length,
188 psiconv_word_status_section *result);
189
190 extern int psiconv_parse_word_styles_section(const psiconv_buffer buf, int lev,
191 psiconv_u32 off, int *length,
192 psiconv_word_styles_section *result);
193
194
195 /* *****************
196 * parse_sheet.c *
197 ***************** */
198
199 extern int psiconv_parse_sheet_status_section(const psiconv_buffer buf, int lev,
200 psiconv_u32 off, int *length,
201 psiconv_sheet_status_section *result);
202
203 extern int psiconv_parse_sheet_formula_list(const psiconv_buffer buf, int lev,
204 psiconv_u32 off, int *length,
205 psiconv_formula_list *result);
206
207 extern int psiconv_parse_formula(const psiconv_buffer buf, int lev,
208 psiconv_u32 off, int *length,
209 psiconv_formula *result);
210
211 extern int psiconv_parse_sheet_workbook_section(const psiconv_buffer buf,
212 int lev,
213 psiconv_u32 off, int *length,
214 psiconv_sheet_workbook_section *result);
215 extern int psiconv_parse_sheet_cell(const psiconv_buffer buf, int lev,
216 psiconv_u32 off, int *length,
217 psiconv_sheet_cell *result,
218 const psiconv_sheet_cell_layout default_layout,
219 const psiconv_sheet_line_list row_default_layouts,
220 const psiconv_sheet_line_list col_default_layouts);
221
222 extern int psiconv_parse_sheet_cell_list(const psiconv_buffer buf, int lev,
223 psiconv_u32 off, int *length,
224 psiconv_sheet_cell_list *result,
225 const psiconv_sheet_cell_layout default_layout,
226 const psiconv_sheet_line_list row_default_layouts,
227 const psiconv_sheet_line_list col_default_layouts);
228 extern int psiconv_parse_sheet_worksheet_list( const psiconv_buffer buf,
229 int lev,
230 psiconv_u32 off, int *length,
231 psiconv_sheet_worksheet_list *result);
232 extern int psiconv_parse_sheet_worksheet(const psiconv_buffer buf, int lev,
233 psiconv_u32 off, int *length,
234 psiconv_sheet_worksheet *result);
235 extern int psiconv_parse_sheet_numberformat(const psiconv_buffer buf, int lev,
236 psiconv_u32 off, int *length,
237 psiconv_sheet_numberformat result);
238 extern int psiconv_parse_sheet_cell_layout(const psiconv_buffer buf, int lev,
239 psiconv_u32 off, int *length,
240 psiconv_sheet_cell_layout result);
241 extern int psiconv_parse_sheet_line(const psiconv_buffer buf, int lev,
242 psiconv_u32 off, int *length,
243 psiconv_sheet_line *result,
244 const psiconv_sheet_cell_layout default_layout);
245 extern int psiconv_parse_sheet_line_list(const psiconv_buffer buf, int lev,
246 psiconv_u32 off, int *length,
247 psiconv_sheet_line_list *result,
248 const psiconv_sheet_cell_layout default_layout);
249 extern int psiconv_parse_sheet_name_section(const psiconv_buffer buf, int lev,
250 psiconv_u32 off, int *length,
251 psiconv_sheet_name_section *result);
252 extern int psiconv_parse_sheet_info_section(const psiconv_buffer buf, int lev,
253 psiconv_u32 off, int *length,
254 psiconv_sheet_info_section *result);
255 extern int psiconv_parse_sheet_variable(const psiconv_buffer buf, int lev,
256 psiconv_u32 off, int *length,
257 psiconv_sheet_variable *result);
258 extern int psiconv_parse_sheet_variable_list(const psiconv_buffer buf, int lev,
259 psiconv_u32 off, int *length,
260 psiconv_sheet_variable_list *result);
261 extern int psiconv_parse_sheet_grid_section(const psiconv_buffer buf, int lev,
262 psiconv_u32 off, int *length,
263 psiconv_sheet_grid_section *result);
264 extern int psiconv_parse_sheet_grid_size_list(const psiconv_buffer buf, int lev,
265 psiconv_u32 off, int *length,
266 psiconv_sheet_grid_size_list *result);
267 extern int psiconv_parse_sheet_grid_size(const psiconv_buffer buf, int lev,
268 psiconv_u32 off, int *length,
269 psiconv_sheet_grid_size *result);
270 extern int psiconv_parse_sheet_grid_break_list(const psiconv_buffer buf,
271 int lev, psiconv_u32 off, int *length,
272 psiconv_sheet_grid_break_list *result);
273
274
275
276
277 /* *****************
278 * parse_image.c *
279 ***************** */
280
281 extern int psiconv_parse_paint_data_section(const psiconv_buffer buf,int lev,
282 psiconv_u32 off, int *length,
283 int isclipart,
284 psiconv_paint_data_section *result);
285
286 extern int psiconv_parse_jumptable_section(const psiconv_buffer buf,int lev,
287 psiconv_u32 off, int *length,
288 psiconv_jumptable_section *result);
289 extern int psiconv_parse_sketch_section(const psiconv_buffer buf, int lev,
290 psiconv_u32 off, int *length,
291 psiconv_sketch_section *result);
292 extern int psiconv_parse_clipart_section(const psiconv_buffer buf, int lev,
293 psiconv_u32 off, int *length,
294 psiconv_clipart_section *result);
295
296
297
298
299
300 /* ****************
301 * parse_driver.c *
302 **************** */
303
304 extern int psiconv_parse_texted_file(const psiconv_buffer buf,int lev,
305 psiconv_u32 off, psiconv_texted_f *result);
306
307 extern int psiconv_parse_word_file(const psiconv_buffer buf,int lev,
308 psiconv_u32 off, psiconv_word_f *result);
309
310 extern int psiconv_parse_mbm_file(const psiconv_buffer buf,int lev,
311 psiconv_u32 off, psiconv_mbm_f *result);
312
313 extern int psiconv_parse_sketch_file(const psiconv_buffer buf,int lev,
314 psiconv_u32 off, psiconv_sketch_f *result);
315
316 extern int psiconv_parse_clipart_file(const psiconv_buffer buf,int lev,
317 psiconv_u32 off, psiconv_clipart_f *result);
318 extern int psiconv_parse_sheet_file(const psiconv_buffer buf,int lev,
319 psiconv_u32 off, psiconv_sheet_f *result);
320
321 #ifdef __cplusplus
322 }
323 #endif /* __cplusplus */
324
325 #endif /* PSICONV_PARSE_ROUTINES_H */

frodo@frodo.looijaard.name
ViewVC Help
Powered by ViewVC 1.1.26