public static DataType getDataType(Program program) {

		DataTypeManager dataTypeManager = program.getDataTypeManager();
		boolean isRelative = isRelative(program);
		CategoryPath categoryPath = new CategoryPath(CATEGORY_PATH);
		StructureDataType struct =
			getAlignedPack4Structure(dataTypeManager, categoryPath, STRUCTURE_NAME);

		// Add the components.
		DataType compDt;

		/* comps[0] */
		DataType ehStateDt = MSDataTypeUtils.getEHStateDataType(program);
		if (ehStateDt == null) {
			ehStateDt = new IntegerDataType(dataTypeManager);
		}
		struct.add(ehStateDt, "toState", null);

		/* comps[1] */
		if (isRelative) {
			compDt = new IBO32DataType(dataTypeManager);
		}
		else {

			FunctionDefinitionDataType functionDefDt = new FunctionDefinitionDataType(
				new CategoryPath("/ehdata.h/functions"), "action", dataTypeManager);
			functionDefDt.setReturnType(new VoidDataType(dataTypeManager));
			compDt = new PointerDataType(functionDefDt, dataTypeManager);
		}
		struct.add(compDt, "action", null);

		TypedefDataType typedefDt =
			new TypedefDataType(categoryPath, DATA_TYPE_NAME, struct, dataTypeManager);

		return MSDataTypeUtils.getMatchingDataType(program, typedefDt);
	}
This gets the UnwindMapEntry structure for the indicated program.
@param program the program which will contain this data type. 
@return the UnwindMapEntry structure.
Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/cmd/data/exceptionhandling/EHUnwindModel.java