code: func (f *FileNameV3) MarshalBinary() ([]byte, error) {
  	name := f.Name
  	f.Length = uint32(len(f.Name))
  	if f.Length == 0 {
  		// field is defined as 'char name[1];', this byte is required for min sizeof() validation
  		name = "\x00"
  	}
  	return MarshalBinary(&f.Length, &f.Flags, &f.CaseType, &f.ID, name)
  }
docs: // MarshalBinary implements the encoding.BinaryMarshaler interface