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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 2 Revision 173
1/* 1/*
2 parse_routines.h - Part of psiconv, a PSION 5 file formats converter 2 parse_routines.h - Part of psiconv, a PSION 5 file formats converter
3 Copyright (c) 1999 Frodo Looijaard <frodol@dds.nl> 3 Copyright (c) 1999, 2000 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.
18*/ 18*/
19 19
20#ifndef PSICONV_PARSE_ROUTINES_H 20#ifndef PSICONV_PARSE_ROUTINES_H
21#define PSICONV_PARSE_ROUTINES_H 21#define PSICONV_PARSE_ROUTINES_H
22 22
23#include "data.h" 23#include <psiconv/configuration.h>
24#include "parse.h" 24#include <psiconv/general.h>
25#include <psiconv/data.h>
26#include <psiconv/buffer.h>
27#include <psiconv/common.h>
28#include <psiconv/parse.h>
25 29
26/* *************** 30#ifdef __cplusplus
27 * parse_aux.c * 31extern "C" {
28 *************** */ 32#endif /* __cplusplus */
29 33
30/* These functions print error, warning, progress and debug information to
31 stderr */
32extern void psiconv_fatal(int level, psiconv_u32 off, const char *format,...);
33extern void psiconv_warn(int level, psiconv_u32 off, const char *format,...);
34extern void psiconv_progress(int level, psiconv_u32 off,
35 const char *format,...);
36extern void psiconv_debug(int level, psiconv_u32 off, const char *format,...);
37
38/* This function returns a copy of a string, that contains no ASCII codes
39 that are not printable. You should free this string yourself when you are
40 done with it. */
41extern char *psiconv_make_printable(const char *s);
42
43/* **************
44 * checkuid.c *
45 ************** */
46
47extern psiconv_u32 psiconv_checkuid(psiconv_u32 uid1,
48 psiconv_u32 uid2,psiconv_u32 uid3);
49 34
50/* ****************** 35/* ******************
51 * parse_simple.c * 36 * parse_simple.c *
52 ****************** */ 37 ****************** */
53 38
54extern psiconv_u8 psiconv_read_u8(const psiconv_buffer buf,int lev, 39extern psiconv_u8 psiconv_read_u8(const psiconv_config config,
55 psiconv_u32 off);
56extern psiconv_u16 psiconv_read_u16(const psiconv_buffer buf,int lev,
57 psiconv_u32 off); 40 const psiconv_buffer buf,int lev,
58extern psiconv_u32 psiconv_read_u32(const psiconv_buffer buf,int lev,
59 psiconv_u32 off);
60
61extern psiconv_S_t psiconv_read_S(const psiconv_buffer buf, int lev,
62 psiconv_u32 off, int *length); 41 psiconv_u32 off, int *status);
63extern psiconv_X_t psiconv_read_X(const psiconv_buffer buf, int lev, 42extern psiconv_u16 psiconv_read_u16(const psiconv_config config,
43 const psiconv_buffer buf,int lev,
44 psiconv_u32 off, int *status);
45extern psiconv_u32 psiconv_read_u32(const psiconv_config config,
46 const psiconv_buffer buf,int lev,
47 psiconv_u32 off, int *status);
48extern psiconv_s32 psiconv_read_sint(const psiconv_config config,
49 const psiconv_buffer buf,int lev,
50 psiconv_u32 off, int *length, int *status);
51
52extern psiconv_S_t psiconv_read_S(const psiconv_config config,
53 const psiconv_buffer buf, int lev,
64 psiconv_u32 off, int *length); 54 psiconv_u32 off, int *length, int *status);
55extern psiconv_X_t psiconv_read_X(const psiconv_config config,
56 const psiconv_buffer buf, int lev,
57 psiconv_u32 off, int *length, int *status);
65extern psiconv_length_t psiconv_read_length(const psiconv_buffer buf, int lev, 58extern psiconv_length_t psiconv_read_length(const psiconv_config config,
59 const psiconv_buffer buf, int lev,
66 psiconv_u32 off, int *length); 60 psiconv_u32 off, int *length,
61 int *status);
67extern psiconv_size_t psiconv_read_size (const psiconv_buffer buf, int lev, 62extern psiconv_size_t psiconv_read_size (const psiconv_config config,
63 const psiconv_buffer buf, int lev,
68 psiconv_u32 off, int *length); 64 psiconv_u32 off, int *length,
65 int *status);
69extern psiconv_string_t psiconv_read_string(const psiconv_buffer buf,int lev, 66extern psiconv_string_t psiconv_read_string(const psiconv_config config,
67 const psiconv_buffer buf,int lev,
70 psiconv_u32 off,int *length); 68 psiconv_u32 off,int *length,
69 int *status);
70extern psiconv_string_t psiconv_read_short_string(const psiconv_config config,
71 const psiconv_buffer buf,
72 int lev,psiconv_u32 off,
73 int *length,int *status);
71 74
72extern int psiconv_parse_bool(const psiconv_buffer buf, int lev, 75extern int psiconv_parse_bool(const psiconv_config config,
76 const psiconv_buffer buf, int lev,
73 psiconv_u32 off, int *length, 77 psiconv_u32 off, int *length,
74 psiconv_bool_t *result); 78 psiconv_bool_t *result);
79
80extern psiconv_float_t psiconv_read_float(const psiconv_config config,
81 const psiconv_buffer buf, int lev,
82 psiconv_u32 off, int *length, int *status);
83
75 84
76 85
77/* ****************** 86/* ******************
78 * parse_layout.c * 87 * parse_layout.c *
79 ****************** */ 88 ****************** */
80 89
81extern int psiconv_parse_color(const psiconv_buffer buf, int lev, 90extern int psiconv_parse_color(const psiconv_config config,
91 const psiconv_buffer buf, int lev,
82 psiconv_u32 off, int *length, 92 psiconv_u32 off, int *length,
83 psiconv_color *result); 93 psiconv_color *result);
84 94
85extern int psiconv_parse_font(const psiconv_buffer buf, int lev, 95extern int psiconv_parse_font(const psiconv_config config,
96 const psiconv_buffer buf, int lev,
86 psiconv_u32 off, int *length, 97 psiconv_u32 off, int *length,
87 psiconv_font *result); 98 psiconv_font *result);
88 99
89extern int psiconv_parse_border(const psiconv_buffer buf,int lev, 100extern int psiconv_parse_border(const psiconv_config config,
101 const psiconv_buffer buf,int lev,
90 psiconv_u32 off, int *length, 102 psiconv_u32 off, int *length,
91 psiconv_border *result); 103 psiconv_border *result);
92 104
93extern int psiconv_parse_bullet(const psiconv_buffer buf,int lev, 105extern int psiconv_parse_bullet(const psiconv_config config,
106 const psiconv_buffer buf,int lev,
94 psiconv_u32 off, int *length, 107 psiconv_u32 off, int *length,
95 psiconv_bullet *result); 108 psiconv_bullet *result);
96 109
97extern int psiconv_parse_tab(const psiconv_buffer buf, int lev, 110extern int psiconv_parse_tab(const psiconv_config config,
111 const psiconv_buffer buf, int lev,
98 psiconv_u32 off, int *length, 112 psiconv_u32 off, int *length,
99 psiconv_tab *result); 113 psiconv_tab *result);
100 114
115/* Note: the next two are special, because they modify an existing
116 layout structure! If it exits due to an unexpected error, part
117 of the structure may be modified, but it is still safe to call
118 psiconv_free_{paragraph,character}_layout_list on it (and that
119 is the only safe thing to do!) */
120
101extern int psiconv_parse_paragraph_layout_list(const psiconv_buffer buf, 121extern int psiconv_parse_paragraph_layout_list(const psiconv_config config,
122 const psiconv_buffer buf,
102 int lev, psiconv_u32 off, int *length, 123 int lev, psiconv_u32 off, int *length,
103 psiconv_paragraph_layout result); 124 psiconv_paragraph_layout result);
104 125
105extern int psiconv_parse_character_layout_list(const psiconv_buffer buf, 126extern int psiconv_parse_character_layout_list(const psiconv_config config,
127 const psiconv_buffer buf,
106 int lev, psiconv_u32 off, int *length, 128 int lev, psiconv_u32 off, int *length,
107 psiconv_character_layout result); 129 psiconv_character_layout result);
108 130
109 131
110/* **************** 132/* ****************
111 * parse_page.c * 133 * parse_page.c *
112 **************** */ 134 **************** */
113 135
114extern int psiconv_parse_page_header(const psiconv_buffer buf,int lev, 136extern int psiconv_parse_page_header(const psiconv_config config,
137 const psiconv_buffer buf,int lev,
115 psiconv_u32 off, int *length, 138 psiconv_u32 off, int *length,
116 psiconv_page_header *result); 139 psiconv_page_header *result);
117 140
118extern int psiconv_parse_page_layout_section(const psiconv_buffer buf,int lev, 141extern int psiconv_parse_page_layout_section(const psiconv_config config,
142 const psiconv_buffer buf,int lev,
119 psiconv_u32 off, int *length, 143 psiconv_u32 off, int *length,
120 psiconv_page_layout_section *result); 144 psiconv_page_layout_section *result);
121 145
122/* ****************** 146/* ******************
123 * parse_common.c * 147 * parse_common.c *
124 ****************** */ 148 ****************** */
125 149
126extern int psiconv_parse_header_section(const psiconv_buffer buf,int lev, 150extern int psiconv_parse_header_section(const psiconv_config config,
151 const psiconv_buffer buf,int lev,
127 psiconv_u32 off, int *length, 152 psiconv_u32 off, int *length,
128 psiconv_header_section *result); 153 psiconv_header_section *result);
129 154
130extern int psiconv_parse_section_table_section(const psiconv_buffer buf, 155extern int psiconv_parse_section_table_section(const psiconv_config config,
156 const psiconv_buffer buf,
131 int lev, psiconv_u32 off, 157 int lev, psiconv_u32 off,
132 int *length, 158 int *length,
133 psiconv_section_table_section *result); 159 psiconv_section_table_section *result);
134 160
135extern int psiconv_parse_application_id_section(const psiconv_buffer buf, 161extern int psiconv_parse_application_id_section(const psiconv_config config,
162 const psiconv_buffer buf,
136 int lev, psiconv_u32 off, int *length, 163 int lev, psiconv_u32 off, int *length,
137 psiconv_application_id_section *result); 164 psiconv_application_id_section *result);
138 165
139extern int psiconv_parse_text_section(const psiconv_buffer buf,int lev, 166extern int psiconv_parse_text_section(const psiconv_config config,
167 const psiconv_buffer buf,int lev,
140 psiconv_u32 off, int *length, 168 psiconv_u32 off, int *length,
141 psiconv_text_and_layout *result); 169 psiconv_text_and_layout *result);
142 170
143extern int psiconv_parse_styled_layout_section(const psiconv_buffer buf, 171extern int psiconv_parse_styled_layout_section(const psiconv_config config,
172 const psiconv_buffer buf,
144 int lev,psiconv_u32 off, 173 int lev,psiconv_u32 off,
145 int *length, 174 int *length,
146 psiconv_text_and_layout result, 175 psiconv_text_and_layout result,
147 psiconv_word_styles_section styles); 176 const psiconv_word_styles_section styles);
177
148extern int psiconv_parse_styleless_layout_section(const psiconv_buffer buf, 178extern int psiconv_parse_styleless_layout_section(const psiconv_config config,
179 const psiconv_buffer buf,
149 int lev,psiconv_u32 off, 180 int lev,psiconv_u32 off,
150 int *length, 181 int *length,
151 psiconv_text_and_layout result, 182 psiconv_text_and_layout result,
152 psiconv_character_layout base_char, 183 const psiconv_character_layout base_char,
153 psiconv_paragraph_layout base_para); 184 const psiconv_paragraph_layout base_para);
185
186extern int psiconv_parse_embedded_object_section
187 (const psiconv_config config,
188 const psiconv_buffer buf, int lev,
189 psiconv_u32 off, int *length,
190 psiconv_embedded_object_section *result);
191
192extern int psiconv_parse_object_display_section(const psiconv_config config,
193 const psiconv_buffer buf,
194 int lev,
195 psiconv_u32 off, int *length,
196 psiconv_object_display_section *result);
197
198extern int psiconv_parse_object_icon_section(const psiconv_config config,
199 const psiconv_buffer buf,int lev,
200 psiconv_u32 off, int *length,
201 psiconv_object_icon_section *result);
202
203
204
154 205
155 206
156/* ****************** 207/* ******************
157 * parse_texted.c * 208 * parse_texted.c *
158 ****************** */ 209 ****************** */
159 210
160extern int psiconv_parse_texted_section(const psiconv_buffer buf,int lev, 211extern int psiconv_parse_texted_section(const psiconv_config config,
212 const psiconv_buffer buf,int lev,
161 psiconv_u32 off, int *length, 213 psiconv_u32 off, int *length,
162 psiconv_texted_section *result, 214 psiconv_texted_section *result,
163 psiconv_character_layout base_char, 215 psiconv_character_layout base_char,
164 psiconv_paragraph_layout base_para); 216 psiconv_paragraph_layout base_para);
165 217
166 218
167/* **************** 219/* ****************
168 * parse_word.c * 220 * parse_word.c *
169 **************** */ 221 **************** */
170 222
171extern int psiconv_parse_word_status_section(const psiconv_buffer buf, int lev, 223extern int psiconv_parse_word_status_section(const psiconv_config config,
224 const psiconv_buffer buf, int lev,
172 psiconv_u32 off, int *length, 225 psiconv_u32 off, int *length,
173 psiconv_word_status_section *result); 226 psiconv_word_status_section *result);
174 227
175extern int psiconv_parse_word_styles_section(const psiconv_buffer buf, int lev, 228extern int psiconv_parse_word_styles_section(const psiconv_config config,
229 const psiconv_buffer buf, int lev,
176 psiconv_u32 off, int *length, 230 psiconv_u32 off, int *length,
177 psiconv_word_styles_section *result); 231 psiconv_word_styles_section *result);
232
233
234/* *****************
235 * parse_sheet.c *
236 ***************** */
237
238extern int psiconv_parse_sheet_status_section(const psiconv_config config,
239 const psiconv_buffer buf, int lev,
240 psiconv_u32 off, int *length,
241 psiconv_sheet_status_section *result);
242
243extern int psiconv_parse_sheet_formula_list(const psiconv_config config,
244 const psiconv_buffer buf, int lev,
245 psiconv_u32 off, int *length,
246 psiconv_formula_list *result);
247
248extern int psiconv_parse_formula(const psiconv_config config,
249 const psiconv_buffer buf, int lev,
250 psiconv_u32 off, int *length,
251 psiconv_formula *result);
252
253extern int psiconv_parse_sheet_workbook_section(const psiconv_config config,
254 const psiconv_buffer buf,
255 int lev,
256 psiconv_u32 off, int *length,
257 psiconv_sheet_workbook_section *result);
258extern int psiconv_parse_sheet_cell(const psiconv_config config,
259 const psiconv_buffer buf, int lev,
260 psiconv_u32 off, int *length,
261 psiconv_sheet_cell *result,
262 const psiconv_sheet_cell_layout default_layout,
263 const psiconv_sheet_line_list row_default_layouts,
264 const psiconv_sheet_line_list col_default_layouts);
265
266extern int psiconv_parse_sheet_cell_list(const psiconv_config config,
267 const psiconv_buffer buf, int lev,
268 psiconv_u32 off, int *length,
269 psiconv_sheet_cell_list *result,
270 const psiconv_sheet_cell_layout default_layout,
271 const psiconv_sheet_line_list row_default_layouts,
272 const psiconv_sheet_line_list col_default_layouts);
273
274extern int psiconv_parse_sheet_worksheet_list(const psiconv_config config,
275 const psiconv_buffer buf,
276 int lev,
277 psiconv_u32 off, int *length,
278 psiconv_sheet_worksheet_list *result);
279
280extern int psiconv_parse_sheet_worksheet(const psiconv_config config,
281 const psiconv_buffer buf, int lev,
282 psiconv_u32 off, int *length,
283 psiconv_sheet_worksheet *result);
284
285extern int psiconv_parse_sheet_numberformat(const psiconv_config config,
286 const psiconv_buffer buf, int lev,
287 psiconv_u32 off, int *length,
288 psiconv_sheet_numberformat result);
289
290extern int psiconv_parse_sheet_cell_layout(const psiconv_config config,
291 const psiconv_buffer buf, int lev,
292 psiconv_u32 off, int *length,
293 psiconv_sheet_cell_layout result);
294
295extern int psiconv_parse_sheet_line(const psiconv_config config,
296 const psiconv_buffer buf, int lev,
297 psiconv_u32 off, int *length,
298 psiconv_sheet_line *result,
299 const psiconv_sheet_cell_layout default_layout);
300
301extern int psiconv_parse_sheet_line_list(const psiconv_config config,
302 const psiconv_buffer buf, int lev,
303 psiconv_u32 off, int *length,
304 psiconv_sheet_line_list *result,
305 const psiconv_sheet_cell_layout default_layout);
306
307extern int psiconv_parse_sheet_name_section(const psiconv_config config,
308 const psiconv_buffer buf, int lev,
309 psiconv_u32 off, int *length,
310 psiconv_sheet_name_section *result);
311
312extern int psiconv_parse_sheet_info_section(const psiconv_config config,
313 const psiconv_buffer buf, int lev,
314 psiconv_u32 off, int *length,
315 psiconv_sheet_info_section *result);
316
317extern int psiconv_parse_sheet_variable(const psiconv_config config,
318 const psiconv_buffer buf, int lev,
319 psiconv_u32 off, int *length,
320 psiconv_sheet_variable *result);
321
322extern int psiconv_parse_sheet_variable_list(const psiconv_config config,
323 const psiconv_buffer buf, int lev,
324 psiconv_u32 off, int *length,
325 psiconv_sheet_variable_list *result);
326
327extern int psiconv_parse_sheet_grid_section(const psiconv_config config,
328 const psiconv_buffer buf, int lev,
329 psiconv_u32 off, int *length,
330 psiconv_sheet_grid_section *result);
331
332extern int psiconv_parse_sheet_grid_size_list(const psiconv_config config,
333 const psiconv_buffer buf, int lev,
334 psiconv_u32 off, int *length,
335 psiconv_sheet_grid_size_list *result);
336
337extern int psiconv_parse_sheet_grid_size(const psiconv_config config,
338 const psiconv_buffer buf, int lev,
339 psiconv_u32 off, int *length,
340 psiconv_sheet_grid_size *result);
341
342extern int psiconv_parse_sheet_grid_break_list(const psiconv_config config,
343 const psiconv_buffer buf,
344 int lev, psiconv_u32 off, int *length,
345 psiconv_sheet_grid_break_list *result);
346
347
348
349
350/* *****************
351 * parse_image.c *
352 ***************** */
353
354extern int psiconv_parse_paint_data_section(const psiconv_config config,
355 const psiconv_buffer buf,int lev,
356 psiconv_u32 off, int *length,
357 int isclipart,
358 psiconv_paint_data_section *result);
359
360extern int psiconv_parse_jumptable_section(const psiconv_config config,
361 const psiconv_buffer buf,int lev,
362 psiconv_u32 off, int *length,
363 psiconv_jumptable_section *result);
364
365extern int psiconv_parse_sketch_section(const psiconv_config config,
366 const psiconv_buffer buf, int lev,
367 psiconv_u32 off, int *length,
368 psiconv_sketch_section *result);
369
370extern int psiconv_parse_clipart_section(const psiconv_config config,
371 const psiconv_buffer buf, int lev,
372 psiconv_u32 off, int *length,
373 psiconv_clipart_section *result);
374
375
376
377
178 378
179/* **************** 379/* ****************
180 * parse_driver.c * 380 * parse_driver.c *
181 **************** */ 381 **************** */
182 382
183extern int psiconv_parse_texted_file(const psiconv_buffer buf,int lev, 383extern int psiconv_parse_texted_file(const psiconv_config config,
384 const psiconv_buffer buf,int lev,
184 psiconv_u32 off, psiconv_texted_f *result); 385 psiconv_u32 off, psiconv_texted_f *result);
185 386
186extern int psiconv_parse_word_file(const psiconv_buffer buf,int lev, 387extern int psiconv_parse_word_file(const psiconv_config config,
388 const psiconv_buffer buf,int lev,
187 psiconv_u32 off, psiconv_word_f *result); 389 psiconv_u32 off, psiconv_word_f *result);
188 390
391extern int psiconv_parse_mbm_file(const psiconv_config config,
392 const psiconv_buffer buf,int lev,
393 psiconv_u32 off, psiconv_mbm_f *result);
394
395extern int psiconv_parse_sketch_file(const psiconv_config config,
396 const psiconv_buffer buf,int lev,
397 psiconv_u32 off, psiconv_sketch_f *result);
398
399extern int psiconv_parse_clipart_file(const psiconv_config config,
400 const psiconv_buffer buf,int lev,
401 psiconv_u32 off, psiconv_clipart_f *result);
402extern int psiconv_parse_sheet_file(const psiconv_config config,
403 const psiconv_buffer buf,int lev,
404 psiconv_u32 off, psiconv_sheet_f *result);
405
406#ifdef __cplusplus
407}
408#endif /* __cplusplus */
189 409
190#endif /* PSICONV_PARSE_ROUTINES_H */ 410#endif /* PSICONV_PARSE_ROUTINES_H */

Legend:
Removed from v.2  
changed lines
  Added in v.173

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