---
name: "SDL_ProcessIO"
section: "3type"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_ProcessIO"
---

# SDL\_ProcessIO(3type)

Description of where standard I/O should be directed when creating a process.

## NAME

SDL\_ProcessIO - Description of where standard I/O should be directed when creating a process.

## HEADER FILE

Defined in SDL3/SDL\_process.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**typedef enum SDL\_ProcessIO** **{**     **SDL\_PROCESS\_STDIO\_INHERITED,    /\*\*\< The I/O stream is inherited from the application. \*/**     **SDL\_PROCESS\_STDIO\_NULL,         /\*\*\< The I/O stream is ignored. \*/**     **SDL\_PROCESS\_STDIO\_APP,          /\*\*\< The I/O stream is connected to a new SDL\_IOStream that the application can read or write \*/**     **SDL\_PROCESS\_STDIO\_REDIRECT      /\*\*\< The I/O stream is redirected to an existing SDL\_IOStream. \*/** **} SDL\_ProcessIO;**

## DESCRIPTION

If a standard I/O stream is set to

**SDL\_PROCESS\_STDIO\_INHERITED** , it will go to the same place as the application's I/O stream. This is the default for standard output and standard error.

If a standard I/O stream is set to

**SDL\_PROCESS\_STDIO\_NULL** , it is connected to **NUL:** on Windows and **/dev/null** on POSIX systems. This is the default for standard input.

If a standard I/O stream is set to

**SDL\_PROCESS\_STDIO\_APP** , it is connected to a new

**SDL\_IOStream**\
  that is available to the application. Standard input will be available as

**SDL\_PROP\_PROCESS\_STDIN\_POINTER** and allows  **SDL\_GetProcessInput** (), standard output will be available as

**SDL\_PROP\_PROCESS\_STDOUT\_POINTER** and allows  **SDL\_ReadProcess** () and

**SDL\_GetProcessOutput** (), and standard error will be available as

**SDL\_PROP\_PROCESS\_STDERR\_POINTER** in the properties for the created process.

If a standard I/O stream is set to

**SDL\_PROCESS\_STDIO\_REDIRECT** , it is connected to an existing  **SDL\_IOStream**\
  provided by the application. Standard input is provided using

**SDL\_PROP\_PROCESS\_CREATE\_STDIN\_POINTER** , standard output is provided using

**SDL\_PROP\_PROCESS\_CREATE\_STDOUT\_POINTER** , and standard error is provided using

**SDL\_PROP\_PROCESS\_CREATE\_STDERR\_POINTER** in the creation properties. These existing streams should be closed by the application once the new process is created.

In order to use an  **SDL\_IOStream**\
  with

**SDL\_PROCESS\_STDIO\_REDIRECT** , it must have

**SDL\_PROP\_IOSTREAM\_WINDOWS\_HANDLE\_POINTER** or

**SDL\_PROP\_IOSTREAM\_FILE\_DESCRIPTOR\_NUMBER** set. This is true for streams representing files and process I/O.

## AVAILABILITY

This enum is available since SDL 3.2.0.

## SEE ALSO

**•**(3), [**SDL\_CreateProcessWithProperties**(3)](/SDL_CreateProcessWithProperties/3.md), **•**(3), [**SDL\_GetProcessProperties**(3)](/SDL_GetProcessProperties/3.md), **•**(3), [**SDL\_ReadProcess**(3)](/SDL_ReadProcess/3.md), **•**(3), [**SDL\_GetProcessInput**(3)](/SDL_GetProcessInput/3.md), **•**(3), [**SDL\_GetProcessOutput**(3)](/SDL_GetProcessOutput/3.md)
