diff options
Diffstat (limited to 'pkg/btrfs/internal')
-rw-r--r-- | pkg/btrfs/internal/misc.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/pkg/btrfs/internal/misc.go b/pkg/btrfs/internal/misc.go index 2a98464..3dc77d6 100644 --- a/pkg/btrfs/internal/misc.go +++ b/pkg/btrfs/internal/misc.go @@ -4,6 +4,7 @@ import ( "time" "lukeshu.com/btrfs-tools/pkg/binstruct" + "lukeshu.com/btrfs-tools/pkg/util" ) type Generation uint64 @@ -15,6 +16,16 @@ type Key struct { binstruct.End `bin:"off=0x11"` } +func (a Key) Cmp(b Key) int { + if d := util.CmpUint(a.ObjectID, b.ObjectID); d != 0 { + return d + } + if d := util.CmpUint(a.ItemType, b.ItemType); d != 0 { + return d + } + return util.CmpUint(a.Offset, b.Offset) +} + type Time struct { Sec int64 `bin:"off=0x0, siz=0x8"` // Number of seconds since 1970-01-01T00:00:00Z. NSec uint32 `bin:"off=0x8, siz=0x4"` // Number of nanoseconds since the beginning of the second. |