@Override
	public DataType toDataType() throws DuplicateNameException, IOException {
		StructureDataType struct = new StructureDataType("mach_header", 0);
		struct.add(DWORD, "magic", null);
		struct.add(DWORD, "cputype", null);
		struct.add(DWORD, "cpusubtype", null);
		struct.add(DWORD, "filetype", null);
		struct.add(DWORD, "ncmds", null);
		struct.add(DWORD, "sizeofcmds", null);
		struct.add(DWORD, "flags", null);
		if (!_is32bit) {
			struct.add(DWORD, "reserved", null);
		}
		struct.setCategoryPath(new CategoryPath(MachConstants.DATA_TYPE_CATEGORY));
		return struct;
	}
Parses only this {@link MachHeader}'s {@link LoadCommand}s to check to see if one of the
given type exists

@param loadCommandType The type of {@link LoadCommand} to check for
@return True if this {@link MachHeader} contains the given {@link LoadCommand} type
@throws IOException If there was an IO-related error
@see LoadCommandTypes
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/macho/MachHeader.java