when posix is not enough
you can call intrinsics instead
gcc doesn't understand "#pragma intrinsic", so you will need to declare all parameters including any hidden ones
#include <mpe.h> for ccode() and _mpe_fileno()
#include <fcntl.h> for _MPE_FILENO() and _POSIX_FILENO()