unrar_async/
flags.rs

1/// The actions that can be taken on an archive
2#[derive(Clone, Copy, Debug, Eq, PartialEq)]
3#[repr(u8)]
4pub enum OpenMode {
5	List = unrar_sys::RAR_OM_LIST as u8,
6	Extract = unrar_sys::RAR_OM_EXTRACT as u8,
7	ListSplit = unrar_sys::RAR_OM_LIST_INCSPLIT as u8
8}
9
10/// The operations that can be performed on an archive's contents
11#[derive(Clone, Copy, Debug, Eq, PartialEq)]
12#[repr(u8)]
13pub enum Operation {
14	Skip = unrar_sys::RAR_SKIP as u8,
15	Test = unrar_sys::RAR_TEST as u8,
16	Extract = unrar_sys::RAR_EXTRACT as u8
17}
18
19bitflags::bitflags! {
20	/// Flags representing the properties of an archive
21	#[derive(Default)]
22	pub struct ArchiveFlags: u16 {
23		const VOLUME = unrar_sys::ROADF_VOLUME as u16;
24		const COMMENT = unrar_sys::ROADF_COMMENT as u16;
25		const LOCK = unrar_sys::ROADF_LOCK as u16;
26		const SOLID = unrar_sys::ROADF_SOLID as u16;
27		const NEW_NUMBERING = unrar_sys::ROADF_NEWNUMBERING as u16;
28		const SIGNED = unrar_sys::ROADF_SIGNED as u16;
29		const RECOVERY = unrar_sys::ROADF_RECOVERY as u16;
30		const ENC_HEADERS = unrar_sys::ROADF_ENCHEADERS as u16;
31		const FIRST_VOLUME = unrar_sys::ROADF_FIRSTVOLUME as u16;
32	}
33}
34
35/// Types of volumes that comprise a multi-part archive
36#[derive(Clone, Copy, Debug, Eq, PartialEq)]
37pub enum VolumeInfo {
38	None,
39	First,
40	Subsequent
41}
42