@Override
	public DataType toDataType() throws DuplicateNameException, IOException {
		StructureDataType struct = new StructureDataType(Omf51RecordTypes.getName(recordType), 0);
		struct.add(BYTE, "type", null);
		struct.add(WORD, "length", null);
		for (Omf51PublicDef def : defs) {
			struct.add(largeSegmentId ? WORD : BYTE, "seg id", null);
			struct.add(BYTE, "info", null);
			struct.add(WORD, "offset", null);
			struct.add(BYTE, "unused", null);
			struct.add(def.getName().toDataType(), def.getName().getDataTypeSize(), "name", null);
		}
		struct.add(BYTE, "checksum", null);

		struct.setCategoryPath(new CategoryPath(OmfUtils.CATEGORY_PATH));
		return struct;
	}
Creates a new {@link Omf51PublicDefsRecord} record

@param reader A {@link BinaryReader} positioned at the start of the record
@param largeSegmentId True if the segment ID is 2 bytes; false if 1 byte
@throws IOException if an IO-related error occurred
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/omf/omf51/Omf51PublicDefsRecord.java