52#ifndef QSC_CONSOLEUTILS_H
53#define QSC_CONSOLEUTILS_H
57QSC_CPLUSPLUS_ENABLED_START
96#define QSC_CONSOLE_MAX_LINE 128ULL
103#define QSC_CONSOLE_STRING_NOT_FOUND -1L
369QSC_CPLUSPLUS_ENABLED_END
QSC_EXPORT_API void qsc_consoleutils_print_concatenated_line(const char **input, size_t count)
Print a double-precision floating point number to the console.
Definition consoleutils.c:457
QSC_EXPORT_API void qsc_consoleutils_set_virtual_terminal(void)
Enable virtual terminal processing mode in the console.
Definition consoleutils.c:725
QSC_EXPORT_API bool qsc_consoleutils_message_confirm(const char *message)
Display a confirmation message and wait for a Y/N response.
Definition consoleutils.c:381
QSC_EXPORT_API void qsc_consoleutils_set_window_clear(void)
Clear all text from the console window.
Definition consoleutils.c:654
QSC_EXPORT_API void qsc_consoleutils_print_line(const char *input)
Print a string to the console with a trailing line break.
Definition consoleutils.c:562
QSC_EXPORT_API void qsc_consoleutils_set_window_size(size_t width, size_t height)
Set the size of the console window.
Definition consoleutils.c:691
QSC_EXPORT_API size_t qsc_consoleutils_get_quoted_string(char *output, const char *input, size_t maxlen)
Extract a quoted string from input.
Definition consoleutils.c:176
QSC_EXPORT_API void qsc_consoleutils_print_hex(const uint8_t *input, size_t inplen, size_t linelen)
Print a byte array as hexadecimal values to the console.
Definition consoleutils.c:476
QSC_EXPORT_API void qsc_consoleutils_print_formatted(const char *input, size_t inplen)
Print a formatted string to the console, ignoring special characters.
Definition consoleutils.c:516
QSC_EXPORT_API void qsc_consoleutils_progress_counter(int32_t seconds)
Display a small spinning progress counter for a specified duration.
Definition consoleutils.c:606
QSC_EXPORT_API size_t qsc_consoleutils_get_line(char *line, size_t maxlen)
Get a line of text from the console.
Definition consoleutils.c:117
QSC_EXPORT_API void qsc_consoleutils_print_uint(uint32_t digit)
Print an unsigned 32-bit integer to the console.
Definition consoleutils.c:588
QSC_EXPORT_API void qsc_consoleutils_send_enter(void)
Send an "enter" (newline) command to the console.
Definition consoleutils.c:631
QSC_EXPORT_API char qsc_consoleutils_get_wait(void)
Wait for user input from the console.
Definition consoleutils.c:241
QSC_EXPORT_API void qsc_consoleutils_print_array(const uint8_t *input, size_t inplen, size_t linelen)
Print a byte array to the console.
Definition consoleutils.c:404
QSC_EXPORT_API void qsc_consoleutils_print_ulong(uint64_t digit)
Print an unsigned 64-bit integer to the console.
Definition consoleutils.c:597
QSC_EXPORT_API void qsc_consoleutils_print_formatted_line(const char *input, size_t inplen)
Print a formatted string to the console with a line break.
Definition consoleutils.c:550
QSC_EXPORT_API size_t qsc_consoleutils_get_formatted_line(char *line, size_t maxlen)
Get a formatted line of text from the console.
Definition consoleutils.c:154
qsc_console_font_color
The console font color choices.
Definition consoleutils.h:110
@ green
Definition consoleutils.h:113
@ blue
Definition consoleutils.h:112
@ red
Definition consoleutils.h:114
@ white
Definition consoleutils.h:111
QSC_EXPORT_API void qsc_consoleutils_print_safe(const char *input)
Print a string safely to the console.
Definition consoleutils.c:574
QSC_EXPORT_API size_t qsc_consoleutils_masked_password(char *output, size_t otplen)
Read a masked password from the console.
Definition consoleutils.c:323
QSC_EXPORT_API bool qsc_consoleutils_line_equals(const char *line1, const char *line2)
Compare two lines of text for equivalence.
Definition consoleutils.c:300
QSC_EXPORT_API void qsc_consoleutils_set_window_buffer(size_t width, size_t height)
Set the vertical scroll buffer size of the console window.
Definition consoleutils.c:636
QSC_EXPORT_API bool qsc_consoleutils_line_contains(const char *line, const char *token)
Check if a line of text contains a given token.
Definition consoleutils.c:283
QSC_EXPORT_API void qsc_consoleutils_hex_to_bin(const char *hexstr, uint8_t *output, size_t length)
Convert a hexadecimal string to a binary (byte) array.
Definition consoleutils.c:250
QSC_EXPORT_API void qsc_consoleutils_set_window_prompt(const char *prompt)
Set the console window prompt string.
Definition consoleutils.c:681
QSC_EXPORT_API void qsc_consoleutils_print_double(double digit)
Print a double-precision floating point number to the console.
Definition consoleutils.c:448
QSC_EXPORT_API char qsc_consoleutils_get_char(void)
Get a character from the console in a blocking manner.
Definition consoleutils.c:104
qsc_console_font_style
The console font style options.
Definition consoleutils.h:122
@ regular
Definition consoleutils.h:123
@ italic
Definition consoleutils.h:125
@ bold
Definition consoleutils.h:124
@ bolditalic
Definition consoleutils.h:126
QSC_EXPORT_API void qsc_consoleutils_set_window_title(const char *title)
Set the title of the console window.
Definition consoleutils.c:710
QSC_EXPORT_API void qsc_consoleutils_colored_message(const char *message, qsc_console_font_color color)
Print a colored console message.
Definition consoleutils.c:62
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.
#define QSC_EXPORT_API
API export macro for Microsoft compilers when importing from a DLL.
Definition qsccommon.h:605