version.go 485 B

123456789101112131415161718192021222324252627282930
  1. package v4l2
  2. import (
  3. "fmt"
  4. )
  5. type VersionInfo struct {
  6. value uint32
  7. }
  8. func (v VersionInfo) Major() uint32 {
  9. return v.value >> 16
  10. }
  11. func (v VersionInfo) Minor() uint32 {
  12. return (v.value >> 8) & 0xff
  13. }
  14. func (v VersionInfo) Patch() uint32 {
  15. return v.value & 0xff
  16. }
  17. // Value returns the raw numeric version value
  18. func (v VersionInfo) Value() uint32 {
  19. return v.value
  20. }
  21. func (v VersionInfo) String() string {
  22. return fmt.Sprintf("v%d.%d.%d", v.Major(), v.Minor(), v.Patch())
  23. }