Archiver plugin update and review:
[claws.git] / src / plugins / archive / libarchive_archive.h
index f33e4ad97f5d341225923ccf1c541e70a64eb1e4..1659cc6fae7a599e0fc37ee45822acc2f636d6ef 100644 (file)
 #include <glib.h>
 #include "folder.h"
 
+#include <archive.h>
+
 typedef enum _COMPRESS_METHOD COMPRESS_METHOD;
 enum _COMPRESS_METHOD {
-               ZIP,
+               GZIP,
                BZIP2,
         COMPRESS,
+#if ARCHIVE_VERSION_NUMBER >= 2006990
+               LZMA,
+               XZ,
+#endif
+#if ARCHIVE_VERSION_NUMBER >= 3000000
+               LZIP,
+#endif
+#if ARCHIVE_VERSION_NUMBER >= 3001000
+               LRZIP,
+               LZOP,
+               GRZIP,
+#endif
+#if ARCHIVE_VERSION_NUMBER >= 3001900
+               LZ4,
+#endif
         NO_COMPRESS
 };
 
@@ -42,9 +59,6 @@ enum _ARCHIVE_FORMAT {
                CPIO
 };
 
-enum FILE_FLAGS { NO_FLAGS, ARCHIVE_EXTRACT_PERM, ARCHIVE_EXTRACT_TIME,
-                               ARCHIVE_EXTRACT_ACL, ARCHIVE_EXTRACT_FFLAGS };
-
 typedef struct _MsgTrash MsgTrash;
 struct _MsgTrash {
     FolderItem* item;
@@ -52,7 +66,6 @@ struct _MsgTrash {
     GSList* msgs;
 };
 
-
 MsgTrash* new_msg_trash(FolderItem* item);
 void archive_free_archived_files();
 void archive_add_msg_mark(MsgTrash* trash, MsgInfo* msg);
@@ -70,4 +83,3 @@ void archive_scan_folder(const char* dir);
 #endif
 
 #endif
-