summaryrefslogtreecommitdiff
path: root/internal/fusefrontend/args.go
blob: ddfb9dcfd326f9e7925bfa1add6f039b8e4dd4e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package fusefrontend

import (
	"github.com/rfjakob/gocryptfs/internal/cryptocore"
)

// Args is a container for arguments that are passed from main() to fusefrontend
type Args struct {
	Masterkey []byte
	// Cipherdir is the backing storage directory (absolute path).
	// For reverse mode, Cipherdir actually contains *plaintext* files.
	Cipherdir      string
	CryptoBackend  cryptocore.AEADTypeEnum
	PlaintextNames bool
	LongNames      bool
	// Should we chown a file after it has been created?
	// This only makes sense if (1) allow_other is set and (2) we run as root.
	PreserveOwner bool
	// ConfigCustom is true when the user select a non-default config file
	// location. If it is false, reverse mode maps ".gocryptfs.reverse.conf"
	// to "gocryptfs.conf" in the plaintext dir.
	ConfigCustom bool
	// Raw64 is true when RawURLEncoding (without padding) should be used for
	// file names.
	// Corresponds to the Raw64 feature flag introduced in gocryptfs v1.2.
	Raw64 bool
	// NoPrealloc disables automatic preallocation before writing
	NoPrealloc bool
	// Use HKDF key derivation.
	// Corresponds to the HKDF feature flag introduced in gocryptfs v1.3.
	HKDF bool
	// Try to serialize read operations, "-serialize_reads"
	SerializeReads bool
}