summaryrefslogtreecommitdiff
path: root/src/main/kotlin/FileMode.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/FileMode.kt')
-rw-r--r--src/main/kotlin/FileMode.kt32
1 files changed, 0 insertions, 32 deletions
diff --git a/src/main/kotlin/FileMode.kt b/src/main/kotlin/FileMode.kt
deleted file mode 100644
index 81712e6..0000000
--- a/src/main/kotlin/FileMode.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * The mode in which to open or create a file. For directories, it's illegal for directories to be written, truncated,
- * or removed on close.
- *
- * @param mode The actual mode, as described by the [Mode] enum class.
- * @param truncate Set or unset the truncation bit. It requires the write permission.
- * @param removeClose Set or unset the "remove on close" bit. It requires the remove permission in the parent directory.
- */
-data class FileMode(val mode: Mode, val truncate: Boolean, val removeClose: Boolean) {
- enum class Mode(val value: UByte) {
- READ(0u),
- WRITE(1u),
- READ_WRITE(2u),
- EXECUTE(3u)
- }
-
- /**
- * Turn the mode described by the [FileMode] fields into a mode byte.
- */
- fun toModeByte(): UByte {
- var byte: UByte = 0u
- byte = byte.or(this.mode.value)
- if (truncate) {
- byte = byte.or(0x10u)
- }
- if (removeClose) {
- byte = byte.or(0x40u)
- }
-
- return byte
- }
-} \ No newline at end of file