Go CLI using cobra with mount, unmount, status, and init subcommands. Unlocks via udisks2 D-Bus (passphrase/keyfile) or cryptsetup (FIDO2/TPM2) with ordered method fallback. Includes NixOS-specific LD_LIBRARY_PATH injection for systemd cryptsetup token plugins. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
25 lines
555 B
Go
25 lines
555 B
Go
package dbus
|
|
|
|
// Sequence represents the value of a monotonically increasing counter.
|
|
type Sequence uint64
|
|
|
|
const (
|
|
// NoSequence indicates the absence of a sequence value.
|
|
NoSequence Sequence = 0
|
|
)
|
|
|
|
// sequenceGenerator represents a monotonically increasing counter.
|
|
type sequenceGenerator struct {
|
|
nextSequence Sequence
|
|
}
|
|
|
|
func (generator *sequenceGenerator) next() Sequence {
|
|
result := generator.nextSequence
|
|
generator.nextSequence++
|
|
return result
|
|
}
|
|
|
|
func newSequenceGenerator() *sequenceGenerator {
|
|
return &sequenceGenerator{nextSequence: 1}
|
|
}
|