update copyright year
[claws.git] / src / plugins / archive / archiver_prefs.h
1 /*
2  * Claws Mail -- a GTK based, lightweight, and fast e-mail client
3  * Copyright (C) 1999-2018 Michael Rasmussen and the Claws Mail Team
4  *
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
7  * the Free Software Foundation; either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  * 
18  */
19
20 #ifndef __ARCHIVERPREFS__
21 #define __ARCHIVERPREFS__
22
23 #include <glib.h>
24 #include <archive.h>
25
26 typedef struct _ArchiverPrefs   ArchiverPrefs;
27
28 typedef enum {
29         COMPRESSION_GZIP,
30         COMPRESSION_BZIP,
31     COMPRESSION_COMPRESS,
32 #if ARCHIVE_VERSION_NUMBER >= 2006990
33         COMPRESSION_LZMA,
34         COMPRESSION_XZ,
35 #endif
36 #if ARCHIVE_VERSION_NUMBER >= 3000000
37         COMPRESSION_LZIP,
38 #endif
39 #if ARCHIVE_VERSION_NUMBER >= 3001000
40         COMPRESSION_LRZIP,
41         COMPRESSION_LZOP,
42         COMPRESSION_GRZIP,
43 #endif
44 #if ARCHIVE_VERSION_NUMBER >= 3001900
45         COMPRESSION_LZ4,
46 #endif
47     COMPRESSION_NONE
48 } CompressionType;
49
50 typedef enum {
51         FORMAT_TAR,
52         FORMAT_SHAR,
53         FORMAT_CPIO,
54         FORMAT_PAX
55 } ArchiveFormat;
56
57 struct _ArchiverPrefs
58 {
59         gchar           *save_folder;
60         CompressionType compression;
61         ArchiveFormat   format;
62         gint            recursive;
63         gint            md5sum;
64         gint            rename;
65     gint        unlink;
66 };
67
68 extern ArchiverPrefs archiver_prefs;
69 void archiver_prefs_init(void);
70 void archiver_prefs_done(void);
71
72 #endif
73