/[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 184
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);
74extern psiconv_string_t psiconv_read_charlist(const psiconv_config config,
75 const psiconv_buffer buf, int lev,
76 psiconv_u32 off, int nrofchars,
77 int *status);
71 78
72extern int psiconv_parse_bool(const psiconv_buffer buf, int lev, 79extern int psiconv_parse_bool(const psiconv_config config,
80 const psiconv_buffer buf, int lev,
73 psiconv_u32 off, int *length, 81 psiconv_u32 off, int *length,
74 psiconv_bool_t *result); 82 psiconv_bool_t *result);
83
84extern psiconv_float_t psiconv_read_float(const psiconv_config config,
85 const psiconv_buffer buf, int lev,
86 psiconv_u32 off, int *length, int *status);
87
75 88
76 89
77/* ****************** 90/* ******************
78 * parse_layout.c * 91 * parse_layout.c *
79 ****************** */ 92 ****************** */
80 93
81extern int psiconv_parse_color(const psiconv_buffer buf, int lev, 94extern int psiconv_parse_color(const psiconv_config config,
95 const psiconv_buffer buf, int lev,
82 psiconv_u32 off, int *length, 96 psiconv_u32 off, int *length,
83 psiconv_color *result); 97 psiconv_color *result);
84 98
85extern int psiconv_parse_font(const psiconv_buffer buf, int lev, 99extern int psiconv_parse_font(const psiconv_config config,
100 const psiconv_buffer buf, int lev,
86 psiconv_u32 off, int *length, 101 psiconv_u32 off, int *length,
87 psiconv_font *result); 102 psiconv_font *result);
88 103
89extern int psiconv_parse_border(const psiconv_buffer buf,int lev, 104extern int psiconv_parse_border(const psiconv_config config,
105 const psiconv_buffer buf,int lev,
90 psiconv_u32 off, int *length, 106 psiconv_u32 off, int *length,
91 psiconv_border *result); 107 psiconv_border *result);
92 108
93extern int psiconv_parse_bullet(const psiconv_buffer buf,int lev, 109extern int psiconv_parse_bullet(const psiconv_config config,
110 const psiconv_buffer buf,int lev,
94 psiconv_u32 off, int *length, 111 psiconv_u32 off, int *length,
95 psiconv_bullet *result); 112 psiconv_bullet *result);
96 113
97extern int psiconv_parse_tab(const psiconv_buffer buf, int lev, 114extern int psiconv_parse_tab(const psiconv_config config,
115 const psiconv_buffer buf, int lev,
98 psiconv_u32 off, int *length, 116 psiconv_u32 off, int *length,
99 psiconv_tab *result); 117 psiconv_tab *result);
100 118
119/* Note: the next two are special, because they modify an existing
120 layout structure! If it exits due to an unexpected error, part
121 of the structure may be modified, but it is still safe to call
122 psiconv_free_{paragraph,character}_layout_list on it (and that
123 is the only safe thing to do!) */
124
101extern int psiconv_parse_paragraph_layout_list(const psiconv_buffer buf, 125extern int psiconv_parse_paragraph_layout_list(const psiconv_config config,
126 const psiconv_buffer buf,
102 int lev, psiconv_u32 off, int *length, 127 int lev, psiconv_u32 off, int *length,
103 psiconv_paragraph_layout result); 128 psiconv_paragraph_layout result);
104 129
105extern int psiconv_parse_character_layout_list(const psiconv_buffer buf, 130extern int psiconv_parse_character_layout_list(const psiconv_config config,
131 const psiconv_buffer buf,
106 int lev, psiconv_u32 off, int *length, 132 int lev, psiconv_u32 off, int *length,
107 psiconv_character_layout result); 133 psiconv_character_layout result);
108 134
109 135
110/* **************** 136/* ****************
111 * parse_page.c * 137 * parse_page.c *
112 **************** */ 138 **************** */
113 139
114extern int psiconv_parse_page_header(const psiconv_buffer buf,int lev, 140extern int psiconv_parse_page_header(const psiconv_config config,
141 const psiconv_buffer buf,int lev,
115 psiconv_u32 off, int *length, 142 psiconv_u32 off, int *length,
116 psiconv_page_header *result); 143 psiconv_page_header *result);
117 144
118extern int psiconv_parse_page_layout_section(const psiconv_buffer buf,int lev, 145extern int psiconv_parse_page_layout_section(const psiconv_config config,
146 const psiconv_buffer buf,int lev,
119 psiconv_u32 off, int *length, 147 psiconv_u32 off, int *length,
120 psiconv_page_layout_section *result); 148 psiconv_page_layout_section *result);
121 149
122/* ****************** 150/* ******************
123 * parse_common.c * 151 * parse_common.c *
124 ****************** */ 152 ****************** */
125 153
126extern int psiconv_parse_header_section(const psiconv_buffer buf,int lev, 154extern int psiconv_parse_header_section(const psiconv_config config,
155 const psiconv_buffer buf,int lev,
127 psiconv_u32 off, int *length, 156 psiconv_u32 off, int *length,
128 psiconv_header_section *result); 157 psiconv_header_section *result);
129 158
130extern int psiconv_parse_section_table_section(const psiconv_buffer buf, 159extern int psiconv_parse_section_table_section(const psiconv_config config,
160 const psiconv_buffer buf,
131 int lev, psiconv_u32 off, 161 int lev, psiconv_u32 off,
132 int *length, 162 int *length,
133 psiconv_section_table_section *result); 163 psiconv_section_table_section *result);
134 164
135extern int psiconv_parse_application_id_section(const psiconv_buffer buf, 165extern int psiconv_parse_application_id_section(const psiconv_config config,
166 const psiconv_buffer buf,
136 int lev, psiconv_u32 off, int *length, 167 int lev, psiconv_u32 off, int *length,
137 psiconv_application_id_section *result); 168 psiconv_application_id_section *result);
138 169
139extern int psiconv_parse_text_section(const psiconv_buffer buf,int lev, 170extern int psiconv_parse_text_section(const psiconv_config config,
171 const psiconv_buffer buf,int lev,
140 psiconv_u32 off, int *length, 172 psiconv_u32 off, int *length,
141 psiconv_text_and_layout *result); 173 psiconv_text_and_layout *result);
142 174
143extern int psiconv_parse_styled_layout_section(const psiconv_buffer buf, 175extern int psiconv_parse_styled_layout_section(const psiconv_config config,
176 const psiconv_buffer buf,
144 int lev,psiconv_u32 off, 177 int lev,psiconv_u32 off,
145 int *length, 178 int *length,
146 psiconv_text_and_layout result, 179 psiconv_text_and_layout result,
147 psiconv_word_styles_section styles); 180 const psiconv_word_styles_section styles);
181
148extern int psiconv_parse_styleless_layout_section(const psiconv_buffer buf, 182extern int psiconv_parse_styleless_layout_section(const psiconv_config config,
183 const psiconv_buffer buf,
149 int lev,psiconv_u32 off, 184 int lev,psiconv_u32 off,
150 int *length, 185 int *length,
151 psiconv_text_and_layout result, 186 psiconv_text_and_layout result,
152 psiconv_character_layout base_char, 187 const psiconv_character_layout base_char,
153 psiconv_paragraph_layout base_para); 188 const psiconv_paragraph_layout base_para);
189
190extern int psiconv_parse_embedded_object_section
191 (const psiconv_config config,
192 const psiconv_buffer buf, int lev,
193 psiconv_u32 off, int *length,
194 psiconv_embedded_object_section *result);
195
196extern int psiconv_parse_object_display_section(const psiconv_config config,
197 const psiconv_buffer buf,
198 int lev,
199 psiconv_u32 off, int *length,
200 psiconv_object_display_section *result);
201
202extern int psiconv_parse_object_icon_section(const psiconv_config config,
203 const psiconv_buffer buf,int lev,
204 psiconv_u32 off, int *length,
205 psiconv_object_icon_section *result);
206
207
208
154 209
155 210
156/* ****************** 211/* ******************
157 * parse_texted.c * 212 * parse_texted.c *
158 ****************** */ 213 ****************** */
159 214
160extern int psiconv_parse_texted_section(const psiconv_buffer buf,int lev, 215extern int psiconv_parse_texted_section(const psiconv_config config,
216 const psiconv_buffer buf,int lev,
161 psiconv_u32 off, int *length, 217 psiconv_u32 off, int *length,
162 psiconv_texted_section *result, 218 psiconv_texted_section *result,
163 psiconv_character_layout base_char, 219 psiconv_character_layout base_char,
164 psiconv_paragraph_layout base_para); 220 psiconv_paragraph_layout base_para);
165 221
166 222
167/* **************** 223/* ****************
168 * parse_word.c * 224 * parse_word.c *
169 **************** */ 225 **************** */
170 226
171extern int psiconv_parse_word_status_section(const psiconv_buffer buf, int lev, 227extern int psiconv_parse_word_status_section(const psiconv_config config,
228 const psiconv_buffer buf, int lev,
172 psiconv_u32 off, int *length, 229 psiconv_u32 off, int *length,
173 psiconv_word_status_section *result); 230 psiconv_word_status_section *result);
174 231
175extern int psiconv_parse_word_styles_section(const psiconv_buffer buf, int lev, 232extern int psiconv_parse_word_styles_section(const psiconv_config config,
233 const psiconv_buffer buf, int lev,
176 psiconv_u32 off, int *length, 234 psiconv_u32 off, int *length,
177 psiconv_word_styles_section *result); 235 psiconv_word_styles_section *result);
236
237
238/* *****************
239 * parse_sheet.c *
240 ***************** */
241
242extern int psiconv_parse_sheet_status_section(const psiconv_config config,
243 const psiconv_buffer buf, int lev,
244 psiconv_u32 off, int *length,
245 psiconv_sheet_status_section *result);
246
247extern int psiconv_parse_sheet_formula_list(const psiconv_config config,
248 const psiconv_buffer buf, int lev,
249 psiconv_u32 off, int *length,
250 psiconv_formula_list *result);
251
252extern int psiconv_parse_formula(const psiconv_config config,
253 const psiconv_buffer buf, int lev,
254 psiconv_u32 off, int *length,
255 psiconv_formula *result);
256
257extern int psiconv_parse_sheet_workbook_section(const psiconv_config config,
258 const psiconv_buffer buf,
259 int lev,
260 psiconv_u32 off, int *length,
261 psiconv_sheet_workbook_section *result);
262extern int psiconv_parse_sheet_cell(const psiconv_config config,
263 const psiconv_buffer buf, int lev,
264 psiconv_u32 off, int *length,
265 psiconv_sheet_cell *result,
266 const psiconv_sheet_cell_layout default_layout,
267 const psiconv_sheet_line_list row_default_layouts,
268 const psiconv_sheet_line_list col_default_layouts);
269
270extern int psiconv_parse_sheet_cell_list(const psiconv_config config,
271 const psiconv_buffer buf, int lev,
272 psiconv_u32 off, int *length,
273 psiconv_sheet_cell_list *result,
274 const psiconv_sheet_cell_layout default_layout,
275 const psiconv_sheet_line_list row_default_layouts,
276 const psiconv_sheet_line_list col_default_layouts);
277
278extern int psiconv_parse_sheet_worksheet_list(const psiconv_config config,
279 const psiconv_buffer buf,
280 int lev,
281 psiconv_u32 off, int *length,
282 psiconv_sheet_worksheet_list *result);
283
284extern int psiconv_parse_sheet_worksheet(const psiconv_config config,
285 const psiconv_buffer buf, int lev,
286 psiconv_u32 off, int *length,
287 psiconv_sheet_worksheet *result);
288
289extern int psiconv_parse_sheet_numberformat(const psiconv_config config,
290 const psiconv_buffer buf, int lev,
291 psiconv_u32 off, int *length,
292 psiconv_sheet_numberformat result);
293
294extern int psiconv_parse_sheet_cell_layout(const psiconv_config config,
295 const psiconv_buffer buf, int lev,
296 psiconv_u32 off, int *length,
297 psiconv_sheet_cell_layout result);
298
299extern int psiconv_parse_sheet_line(const psiconv_config config,
300 const psiconv_buffer buf, int lev,
301 psiconv_u32 off, int *length,
302 psiconv_sheet_line *result,
303 const psiconv_sheet_cell_layout default_layout);
304
305extern int psiconv_parse_sheet_line_list(const psiconv_config config,
306 const psiconv_buffer buf, int lev,
307 psiconv_u32 off, int *length,
308 psiconv_sheet_line_list *result,
309 const psiconv_sheet_cell_layout default_layout);
310
311extern int psiconv_parse_sheet_name_section(const psiconv_config config,
312 const psiconv_buffer buf, int lev,
313 psiconv_u32 off, int *length,
314 psiconv_sheet_name_section *result);
315
316extern int psiconv_parse_sheet_info_section(const psiconv_config config,
317 const psiconv_buffer buf, int lev,
318 psiconv_u32 off, int *length,
319 psiconv_sheet_info_section *result);
320
321extern int psiconv_parse_sheet_variable(const psiconv_config config,
322 const psiconv_buffer buf, int lev,
323 psiconv_u32 off, int *length,
324 psiconv_sheet_variable *result);
325
326extern int psiconv_parse_sheet_variable_list(const psiconv_config config,
327 const psiconv_buffer buf, int lev,
328 psiconv_u32 off, int *length,
329 psiconv_sheet_variable_list *result);
330
331extern int psiconv_parse_sheet_grid_section(const psiconv_config config,
332 const psiconv_buffer buf, int lev,
333 psiconv_u32 off, int *length,
334 psiconv_sheet_grid_section *result);
335
336extern int psiconv_parse_sheet_grid_size_list(const psiconv_config config,
337 const psiconv_buffer buf, int lev,
338 psiconv_u32 off, int *length,
339 psiconv_sheet_grid_size_list *result);
340
341extern int psiconv_parse_sheet_grid_size(const psiconv_config config,
342 const psiconv_buffer buf, int lev,
343 psiconv_u32 off, int *length,
344 psiconv_sheet_grid_size *result);
345
346extern int psiconv_parse_sheet_grid_break_list(const psiconv_config config,
347 const psiconv_buffer buf,
348 int lev, psiconv_u32 off, int *length,
349 psiconv_sheet_grid_break_list *result);
350
351
352
353
354/* *****************
355 * parse_image.c *
356 ***************** */
357
358extern int psiconv_parse_paint_data_section(const psiconv_config config,
359 const psiconv_buffer buf,int lev,
360 psiconv_u32 off, int *length,
361 int isclipart,
362 psiconv_paint_data_section *result);
363
364extern int psiconv_parse_jumptable_section(const psiconv_config config,
365 const psiconv_buffer buf,int lev,
366 psiconv_u32 off, int *length,
367 psiconv_jumptable_section *result);
368
369extern int psiconv_parse_sketch_section(const psiconv_config config,
370 const psiconv_buffer buf, int lev,
371 psiconv_u32 off, int *length,
372 psiconv_sketch_section *result);
373
374extern int psiconv_parse_clipart_section(const psiconv_config config,
375 const psiconv_buffer buf, int lev,
376 psiconv_u32 off, int *length,
377 psiconv_clipart_section *result);
378
379
380
381
178 382
179/* **************** 383/* ****************
180 * parse_driver.c * 384 * parse_driver.c *
181 **************** */ 385 **************** */
182 386
183extern int psiconv_parse_texted_file(const psiconv_buffer buf,int lev, 387extern int psiconv_parse_texted_file(const psiconv_config config,
388 const psiconv_buffer buf,int lev,
184 psiconv_u32 off, psiconv_texted_f *result); 389 psiconv_u32 off, psiconv_texted_f *result);
185 390
186extern int psiconv_parse_word_file(const psiconv_buffer buf,int lev, 391extern int psiconv_parse_word_file(const psiconv_config config,
392 const psiconv_buffer buf,int lev,
187 psiconv_u32 off, psiconv_word_f *result); 393 psiconv_u32 off, psiconv_word_f *result);
188 394
395extern int psiconv_parse_mbm_file(const psiconv_config config,
396 const psiconv_buffer buf,int lev,
397 psiconv_u32 off, psiconv_mbm_f *result);
398
399extern int psiconv_parse_sketch_file(const psiconv_config config,
400 const psiconv_buffer buf,int lev,
401 psiconv_u32 off, psiconv_sketch_f *result);
402
403extern int psiconv_parse_clipart_file(const psiconv_config config,
404 const psiconv_buffer buf,int lev,
405 psiconv_u32 off, psiconv_clipart_f *result);
406extern int psiconv_parse_sheet_file(const psiconv_config config,
407 const psiconv_buffer buf,int lev,
408 psiconv_u32 off, psiconv_sheet_f *result);
409
410#ifdef __cplusplus
411}
412#endif /* __cplusplus */
189 413
190#endif /* PSICONV_PARSE_ROUTINES_H */ 414#endif /* PSICONV_PARSE_ROUTINES_H */

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

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