Zycore 1.5.2
Zyan Core Library for C
Loading...
Searching...
No Matches
Terminal.h File Reference
#include <Zycore/LibC.h>
#include <Zycore/Status.h>
Include dependency graph for Terminal.h:

Go to the source code of this file.

Macros

#define ZYAN_VT100SGR_RESET   "\033[0m"
#define ZYAN_VT100SGR_FG_DEFAULT   "\033[39m"
#define ZYAN_VT100SGR_FG_BLACK   "\033[30m"
#define ZYAN_VT100SGR_FG_RED   "\033[31m"
#define ZYAN_VT100SGR_FG_GREEN   "\033[32m"
#define ZYAN_VT100SGR_FG_YELLOW   "\033[33m"
#define ZYAN_VT100SGR_FG_BLUE   "\033[34m"
#define ZYAN_VT100SGR_FG_MAGENTA   "\033[35m"
#define ZYAN_VT100SGR_FG_CYAN   "\033[36m"
#define ZYAN_VT100SGR_FG_WHITE   "\033[37m"
#define ZYAN_VT100SGR_FG_BRIGHT_BLACK   "\033[90m"
#define ZYAN_VT100SGR_FG_BRIGHT_RED   "\033[91m"
#define ZYAN_VT100SGR_FG_BRIGHT_GREEN   "\033[92m"
#define ZYAN_VT100SGR_FG_BRIGHT_YELLOW   "\033[93m"
#define ZYAN_VT100SGR_FG_BRIGHT_BLUE   "\033[94m"
#define ZYAN_VT100SGR_FG_BRIGHT_MAGENTA   "\033[95m"
#define ZYAN_VT100SGR_FG_BRIGHT_CYAN   "\033[96m"
#define ZYAN_VT100SGR_FG_BRIGHT_WHITE   "\033[97m"
#define ZYAN_VT100SGR_BG_DEFAULT   "\033[49m"
#define ZYAN_VT100SGR_BG_BLACK   "\033[40m"
#define ZYAN_VT100SGR_BG_RED   "\033[41m"
#define ZYAN_VT100SGR_BG_GREEN   "\033[42m"
#define ZYAN_VT100SGR_BG_YELLOW   "\033[43m"
#define ZYAN_VT100SGR_BG_BLUE   "\033[44m"
#define ZYAN_VT100SGR_BG_MAGENTA   "\033[45m"
#define ZYAN_VT100SGR_BG_CYAN   "\033[46m"
#define ZYAN_VT100SGR_BG_WHITE   "\033[47m"
#define ZYAN_VT100SGR_BG_BRIGHT_BLACK   "\033[100m"
#define ZYAN_VT100SGR_BG_BRIGHT_RED   "\033[101m"
#define ZYAN_VT100SGR_BG_BRIGHT_GREEN   "\033[102m"
#define ZYAN_VT100SGR_BG_BRIGHT_YELLOW   "\033[103m"
#define ZYAN_VT100SGR_BG_BRIGHT_BLUE   "\033[104m"
#define ZYAN_VT100SGR_BG_BRIGHT_MAGENTA   "\033[105m"
#define ZYAN_VT100SGR_BG_BRIGHT_CYAN   "\033[106m"
#define ZYAN_VT100SGR_BG_BRIGHT_WHITE   "\033[107m"

Typedefs

typedef enum ZyanStandardStream_ ZyanStandardStream
 Declares the ZyanStandardStream enum.

Enumerations

enum  ZyanStandardStream_ { ZYAN_STDSTREAM_IN , ZYAN_STDSTREAM_OUT , ZYAN_STDSTREAM_ERR }
 Declares the ZyanStandardStream enum. More...

Functions

ZYCORE_EXPORT ZyanStatus ZyanTerminalEnableVT100 (ZyanStandardStream stream)
 Enables VT100 ansi escape codes for the given stream.
ZYCORE_EXPORT ZyanStatus ZyanTerminalIsTTY (ZyanStandardStream stream)
 Checks, if the given standard stream reads from or writes to a terminal.

Macro Definition Documentation

◆ ZYAN_VT100SGR_BG_BLACK

#define ZYAN_VT100SGR_BG_BLACK   "\033[40m"

◆ ZYAN_VT100SGR_BG_BLUE

#define ZYAN_VT100SGR_BG_BLUE   "\033[44m"

◆ ZYAN_VT100SGR_BG_BRIGHT_BLACK

#define ZYAN_VT100SGR_BG_BRIGHT_BLACK   "\033[100m"

◆ ZYAN_VT100SGR_BG_BRIGHT_BLUE

#define ZYAN_VT100SGR_BG_BRIGHT_BLUE   "\033[104m"

◆ ZYAN_VT100SGR_BG_BRIGHT_CYAN

#define ZYAN_VT100SGR_BG_BRIGHT_CYAN   "\033[106m"

◆ ZYAN_VT100SGR_BG_BRIGHT_GREEN

#define ZYAN_VT100SGR_BG_BRIGHT_GREEN   "\033[102m"

◆ ZYAN_VT100SGR_BG_BRIGHT_MAGENTA

#define ZYAN_VT100SGR_BG_BRIGHT_MAGENTA   "\033[105m"

◆ ZYAN_VT100SGR_BG_BRIGHT_RED

#define ZYAN_VT100SGR_BG_BRIGHT_RED   "\033[101m"

◆ ZYAN_VT100SGR_BG_BRIGHT_WHITE

