/* * Start I/O redirection */ static void startRedirect(const char * /*filename*/, int /*lineno*/, struct iocshRedirect *redirect) { int i; for (i = 0 ; i < NREDIRECTS ; i++, redirect++) { if (redirect->fp != NULL) { switch(i) { case 0: redirect->oldFp = epicsGetThreadStdin(); epicsSetThreadStdin(redirect->fp); redirect->mustRestore = 1; break; case 1: redirect->oldFp = epicsGetThreadStdout(); epicsSetThreadStdout(redirect->fp); redirect->mustRestore = 1; break; case 2: redirect->oldFp = epicsGetThreadStderr(); epicsSetThreadStderr(redirect->fp); redirect->mustRestore = 1; break; } } } }
FILE * epicsShareAPI epicsGetStdout(void) { FILE *fp = epicsGetThreadStdout(); if (!fp) fp = stdout; return fp; }