1 
2 #define OLEUW_ELEMENT_10NATIVE 10
3 #define OLEUW_ELEMENT_10NATIVE_STRING "Ole10Native"
4 
5 #define OLEUW_OK 0
6 #define OLEUW_STREAM_NOT_DECODED 100
7 
8 struct OLEUNWRAP_object
9 {
10     int (*filename_report_fn)(char *);
11     int debug;
12     int verbose;
13     int save_unknown_streams;
14 };
15 
16 
17 int OLEUNWRAP_init( struct OLEUNWRAP_object *oleuw );
18 int OLEUNWRAP_set_debug( struct OLEUNWRAP_object *oleuw, int level );
19 int OLEUNWRAP_set_verbose( struct OLEUNWRAP_object *oleuw, int level );
20 int OLEUNWRAP_set_save_unknown_streams( struct OLEUNWRAP_object *oleuw, int level );
21 
22 int OLEUNWRAP_save_stream( struct OLEUNWRAP_object *oleuw, char *fname, char *decode_path, char *stream, size_t bytes );
23 int OLEUNWRAP_decode_attachment( struct OLEUNWRAP_object *oleuw, char *stream, size_t stream_size, char *decode_path );
24 int OLEUNWRAP_decodestream( struct OLEUNWRAP_object *oleuw, char *element_string, char *stream, size_t stream_size, char *decode_path );
25 
26 int OLEUNWRAP_set_filename_report_fn( struct OLEUNWRAP_object *oleuw, int (*ptr_to_fn)(char *) );
27 
28 int OLEUNWRAP_sanitize_filename(char *fname);
29