#define ZYAN_VT100SGR_BG_BRIGHT_WHITE   "\033[107m"

◆ ZYAN_VT100SGR_BG_BRIGHT_YELLOW

#define ZYAN_VT100SGR_BG_BRIGHT_YELLOW   "\033[103m"

◆ ZYAN_VT100SGR_BG_CYAN

#define ZYAN_VT100SGR_BG_CYAN   "\033[46m"

◆ ZYAN_VT100SGR_BG_DEFAULT

#define ZYAN_VT100SGR_BG_DEFAULT   "\033[49m"

◆ ZYAN_VT100SGR_BG_GREEN

#define ZYAN_VT100SGR_BG_GREEN   "\033[42m"

◆ ZYAN_VT100SGR_BG_MAGENTA

#define ZYAN_VT100SGR_BG_MAGENTA   "\033[45m"

◆ ZYAN_VT100SGR_BG_RED

#define ZYAN_VT100SGR_BG_RED   "\033[41m"

◆ ZYAN_VT100SGR_BG_WHITE

#define ZYAN_VT100SGR_BG_WHITE   "\033[47m"

◆ ZYAN_VT100SGR_BG_YELLOW

#define ZYAN_VT100SGR_BG_YELLOW   "\033[43m"

◆ ZYAN_VT100SGR_FG_BLACK

#define ZYAN_VT100SGR_FG_BLACK   "\033[30m"

◆ ZYAN_VT100SGR_FG_BLUE

#define ZYAN_VT100SGR_FG_BLUE   "\033[34m"

◆ ZYAN_VT100SGR_FG_BRIGHT_BLACK

#define ZYAN_VT100SGR_FG_BRIGHT_BLACK   "\033[90m"

◆ ZYAN_VT100SGR_FG_BRIGHT_BLUE

#define ZYAN_VT100SGR_FG_BRIGHT_BLUE   "\033[94m"

◆ ZYAN_VT100SGR_FG_BRIGHT_CYAN

#define ZYAN_VT100SGR_FG_BRIGHT_CYAN   "\033[96m"

◆ ZYAN_VT100SGR_FG_BRIGHT_GREEN

#define ZYAN_VT100SGR_FG_BRIGHT_GREEN   "\033[92m"

◆ ZYAN_VT100SGR_FG_BRIGHT_MAGENTA

#define ZYAN_VT100SGR_FG_BRIGHT_MAGENTA   "\033[95m"

◆ ZYAN_VT100SGR_FG_BRIGHT_RED

#define ZYAN_VT100SGR_FG_BRIGHT_RED   "\033[91m"

◆ ZYAN_VT100SGR_FG_BRIGHT_WHITE

#define ZYAN_VT100SGR_FG_BRIGHT_WHITE   "\033[97m"

◆ ZYAN_VT100SGR_FG_BRIGHT_YELLOW

#define ZYAN_VT100SGR_FG_BRIGHT_YELLOW   "\033[93m"

◆ ZYAN_VT100SGR_FG_CYAN

#define ZYAN_VT100SGR_FG_CYAN   "\033[36m"

◆ ZYAN_VT100SGR_FG_DEFAULT

#define ZYAN_VT100SGR_FG_DEFAULT   "\033[39m"

◆ ZYAN_VT100SGR_FG_GREEN

#define ZYAN_VT100SGR_FG_GREEN   "\033[32m"

◆ ZYAN_VT100SGR_FG_MAGENTA

#define ZYAN_VT100SGR_FG_MAGENTA   "\033[35m"

◆ ZYAN_VT100SGR_FG_RED

#define ZYAN_VT100SGR_FG_RED   "\033[31m"

◆ ZYAN_VT100SGR_FG_WHITE

#define ZYAN_VT100SGR_FG_WHITE   "\033[37m"

◆ ZYAN_VT100SGR_FG_YELLOW

#define ZYAN_VT100SGR_FG_YELLOW   "\033[33m"

◆ ZYAN_VT100SGR_RESET

#define ZYAN_VT100SGR_RESET   "\033[0m"

Typedef Documentation

◆ ZyanStandardStream

Enumeration Type Documentation

◆ ZyanStandardStream_

Declares the ZyanStandardStream enum.

Enumerator
ZYAN_STDSTREAM_IN 

The default input stream.

ZYAN_STDSTREAM_OUT 

The default output stream.

ZYAN_STDSTREAM_ERR 

The default error stream.

Function Documentation

◆ ZyanTerminalEnableVT100()

ZYCORE_EXPORT ZyanStatus ZyanTerminalEnableVT100 ( ZyanStandardStream stream)

Enables VT100 ansi escape codes for the given stream.

Parameters
streamEither ZYAN_STDSTREAM_OUT or ZYAN_STDSTREAM_ERR.
Returns
A zyan status code.

This functions returns ZYAN_STATUS_SUCCESS on all non-Windows systems without performing any operations, assuming that VT100 is supported by default.

On Windows systems, VT100 functionality is only supported on Windows 10 build 1607 (anniversary update) and later.

◆ ZyanTerminalIsTTY()

ZYCORE_EXPORT ZyanStatus ZyanTerminalIsTTY ( ZyanStandardStream stream)

Checks, if the given standard stream reads from or writes to a terminal.

Parameters
streamThe standard stream to check.
Returns
ZYAN_STATUS_TRUE, if the stream is bound to a terminal, ZYAN_STATUS_FALSE if not, or another zyan status code if an error occured.