Scroll to navigation

SDL_ProcessIO(3type) SDL3 DATATYPES SDL_ProcessIO(3type)

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_INHERIT , 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.1.3.

SEE ALSO

(3), SDL_CreateProcessWithProperties(3), (3), SDL_GetProcessProperties(3), (3), SDL_ReadProcess(3), (3), SDL_GetProcessInput(3), (3), SDL_GetProcessOutput(3)

SDL 3.1.6 Simple Directmedia Layer