/[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 64 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>
24#include <psiconv/general.h>
25#include <psiconv/data.h>
26#include <psiconv/buffer.h>
27#include <psiconv/common.h>
23#include <psiconv/parse.h> 28#include <psiconv/parse.h>
24 29
25#ifdef __cplusplus 30#ifdef __cplusplus
26extern "C" { 31extern "C" {
27#endif /* __cplusplus */ 32#endif /* __cplusplus */
28 33
29 34
30/* ***************
31 * misc.c *
32 *************** */
33
34/* This function returns a copy of a string, that contains no ASCII codes
35 that are not printable. You should free this string yourself when you are
36 done with it. Returns NULL if there is not enough memory left. */
37extern char *psiconv_make_printable(const char *s);
38
39/* **************
40 * checkuid.c *
41 ************** */
42
43extern psiconv_u32 psiconv_checkuid(psiconv_u32 uid1,
44 psiconv_u32 uid2,psiconv_u32 uid3);
45
46/* ****************** 35/* ******************
47 * parse_simple.c * 36 * parse_simple.c *
48 ****************** */ 37 ****************** */
49 38
50extern 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,
51 psiconv_u32 off, int *status); 41 psiconv_u32 off, int *status);
52extern 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,
53 psiconv_u32 off, int *status); 44 psiconv_u32 off, int *status);
54extern 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,
55 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);
56 51
57extern 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,
58 psiconv_u32 off, int *length, int *status); 54 psiconv_u32 off, int *length, int *status);
59extern 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,
60 psiconv_u32 off, int *length, int *status); 57 psiconv_u32 off, int *length, int *status);
61extern 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,
62 psiconv_u32 off, int *length, 60 psiconv_u32 off, int *length,
63 int *status); 61 int *status);
64extern 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,
65 psiconv_u32 off, int *length, 64 psiconv_u32 off, int *length,
66 int *status); 65 int *status);
67extern 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,
68 psiconv_u32 off,int *length, 68 psiconv_u32 off,int *length,
69 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);
70 78
71extern 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,
72 psiconv_u32 off, int *length, 81 psiconv_u32 off, int *length,
73 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
74 88
75 89
76/* ****************** 90/* ******************
77 * parse_layout.c * 91 * parse_layout.c *
78 ****************** */ 92 ****************** */
79 93
80extern 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,
81 psiconv_u32 off, int *length, 96 psiconv_u32 off, int *length,
82 psiconv_color *result); 97 psiconv_color *result);
83 98
84extern 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,
85 psiconv_u32 off, int *length, 101 psiconv_u32 off, int *length,
86 psiconv_font *result); 102 psiconv_font *result);
87 103
88extern 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,
89 psiconv_u32 off, int *length, 106 psiconv_u32 off, int *length,
90 psiconv_border *result); 107 psiconv_border *result);
91 108
92extern 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,
93 psiconv_u32 off, int *length, 111 psiconv_u32 off, int *length,
94 psiconv_bullet *result); 112 psiconv_bullet *result);
95 113
96extern 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,
97 psiconv_u32 off, int *length, 116 psiconv_u32 off, int *length,
98 psiconv_tab *result); 117 psiconv_tab *result);
99 118
100/* Note: the next two are special, because they modify an existing 119/* Note: the next two are special, because they modify an existing
101 layout structure! If it exits due to an unexpected error, part 120 layout structure! If it exits due to an unexpected error, part
102 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
103 psiconv_free_{paragraph,character}_layout_list on it (and that 122 psiconv_free_{paragraph,character}_layout_list on it (and that
104 is the only safe thing to do!) */ 123 is the only safe thing to do!) */
105 124
106extern 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,
107 int lev, psiconv_u32 off, int *length, 127 int lev, psiconv_u32 off, int *length,
108 psiconv_paragraph_layout result); 128 psiconv_paragraph_layout result);
109 129
110extern 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,
111 int lev, psiconv_u32 off, int *length, 132 int lev, psiconv_u32 off, int *length,
112 psiconv_character_layout result); 133 psiconv_character_layout result);
113 134
114 135
115/* **************** 136/* ****************
116 * parse_page.c * 137 * parse_page.c *
117 **************** */ 138 **************** */
118 139
119extern 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,
120 psiconv_u32 off, int *length, 142 psiconv_u32 off, int *length,
121 psiconv_page_header *result); 143 psiconv_page_header *result);
122 144
123extern 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,
124 psiconv_u32 off, int *length, 147 psiconv_u32 off, int *length,
125 psiconv_page_layout_section *result); 148 psiconv_page_layout_section *result);
126 149
127/* ****************** 150/* ******************
128 * parse_common.c * 151 * parse_common.c *
129 ****************** */ 152 ****************** */
130 153
131extern 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,
132 psiconv_u32 off, int *length, 156 psiconv_u32 off, int *length,
133 psiconv_header_section *result); 157 psiconv_header_section *result);
134 158
135extern 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,
136 int lev, psiconv_u32 off, 161 int lev, psiconv_u32 off,
137 int *length, 162 int *length,
138 psiconv_section_table_section *result); 163 psiconv_section_table_section *result);
139 164
140extern 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,
141 int lev, psiconv_u32 off, int *length, 167 int lev, psiconv_u32 off, int *length,
142 psiconv_application_id_section *result); 168 psiconv_application_id_section *result);
143 169
144extern 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,
145 psiconv_u32 off, int *length, 172 psiconv_u32 off, int *length,
146 psiconv_text_and_layout *result); 173 psiconv_text_and_layout *result);
147 174
148extern 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,
149 int lev,psiconv_u32 off, 177 int lev,psiconv_u32 off,
150 int *length, 178 int *length,
151 psiconv_text_and_layout result, 179 psiconv_text_and_layout result,
152 psiconv_word_styles_section styles); 180 const psiconv_word_styles_section styles);
181
153extern 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,
154 int lev,psiconv_u32 off, 184 int lev,psiconv_u32 off,
155 int *length, 185 int *length,
156 psiconv_text_and_layout result, 186 psiconv_text_and_layout result,
157 psiconv_character_layout base_char, 187 const psiconv_character_layout base_char,
158 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
159 209
160 210
161/* ****************** 211/* ******************
162 * parse_texted.c * 212 * parse_texted.c *
163 ****************** */ 213 ****************** */
164 214
165extern 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,
166 psiconv_u32 off, int *length, 217 psiconv_u32 off, int *length,
167 psiconv_texted_section *result, 218 psiconv_texted_section *result,
168 psiconv_character_layout base_char, 219 psiconv_character_layout base_char,
169 psiconv_paragraph_layout base_para); 220 psiconv_paragraph_layout base_para);
170 221
171 222
172/* **************** 223/* ****************
173 * parse_word.c * 224 * parse_word.c *
174 **************** */ 225 **************** */
175 226
176extern 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,
177 psiconv_u32 off, int *length, 229 psiconv_u32 off, int *length,
178 psiconv_word_status_section *result); 230 psiconv_word_status_section *result);
179 231
180extern 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,
181 psiconv_u32 off, int *length, 234 psiconv_u32 off, int *length,
182 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
183 352
184 353
185/* ***************** 354/* *****************
186 * parse_image.c * 355 * parse_image.c *
187 ***************** */ 356 ***************** */
188 357
189extern 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,
190 psiconv_u32 off, int *length, 360 psiconv_u32 off, int *length,
191 int isclipart, 361 int isclipart,
192 psiconv_paint_data_section *result); 362 psiconv_paint_data_section *result);
193 363
194extern 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,
195 psiconv_u32 off, int *length, 366 psiconv_u32 off, int *length,
196 psiconv_jumptable_section *result); 367 psiconv_jumptable_section *result);
368
197extern 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,
198 psiconv_u32 off, int *length, int is_object, 371 psiconv_u32 off, int *length,
199 psiconv_sketch_section *result); 372 psiconv_sketch_section *result);
373
200extern 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,
201 psiconv_u32 off, int *length, 376 psiconv_u32 off, int *length,
202 psiconv_clipart_section *result); 377 psiconv_clipart_section *result);
203 378
204 379
205 380
207 382
208/* **************** 383/* ****************
209 * parse_driver.c * 384 * parse_driver.c *
210 **************** */ 385 **************** */
211 386
212extern 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,
213 psiconv_u32 off, psiconv_texted_f *result); 389 psiconv_u32 off, psiconv_texted_f *result);
214 390
215extern 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,
216 psiconv_u32 off, psiconv_word_f *result); 393 psiconv_u32 off, psiconv_word_f *result);
217 394
218extern 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,
219 psiconv_u32 off, psiconv_mbm_f *result); 397 psiconv_u32 off, psiconv_mbm_f *result);
220 398
221extern 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,
222 psiconv_u32 off, psiconv_sketch_f *result); 401 psiconv_u32 off, psiconv_sketch_f *result);
223 402
224extern 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,
225 psiconv_u32 off, psiconv_clipart_f *result); 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
226#ifdef __cplusplus 410#ifdef __cplusplus
227} 411}
228#endif /* __cplusplus */ 412#endif /* __cplusplus */
229 413
230#endif /* PSICONV_PARSE_ROUTINES_H */ 414#endif /* PSICONV_PARSE_ROUTINES_H */

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

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