All codes can be read from the OBII port and most are emissions related, but there are proprietary systems in more advanced engines that also use the CEL to output codes for failure of those systems...ie. secondary intake butterfly components, vtaack of course

, etc.