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

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

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