Source code

Revision control

Copy as Markdown

Other Tools

# PR_GetSpecialFD
Gets the file descriptor that represents the standard input, output, or
error stream.
## Syntax
```{code}
#include <prio.h>
PRFileDesc* PR_GetSpecialFD(PRSpecialFD id);
```
### Parameter
The function has the following parameter:
`id`
: A pointer to an enumerator of type `PRSpecialFD`, indicating the
type of I/O stream desired: `PR_StandardInput`,
`PR_StandardOutput`, or `PR_StandardError`.
### Returns
If the `id` parameter is valid, {ref}`PR_GetSpecialFD` returns a file
descriptor that represents the corresponding standard I/O stream.
Otherwise, {ref}`PR_GetSpecialFD` returns `NULL` and sets the error to
`PR_INVALID_ARGUMENT_ERROR`.
## Description
Type `PRSpecialFD` is defined as follows:
```{code}
typedef enum PRSpecialFD{
PR_StandardInput,
PR_StandardOutput,
PR_StandardError
} PRSpecialFD;
```
`#define PR_STDIN PR_GetSpecialFD(PR_StandardInput)`
`#define PR_STDOUT PR_GetSpecialFD(PR_StandardOutput)`
`#define PR_STDERR PR_GetSpecialFD(PR_StandardError)`
File descriptors returned by {ref}`PR_GetSpecialFD` are owned by the
runtime and should not be closed by the caller.