Actually, I should clarify that a bit. Both fgetc() and fread() are blocking or non-blocking depending on how you open the port.
fp = fopen("ittyc:", (pointer)(IO_SERIAL_NON_BLOCKING));
The IO_SERIAL_NON_BLOCKING flag is explained in the MQX I/O Drivers User's Guide, which is in ...\Freescale\Freescale_MQX_4_0\doc\mqx\MQXIOUG.pdf