/[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 95 Revision 196
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, 2000 Frodo Looijaard <frodol@dds.nl> 3 Copyright (c) 1999-2004 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 <psiconv/configuration.h>
23#include <psiconv/general.h> 24#include <psiconv/general.h>
24#include <psiconv/data.h> 25#include <psiconv/data.h>
25#include <psiconv/buffer.h> 26#include <psiconv/buffer.h>
26#include <psiconv/common.h> 27#include <psiconv/common.h>
28#include <psiconv/parse.h>
27 29
28#ifdef __cplusplus 30#ifdef __cplusplus
29extern "C" { 31extern "C" {
30#endif /* __cplusplus */ 32#endif /* __cplusplus */
31 33
32 34
33/* ****************** 35/* ******************
34 * parse_simple.c * 36 * parse_simple.c *
35 ****************** */ 37 ****************** */
36 38
37extern psiconv_u8 psiconv_read_u8(const psiconv_buffer buf,int lev, 39extern psiconv_u8 psiconv_read_u8(const psiconv_config config,
40 const psiconv_buffer buf,int lev,
38 psiconv_u32 off, int *status); 41 psiconv_u32 off, int *status);
39extern psiconv_u16 psiconv_read_u16(const psiconv_buffer buf,int lev, 42extern psiconv_u16 psiconv_read_u16(const psiconv_config config,
43 const psiconv_buffer buf,int lev,
40 psiconv_u32 off, int *status); 44 psiconv_u32 off, int *status);
41extern psiconv_u32 psiconv_read_u32(const psiconv_buffer buf,int lev, 45extern psiconv_u32 psiconv_read_u32(const psiconv_config config,
46 const psiconv_buffer buf,int lev,
42 psiconv_u32 off, int *status); 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);
43 51
44extern psiconv_S_t psiconv_read_S(const psiconv_buffer buf, int lev, 52extern psiconv_u32 psiconv_read_S(const psiconv_config config,
53 const psiconv_buffer buf, int lev,
45 psiconv_u32 off, int *length, int *status); 54 psiconv_u32 off, int *length, int *status);
46extern psiconv_X_t psiconv_read_X(const psiconv_buffer buf, int lev, 55extern psiconv_u32 psiconv_read_X(const psiconv_config config,
56 const psiconv_buffer buf, int lev,
47 psiconv_u32 off, int *length, int *status); 57 psiconv_u32 off, int *length, int *status);
48extern 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,
49 psiconv_u32 off, int *length, 60 psiconv_u32 off, int *length,
50 int *status); 61 int *status);
51extern 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,
52 psiconv_u32 off, int *length, 64 psiconv_u32 off, int *length,
53 int *status); 65 int *status);
54extern 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,
55 psiconv_u32 off,int *length, 68 psiconv_u32 off,int *length,
56 int *status); 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);
57 78
58extern 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,
59 psiconv_u32 off, int *length, 81 psiconv_u32 off, int *length,
60 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
61 88
62 89
63/* ****************** 90/* ******************
64 * parse_layout.c * 91 * parse_layout.c *
65 ****************** */ 92 ****************** */
66 93
67extern 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,
68 psiconv_u32 off, int *length, 96 psiconv_u32 off, int *length,
69 psiconv_color *result); 97 psiconv_color *result);
70 98
71extern 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,
72 psiconv_u32 off, int *length, 101 psiconv_u32 off, int *length,
73 psiconv_font *result); 102 psiconv_font *result);
74 103
75extern 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,
76 psiconv_u32 off, int *length, 106 psiconv_u32 off, int *length,
77 psiconv_border *result); 107 psiconv_border *result);
78 108
79extern 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,
80 psiconv_u32 off, int *length, 111 psiconv_u32 off, int *length,
81 psiconv_bullet *result); 112 psiconv_bullet *result);
82 113
83extern 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,
84 psiconv_u32 off, int *length, 116 psiconv_u32 off, int *length,
85 psiconv_tab *result); 117 psiconv_tab *result);
86 118
87/* Note: the next two are special, because they modify an existing 119/* Note: the next two are special, because they modify an existing
88 layout structure! If it exits due to an unexpected error, part 120 layout structure! If it exits due to an unexpected error, part
89 of the structure may be modified, but it is still safe to call 121 of the structure may be modified, but it is still safe to call
90 psiconv_free_{paragraph,character}_layout_list on it (and that 122 psiconv_free_{paragraph,character}_layout_list on it (and that
91 is the only safe thing to do!) */ 123 is the only safe thing to do!) */
92 124
93extern 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,
94 int lev, psiconv_u32 off, int *length, 127 int lev, psiconv_u32 off, int *length,
95 psiconv_paragraph_layout result); 128 psiconv_paragraph_layout result);
96 129
97extern 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,
98 int lev, psiconv_u32 off, int *length, 132 int lev, psiconv_u32 off, int *length,
99 psiconv_character_layout result); 133 psiconv_character_layout result);
100 134
101 135
102/* **************** 136/* ****************
103 * parse_page.c * 137 * parse_page.c *
104 **************** */ 138 **************** */
105 139
106extern 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,
107 psiconv_u32 off, int *length, 142 psiconv_u32 off, int *length,
108 psiconv_page_header *result); 143 psiconv_page_header *result);
109 144
110extern 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,
111 psiconv_u32 off, int *length, 147 psiconv_u32 off, int *length,
112 psiconv_page_layout_section *result); 148 psiconv_page_layout_section *result);
113 149
114/* ****************** 150/* ******************
115 * parse_common.c * 151 * parse_common.c *
116 ****************** */ 152 ****************** */
117 153
118extern 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,
119 psiconv_u32 off, int *length, 156 psiconv_u32 off, int *length,
120 psiconv_header_section *result); 157 psiconv_header_section *result);
121 158
122extern 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,
123 int lev, psiconv_u32 off, 161 int lev, psiconv_u32 off,
124 int *length, 162 int *length,
125 psiconv_section_table_section *result); 163 psiconv_section_table_section *result);
126 164
127extern 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,
128 int lev, psiconv_u32 off, int *length, 167 int lev, psiconv_u32 off, int *length,
129 psiconv_application_id_section *result); 168 psiconv_application_id_section *result);
130 169
131extern 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,
132 psiconv_u32 off, int *length, 172 psiconv_u32 off, int *length,
133 psiconv_text_and_layout *result); 173 psiconv_text_and_layout *result);
134 174
135extern 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,
136 int lev,psiconv_u32 off, 177 int lev,psiconv_u32 off,
137 int *length, 178 int *length,
138 psiconv_text_and_layout result, 179 psiconv_text_and_layout result,
139 const psiconv_word_styles_section styles); 180 const psiconv_word_styles_section styles);
181
140extern 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,
141 int lev,psiconv_u32 off, 184 int lev,psiconv_u32 off,
142 int *length, 185 int *length,
143 psiconv_text_and_layout result, 186 psiconv_text_and_layout result,
144 const psiconv_character_layout base_char, 187 const psiconv_character_layout base_char,
145 const psiconv_paragraph_layout base_para); 188 const psiconv_paragraph_layout base_para);
146 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
209
147 210
148/* ****************** 211/* ******************
149 * parse_texted.c * 212 * parse_texted.c *
150 ****************** */ 213 ****************** */
151 214
152extern 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,
153 psiconv_u32 off, int *length, 217 psiconv_u32 off, int *length,
154 psiconv_texted_section *result, 218 psiconv_texted_section *result,
155 psiconv_character_layout base_char, 219 psiconv_character_layout base_char,
156 psiconv_paragraph_layout base_para); 220 psiconv_paragraph_layout base_para);
157 221
158 222
159/* **************** 223/* ****************
160 * parse_word.c * 224 * parse_word.c *
161 **************** */ 225 **************** */
162 226
163extern 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,
164 psiconv_u32 off, int *length, 229 psiconv_u32 off, int *length,
165 psiconv_word_status_section *result); 230 psiconv_word_status_section *result);
166 231
167extern 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,
168 psiconv_u32 off, int *length, 234 psiconv_u32 off, int *length,
169 psiconv_word_styles_section *result); 235 psiconv_word_styles_section *result);
170 236
171 237
172/* ***************** 238/* *****************
173 * parse_sheet.c * 239 * parse_sheet.c *
174 ***************** */ 240 ***************** */
175 241
176extern int psiconv_parse_sheet_status_section(const psiconv_buffer buf, int lev, 242extern int psiconv_parse_sheet_status_section(const psiconv_config config,
243 const psiconv_buffer buf, int lev,
177 psiconv_u32 off, int *length, 244 psiconv_u32 off, int *length,
178 psiconv_sheet_status_section *result); 245 psiconv_sheet_status_section *result);
179 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
180extern int psiconv_parse_sheet_workbook_section(const psiconv_buffer buf, 257extern int psiconv_parse_sheet_workbook_section(const psiconv_config config,
258 const psiconv_buffer buf,
181 int lev, 259 int lev,
182 psiconv_u32 off, int *length, 260 psiconv_u32 off, int *length,
183 psiconv_sheet_workbook_section *result); 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
184 352
185 353
186/* ***************** 354/* *****************
187 * parse_image.c * 355 * parse_image.c *
188 ***************** */ 356 ***************** */
189 357
190extern int psiconv_parse_paint_data_section(const psiconv_buffer buf,int lev, 358extern int psiconv_parse_paint_data_section(const psiconv_config config,
359 const psiconv_buffer buf,int lev,
191 psiconv_u32 off, int *length, 360 psiconv_u32 off, int *length,
192 int isclipart, 361 int isclipart,
193 psiconv_paint_data_section *result); 362 psiconv_paint_data_section *result);
194 363
195extern int psiconv_parse_jumptable_section(const psiconv_buffer buf,int lev, 364extern int psiconv_parse_jumptable_section(const psiconv_config config,
365 const psiconv_buffer buf,int lev,
196 psiconv_u32 off, int *length, 366 psiconv_u32 off, int *length,
197 psiconv_jumptable_section *result); 367 psiconv_jumptable_section *result);
368
198extern int psiconv_parse_sketch_section(const psiconv_buffer buf, int lev, 369extern int psiconv_parse_sketch_section(const psiconv_config config,
370 const psiconv_buffer buf, int lev,
199 psiconv_u32 off, int *length, int is_object, 371 psiconv_u32 off, int *length,
200 psiconv_sketch_section *result); 372 psiconv_sketch_section *result);
373
201extern int psiconv_parse_clipart_section(const psiconv_buffer buf, int lev, 374extern int psiconv_parse_clipart_section(const psiconv_config config,
375 const psiconv_buffer buf, int lev,
202 psiconv_u32 off, int *length, 376 psiconv_u32 off, int *length,
203 psiconv_clipart_section *result); 377 psiconv_clipart_section *result);
204 378
205 379
206 380
208 382
209/* **************** 383/* ****************
210 * parse_driver.c * 384 * parse_driver.c *
211 **************** */ 385 **************** */
212 386
213extern 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,
214 psiconv_u32 off, psiconv_texted_f *result); 389 psiconv_u32 off, psiconv_texted_f *result);
215 390
216extern 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,
217 psiconv_u32 off, psiconv_word_f *result); 393 psiconv_u32 off, psiconv_word_f *result);
218 394
219extern int psiconv_parse_mbm_file(const psiconv_buffer buf,int lev, 395extern int psiconv_parse_mbm_file(const psiconv_config config,
396 const psiconv_buffer buf,int lev,
220 psiconv_u32 off, psiconv_mbm_f *result); 397 psiconv_u32 off, psiconv_mbm_f *result);
221 398
222extern int psiconv_parse_sketch_file(const psiconv_buffer buf,int lev, 399extern int psiconv_parse_sketch_file(const psiconv_config config,
400 const psiconv_buffer buf,int lev,
223 psiconv_u32 off, psiconv_sketch_f *result); 401 psiconv_u32 off, psiconv_sketch_f *result);
224 402
225extern int psiconv_parse_clipart_file(const psiconv_buffer buf,int lev, 403extern int psiconv_parse_clipart_file(const psiconv_config config,
404 const psiconv_buffer buf,int lev,
226 psiconv_u32 off, psiconv_clipart_f *result); 405 psiconv_u32 off, psiconv_clipart_f *result);
227extern int psiconv_parse_sheet_file(const psiconv_buffer buf,int lev, 406extern int psiconv_parse_sheet_file(const psiconv_config config,
407 const psiconv_buffer buf,int lev,
228 psiconv_u32 off, psiconv_sheet_f *result); 408 psiconv_u32 off, psiconv_sheet_f *result);
229 409
230#ifdef __cplusplus 410#ifdef __cplusplus
231} 411}
232#endif /* __cplusplus */ 412#endif /* __cplusplus */

Legend:
Removed from v.95  
changed lines
  Added in v.196

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