/* Copyright (c) 2023 : Ognjen 'xolatile' Milan Robovic Xtandard is free software! You will redistribute it or modify it under the terms of the GNU General Public License by Free Software Foundation. And when you do redistribute it or modify it, it will use either version 3 of the License, or (at yours truly opinion) any later version. It is distributed in the hope that it will be useful or harmful, it really depends... But no warranty what so ever, seriously. See GNU/GPLv3. */ #ifndef XTANDARD_HEADER #define XTANDARD_HEADER #define SIGNAL_CONTROL (0X100) #define SIGNAL_SHIFT (0X200) #define SIGNAL_ALTERNATE (0X400) #define SIGNAL_SYSTEM (0X800) enum { LOG_SUCCESS, LOG_WARNING, LOG_FAILURE, LOG_COMMENT, LOG_COUNT }; enum { FILE_TYPE_TEXT, FILE_TYPE_COMMON_ASSEMBLY, FILE_TYPE_FLAT_ASSEMBLY, FILE_TYPE_GNU_ASSEMBLY, FILE_TYPE_NETWIDE_ASSEMBLY, FILE_TYPE_YET_ANOTHER_ASSEMBLY, FILE_TYPE_C_SOURCE, FILE_TYPE_C_HEADER, FILE_TYPE_ADA_BODY, FILE_TYPE_ADA_SPECIFICATION, FILE_TYPE_CPP_SOURCE, FILE_TYPE_CPP_HEADER, FILE_TYPE_COUNT }; enum { EFFECT_NORMAL, EFFECT_BOLD, EFFECT_ITALIC, EFFECT_UNDERLINE, EFFECT_BLINK, EFFECT_REVERSE, EFFECT_COUNT }; enum { COLOUR_GREY, COLOUR_RED, COLOUR_GREEN, COLOUR_YELLOW, COLOUR_BLUE, COLOUR_PINK, COLOUR_CYAN, COLOUR_WHITE, COLOUR_COUNT }; enum { SIGNAL_NONE, SIGNAL_ANY, SIGNAL_A, SIGNAL_B, SIGNAL_C, SIGNAL_D, SIGNAL_E, SIGNAL_F, SIGNAL_G, SIGNAL_H, SIGNAL_I, SIGNAL_J, SIGNAL_K, SIGNAL_L, SIGNAL_M, SIGNAL_N, SIGNAL_O, SIGNAL_P, SIGNAL_Q, SIGNAL_R, SIGNAL_S, SIGNAL_T, SIGNAL_U, SIGNAL_V, SIGNAL_W, SIGNAL_X, SIGNAL_Y, SIGNAL_Z, SIGNAL_0, SIGNAL_1, SIGNAL_2, SIGNAL_3, SIGNAL_4, SIGNAL_5, SIGNAL_6, SIGNAL_7, SIGNAL_8, SIGNAL_9, SIGNAL_ESCAPE, SIGNAL_TABULATOR, SIGNAL_RETURN, SIGNAL_NEW_LINE, SIGNAL_SLASH, SIGNAL_BACKSLASH, SIGNAL_QUOTE, SIGNAL_BACKQUOTE, SIGNAL_SPACE, SIGNAL_BACKSPACE, SIGNAL_DOT, SIGNAL_COMMA, SIGNAL_CITE, SIGNAL_CAPS_LOCK, SIGNAL_L_BRACKET, SIGNAL_R_BRACKET, SIGNAL_MINUS, SIGNAL_EQUAL, SIGNAL_COUNT }; extern void in (void * data, int size); extern void out (void * data, int size); extern void log_in (int type, int flag, char * data); extern void log_out (char * name); extern void echo (char * data); extern void dump (char * name, char * data); extern void echo_byte (int byte); extern void fatal_failure (int condition, char * message); extern void limit (int * value, int minimum, int maximum); extern void * allocate (int size); extern void * reallocate (void * data, int size); extern void * deallocate (void * data); extern void * memorize (int size); extern void * record (void); extern void argument_define (char * nick, char * name, void (* function) (void)); extern void argument_select (int count, char * * array); extern void argument_delete (void); extern int file_open (char * name, int mode); extern int file_close (int file); extern void file_read (int file, void * data, int size); extern void file_write (int file, void * data, int size); extern int file_seek (int file, int whence); extern int file_size (int file); extern int file_type (char * name); extern char * file_import (char * name); extern void file_export (char * name, void * data); extern void file_list_import (char * name); extern void file_list_export (char * name); extern void file_list_delete (void); extern int character_is_uppercase (char character); extern int character_is_lowercase (char character); extern int character_is_digit (char character); extern int character_is_blank (char character); extern int character_is_alpha (char character); extern int character_is_symbol (char character); extern int character_is_visible (char character); extern int character_is_invisible (char character); extern int character_is_escape (char character); extern int character_is_underscore (char character); extern int character_is_hexadecimal (char character); extern int character_compare_array (char character, char * character_array); extern int string_length (char * string); extern char * string_reverse_limit (char * string, int limit); extern char * string_reverse (char * string); extern char * string_delete (char * string, int length); extern int string_compare (char * string_0, char * string_1); extern char * string_copy (char * string_0, char * string_1); extern char * string_concatenate (char * string_0, char * string_1); extern int string_compare_limit (char * string_0, char * string_1, int limit); extern char * string_copy_limit (char * string_0, char * string_1, int limit); extern char * string_concatenate_limit (char * string_0, char * string_1, int limit); extern int string_split_space (char * string); extern void memory_delete (void * memory, int length); extern int memory_compare (void * memory, void * source, int length); extern void memory_copy (void * memory, void * source, int length); extern void terminal_clear (void); extern void terminal_colour (int colour, int effect); extern void terminal_cancel (void); extern void terminal_show_cursor (int show); extern int encode_byte (char * byte); extern char * decode_byte (int byte); extern void number_to_string (int number, char * string); #endif