@Override
	public DataType toDataType() throws DuplicateNameException, IOException {
		StructureDataType dt = new StructureDataType("dyld_chained_import", 0);
		dt.setPackingEnabled(true);
		try {
			switch (imports_format) {
				case DYLD_CHAINED_IMPORT:
					dt.addBitField(DWORD, 8, "lib_ordinal", null);
					dt.addBitField(DWORD, 1, "weak_import", null);
					dt.addBitField(DWORD, 23, "name_offset", null);
					break;
				case DYLD_CHAINED_IMPORT_ADDEND:
					dt.addBitField(DWORD, 8, "lib_ordinal", null);
					dt.addBitField(DWORD, 1, "weak_import", null);
					dt.addBitField(DWORD, 23, "name_offset", null);
					dt.add(DWORD, "addend", null);
					break;
				case DYLD_CHAINED_IMPORT_ADDEND64:
					dt.addBitField(QWORD, 16, "lib_ordinal", null);
					dt.addBitField(QWORD, 1, "weak_import", null);
					dt.addBitField(QWORD, 15, "reserved", null);
					dt.addBitField(QWORD, 32, "name_offset", null);
					dt.add(QWORD, "addend", null);
					break;
				default:
					throw new IOException("Bad Chained import format: " + imports_format);
			}
		}
		catch (InvalidDataTypeException exc) {
			// ignore
		}
		dt.setCategoryPath(new CategoryPath(MachConstants.DATA_TYPE_CATEGORY));
		return dt;
	}
Represents a dyld_chained_import structure.

@see <a href="https://github.com/apple-oss-distributions/dyld/blob/main/include/mach-o/fixup-chains.h">mach-o/fixup-chains.h</a>
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/macho/commands/chained/DyldChainedImport.java