00001
00002 #define OLEUW_ELEMENT_10NATIVE 10
00003 #define OLEUW_ELEMENT_10NATIVE_STRING "Ole10Native"
00004
00005 #define OLEUW_OK 0
00006 #define OLEUW_STREAM_NOT_DECODED 100
00007
00008 struct OLEUNWRAP_object {
00009 int (*filename_report_fn)(char *);
00010 int debug;
00011 int verbose;
00012 int save_unknown_streams;
00013 };
00014
00015
00016 int OLEUNWRAP_init( struct OLEUNWRAP_object *oleuw );
00017 int OLEUNWRAP_set_debug( struct OLEUNWRAP_object *oleuw, int level );
00018 int OLEUNWRAP_set_verbose( struct OLEUNWRAP_object *oleuw, int level );
00019 int OLEUNWRAP_set_save_unknown_streams( struct OLEUNWRAP_object *oleuw, int level );
00020
00021 int OLEUNWRAP_save_stream( struct OLEUNWRAP_object *oleuw, char *fname, char *decode_path, char *stream, size_t bytes );
00022 int OLEUNWRAP_decode_attachment( struct OLEUNWRAP_object *oleuw, char *stream, size_t stream_size, char *decode_path );
00023 int OLEUNWRAP_decodestream( struct OLEUNWRAP_object *oleuw, char *element_string, char *stream, size_t stream_size, char *decode_path );
00024
00025 int OLEUNWRAP_set_filename_report_fn( struct OLEUNWRAP_object *oleuw, int (*ptr_to_fn)(char *) );
00026
00027 int OLEUNWRAP_sanitize_filename(char *fname);