I can confirm that /dev/stdin and friends work on Linux.
If you are on an otherwise unixy system that does not have these, you should be able to create a FIFO (a.k.a. named pipe) for each stream, spawn child processes to pipe them to STDOUT and STDERR, and hand the FIFO names to C. See "Named Pipes" in perlipc.
In reply to Re^4: redirecting output to STDERR and STDOUT
by TilRMan
in thread redirecting output to STDERR and STDOUT
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |