static DataType getSimpleDataType(Program program) {

		DataTypeManager dataTypeManager = program.getDataTypeManager();
		boolean is64Bit = MSDataTypeUtils.is64Bit(program);
		DataType rtti0Dt = TypeDescriptorModel.getDataType(program);
		DataType rtti0RefDt =
			is64Bit ? new IBO32DataType(dataTypeManager) : new PointerDataType(rtti0Dt);
		DataType rtti3RefDt =
			is64Bit ? new IBO32DataType(dataTypeManager) : new PointerDataType();

		CategoryPath categoryPath = new CategoryPath(CATEGORY_PATH);
		StructureDataType struct =
			getAlignedPack4Structure(dataTypeManager, categoryPath, STRUCTURE_NAME);

		// Add the components.
		struct.add(rtti0RefDt, "pTypeDescriptor", "ref to TypeDescriptor (RTTI 0) for class");
		DWordDataType dWordDataType = new DWordDataType(dataTypeManager);
		struct.add(dWordDataType, "numContainedBases",
			"count of extended classes in BaseClassArray (RTTI 2)");
		Structure pmdDataType = MSDataTypeUtils.getPMDDataType(program);
		struct.add(pmdDataType, "where", "member displacement structure");
		struct.add(dWordDataType, "attributes", "bit flags");
		struct.add(rtti3RefDt, "pClassHierarchyDescriptor",
			"ref to ClassHierarchyDescriptor (RTTI 3) for class");

		return new TypedefDataType(categoryPath, DATA_TYPE_NAME, struct, dataTypeManager);
	}
This gets the BaseClassDescriptor (RTTI 1) structure for the indicated program.
@param program the program which will contain this data type. 
@return the BaseClassDescriptor (RTTI 1) structure.
Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/cmd/data/rtti/Rtti1Model.java