code: func (h *Header) UnmarshalBinary(data []byte) error {
  	buf := bytes.NewBuffer(data)
  
  	err := binary.Read(buf, binary.LittleEndian, h)
  	if err != nil {
  		return fmt.Errorf("reading hgfs header: %s", err)
  	}
  
  	if h.Dummy != OpNewHeader {
  		return fmt.Errorf("expected hgfs header with OpNewHeader (%#x), got: %#x", OpNewHeader, h.Dummy)
  	}
  
  	return nil
  }
docs: // UnmarshalBinary implements the encoding.BinaryUnmarshaler interface