summaryrefslogtreecommitdiff
path: root/src/fsentry.rs
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-02-19 20:19:15 +0200
committerLars Wirzenius <liw@liw.fi>2021-02-19 20:19:15 +0200
commitff17410cbee1492a5ca87869f76a2dafb7f90430 (patch)
tree0266517f6efc8027c5c58c7634de5e7176ee1a64 /src/fsentry.rs
parent248e5ab7518746c0ac43747040290e9b5d138028 (diff)
downloadobnam2-ff17410cbee1492a5ca87869f76a2dafb7f90430.tar.gz
feat: backup and restore named pipes (FIFOs)
Diffstat (limited to 'src/fsentry.rs')
-rw-r--r--src/fsentry.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/fsentry.rs b/src/fsentry.rs
index 9384ec6..570877a 100644
--- a/src/fsentry.rs
+++ b/src/fsentry.rs
@@ -129,6 +129,7 @@ pub enum FilesystemKind {
Directory,
Symlink,
Socket,
+ Fifo,
}
impl FilesystemKind {
@@ -141,6 +142,8 @@ impl FilesystemKind {
FilesystemKind::Symlink
} else if file_type.is_socket() {
FilesystemKind::Socket
+ } else if file_type.is_fifo() {
+ FilesystemKind::Fifo
} else {
panic!("unknown file type {:?}", file_type);
}
@@ -152,6 +155,7 @@ impl FilesystemKind {
FilesystemKind::Directory => 1,
FilesystemKind::Symlink => 2,
FilesystemKind::Socket => 3,
+ FilesystemKind::Fifo => 4,
}
}
@@ -161,6 +165,7 @@ impl FilesystemKind {
1 => Ok(FilesystemKind::Directory),
2 => Ok(FilesystemKind::Symlink),
3 => Ok(FilesystemKind::Socket),
+ 4 => Ok(FilesystemKind::Fifo),
_ => Err(FsEntryError::UnknownFileKindCode(code).into()),
}
}
@@ -182,6 +187,7 @@ mod test {
one_file_kind_round_trip(FilesystemKind::Directory);
one_file_kind_round_trip(FilesystemKind::Symlink);
one_file_kind_round_trip(FilesystemKind::Socket);
+ one_file_kind_round_trip(FilesystemKind::Fifo);
}
fn one_file_kind_round_trip(kind: FilesystemKind) {