41#ifndef QSC_CONSOLEUTILS_H
42#define QSC_CONSOLEUTILS_H
46QSC_CPLUSPLUS_ENABLED_START
85#define QSC_CONSOLE_MAX_LINE 128ULL
351QSC_CPLUSPLUS_ENABLED_END
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 common.h:520
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:447
QSC_EXPORT_API void qsc_consoleutils_set_virtual_terminal(void)
Enable virtual terminal processing mode in the console.
Definition consoleutils.c:707
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:371
QSC_EXPORT_API void qsc_consoleutils_set_window_clear(void)
Clear all text from the console window.
Definition consoleutils.c:639
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:552
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:675
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:170
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:466
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:506
QSC_EXPORT_API void qsc_consoleutils_progress_counter(int32_t seconds)
Display a small spinning progress counter for a specified duration.
Definition consoleutils.c:596
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:113
QSC_EXPORT_API void qsc_consoleutils_print_uint(uint32_t digit)
Print an unsigned 32-bit integer to the console.
Definition consoleutils.c:578
QSC_EXPORT_API void qsc_consoleutils_send_enter(void)
Send an "enter" (newline) command to the console.
Definition consoleutils.c:621
QSC_EXPORT_API char qsc_consoleutils_get_wait(void)
Wait for user input from the console.
Definition consoleutils.c:235
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:394
QSC_EXPORT_API void qsc_consoleutils_print_ulong(uint64_t digit)
Print an unsigned 64-bit integer to the console.
Definition consoleutils.c:587
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:540
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:148
qsc_console_font_color
The console font color choices.
Definition consoleutils.h:92
@ green
Definition consoleutils.h:95
@ blue
Definition consoleutils.h:94
@ red
Definition consoleutils.h:96
@ white
Definition consoleutils.h:93
QSC_EXPORT_API void qsc_consoleutils_print_safe(const char *input)
Print a string safely to the console.
Definition consoleutils.c:564
QSC_EXPORT_API size_t qsc_consoleutils_masked_password(char *output, size_t otplen)
Read a masked password from the console.
Definition consoleutils.c:314
QSC_EXPORT_API bool qsc_consoleutils_line_equals(const char *line1, const char *line2)
Compare two lines of text for equivalence.
Definition consoleutils.c:291
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:626
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:274
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:244
QSC_EXPORT_API void qsc_consoleutils_set_window_prompt(const char *prompt)
Set the console window prompt string.
Definition consoleutils.c:665
QSC_EXPORT_API void qsc_consoleutils_print_double(double digit)
Print a double-precision floating point number to the console.
Definition consoleutils.c:438
QSC_EXPORT_API char qsc_consoleutils_get_char(void)
Get a character from the console in a blocking manner.
Definition consoleutils.c:100
qsc_console_font_style
The console font style options.
Definition consoleutils.h:104
@ regular
Definition consoleutils.h:105
@ italic
Definition consoleutils.h:107
@ bold
Definition consoleutils.h:106
@ bolditalic
Definition consoleutils.h:108
QSC_EXPORT_API void qsc_consoleutils_set_window_title(const char *title)
Set the title of the console window.
Definition consoleutils.c:693
QSC_EXPORT_API void qsc_consoleutils_colored_message(const char *message, qsc_console_font_color color)
Print a colored console message.
Definition consoleutils.c:63