@Override
	public DataType toDataType() throws DuplicateNameException, IOException {
		Structure struct = new StructureDataType(StructConverterUtil.parseName(getClass()), 0);
		struct.add(WORD, "f_magic", null);
		struct.add(WORD, "f_nscns", null);
		struct.add(DWORD, "f_timdat", null);
		struct.add(DWORD, "f_symptr", null);
		struct.add(DWORD, "f_nsyms", null);
		struct.add(WORD, "f_opthdr", null);
		struct.add(WORD, "f_flags", null);
		if (isCoffLevelOneOrTwo()) {
			struct.add(WORD, "f_target_id", null);
		}
		return struct;
	}
Tests if the given {@link ByteProvider} is a valid {@link CoffFileHeader}.
<p>
To avoid false positives when the machine type is 
{@link CoffMachineType#IMAGE_FILE_MACHINE_UNKNOWN}, we do an additional check on some extra
bytes at the beginning of the given {@link ByteProvider} to make sure the entire file isn't
all 0's.

@return True if this is a is a valid {@link CoffFileHeader}; otherwise, false
@throws IOException if there was an IO-related issue
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/coff/CoffFileHeader.java