summaryrefslogtreecommitdiff
path: root/pkg/binstruct
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/binstruct')
-rw-r--r--pkg/binstruct/binstruct_test.go28
-rw-r--r--pkg/binstruct/l2.go9
2 files changed, 18 insertions, 19 deletions
diff --git a/pkg/binstruct/binstruct_test.go b/pkg/binstruct/binstruct_test.go
index fc7eab4..382a200 100644
--- a/pkg/binstruct/binstruct_test.go
+++ b/pkg/binstruct/binstruct_test.go
@@ -12,24 +12,24 @@ func TestSmoke(t *testing.T) {
type UUID [16]byte
type PhysicalAddr int64
type DevItem struct {
- DeviceID uint64 `bin:"off=0, siz=8, desc=device id"`
+ DeviceID uint64 `bin:"off=0, siz=8"` // device id
- NumBytes uint64 `bin:"off=8, siz=8, desc=number of bytes"`
- NumBytesUsed uint64 `bin:"off=10, siz=8, desc=number of bytes used"`
+ NumBytes uint64 `bin:"off=8, siz=8"` // number of bytes
+ NumBytesUsed uint64 `bin:"off=10, siz=8"` // number of bytes used
- IOOptimalAlign uint32 `bin:"off=18, siz=4, desc=optimal I/O align"`
- IOOptimalWidth uint32 `bin:"off=1c, siz=4, desc=optimal I/O width"`
- IOMinSize uint32 `bin:"off=20, siz=4, desc=minimal I/O size (sector size)"`
+ IOOptimalAlign uint32 `bin:"off=18, siz=4"` // optimal I/O align
+ IOOptimalWidth uint32 `bin:"off=1c, siz=4"` // optimal I/O width
+ IOMinSize uint32 `bin:"off=20, siz=4"` // minimal I/O size (sector size)
- Type uint64 `bin:"off=24, siz=8, desc=type"`
- Generation uint64 `bin:"off=2c, siz=8, desc=generation"`
- StartOffset uint64 `bin:"off=34, siz=8, desc=start offset"`
- DevGroup uint32 `bin:"off=3c, siz=4, desc=dev group"`
- SeekSpeed uint8 `bin:"off=40, siz=1, desc=seek speed"`
- Bandwidth uint8 `bin:"off=41, siz=1, desc=bandwidth"`
+ Type uint64 `bin:"off=24, siz=8"` // type
+ Generation uint64 `bin:"off=2c, siz=8"` // generation
+ StartOffset uint64 `bin:"off=34, siz=8"` // start offset
+ DevGroup uint32 `bin:"off=3c, siz=4"` // dev group
+ SeekSpeed uint8 `bin:"off=40, siz=1"` // seek speed
+ Bandwidth uint8 `bin:"off=41, siz=1"` // bandwidth
- DevUUID UUID `bin:"off=42, siz=10, desc=device UUID"`
- FSUUID UUID `bin:"off=52, siz=10, desc=FS UUID"`
+ DevUUID UUID `bin:"off=42, siz=10"` // device UUID
+ FSUUID UUID `bin:"off=52, siz=10"` // FS UUID
binstruct.End `bin:"off=62"`
}
diff --git a/pkg/binstruct/l2.go b/pkg/binstruct/l2.go
index 32aa313..c9b9a9c 100644
--- a/pkg/binstruct/l2.go
+++ b/pkg/binstruct/l2.go
@@ -117,9 +117,8 @@ func genStructHandler(structInfo reflect.Type) (handler, error) {
type tag struct {
skip bool
- off int64
- siz int64
- desc string
+ off int64
+ siz int64
}
func parseStructTag(str string) (tag, error) {
@@ -151,8 +150,8 @@ func parseStructTag(str string) (tag, error) {
return tag{}, err
}
ret.siz = vint
- case "desc":
- ret.desc = val
+ default:
+ return tag{}, fmt.Errorf("unrecognized option %q", key)
}
}
return ret, nil