public static Structure createArtificialGoPcHeaderStructure(CategoryPath cp,
			DataTypeManager dtm) {
		// this manually creates a minimal struct that matches the header of a <=1.15 pclntab
		// section
		StructureDataType struct = new StructureDataType(cp, GO_STRUCTURE_NAME, 0, dtm);
		struct.setDescription(
			"Artificial structure created by Ghidra to represent the header of the pclntable");
		struct.setPackingEnabled(true);
		struct.add(AbstractIntegerDataType.getUnsignedDataType(4, null), "magic", null);
		struct.add(AbstractIntegerDataType.getUnsignedDataType(1, null), "pad1", null);
		struct.add(AbstractIntegerDataType.getUnsignedDataType(1, null), "pad2", null);
		struct.add(AbstractIntegerDataType.getUnsignedDataType(1, null), "minLC", null);
		struct.add(AbstractIntegerDataType.getUnsignedDataType(1, null), "ptrSize", null);

		return struct;
	}
Returns true if there is a pclntab at the current position of the specified ByteProvider.

@param provider {@link ByteProvider}
@return boolean true if the byte provider has the magic signature of a pclntab
@throws IOException if error reading
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/golang/rtti/GoPcHeader.java