I have seen the same phenomen recently.
It may be different depending upon what version of XC8 is used, or maybe what DFP pack version is used.
I do Not know why XC8 is suddenly defining symbols with prefix I2C,
the name of the peripheral is MSSP, and the prefix for all registers have traditionally been SSPxxx,
SSPSTAT, SSPCON1, SSPCON2, ...
or with a peripheral index: SSP1xxx, like SSP1STAT, SSP1CON1, SSP1CON2, ...
I do not know wether it is a mistake, or a deliberate change in the device support header files.
Anyway, I found it easier to change the code generated by MCC, than messing with device header files belonging to the compiler.
I did change the enumeration symbol in i2c_master.h from I2C_STOP to I2C_STOP_O,
for Operation return code,
and did a search for where the symbol was used.
post edited by Mysil - 2020/12/04 22:34:28