github.com/u-root/u-root@v7.0.1-0.20200915234505-ad7babab0a8e+incompatible/pkg/smbios/header.go (about) 1 // Copyright 2016-2019 the u-root Authors. All rights reserved 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package smbios 6 7 import ( 8 "bytes" 9 "encoding/binary" 10 "fmt" 11 ) 12 13 // Header is the header common to all table types. 14 type Header struct { 15 Type TableType 16 Length uint8 17 Handle uint16 18 } 19 20 // Parse parses the header from the binary data. 21 func (h *Header) Parse(data []byte) error { 22 return binary.Read(bytes.NewReader(data), binary.LittleEndian, h) 23 } 24 25 // String returns string representation os the header. 26 func (h *Header) String() string { 27 return fmt.Sprintf( 28 "Handle 0x%04X, DMI type %d, %d bytes\n%s", 29 h.Handle, h.Type, h.Length, h.Type) 30 }