80 lines
2.3 KiB
Markdown
80 lines
2.3 KiB
Markdown
# xtandard
|
|
|
|
xtandard -- Xolatile-style "header-only" library for commonly used functions.
|
|
|
|
- This library was written mainly for my own projects, but you can repurpose it for your own needs...
|
|
- Intended usage is writing simple programs, which can fit it one source file, often only in 'main' function.
|
|
- I'm not scared of using global variables, but there's not many of them, also rare "C-style" namespaces.
|
|
|
|
Compile:
|
|
```bash
|
|
$ sh compile.sh
|
|
```
|
|
|
|
Install:
|
|
```bash
|
|
$ sudo sh install.sh
|
|
```
|
|
|
|
If you want to make a project that's separated in more files, you can link with '.o' or include '.c' instead of '.h' in main file.
|
|
If your project consists of only 1 file, which is the intent behind this library, just include '.c' and that's it.
|
|
I'm a lazy person, and I do what every lazy person does, for good reference look at Raylib, which is quite decent library.
|
|
|
|
```c
|
|
void in (void * data, int size);
|
|
void out (void * data, int size);
|
|
|
|
void log_in (int type, int flag, char * data);
|
|
void log_out (char * name);
|
|
|
|
void echo (char * data);
|
|
void dump (char * name, char * data);
|
|
|
|
void echo_byte (int byte);
|
|
|
|
void fatal_failure (int condition, char * message);
|
|
|
|
void limit (int * value, int minimum, int maximum);
|
|
|
|
void * allocate (int size);
|
|
void * reallocate (void * data, int size);
|
|
void * deallocate (void * data);
|
|
|
|
void * record (void);
|
|
|
|
int file_open (char * name, int mode);
|
|
...
|
|
void file_export (char * name, void * data);
|
|
|
|
void file_list_import (char * name);
|
|
...
|
|
void file_list_delete (void);
|
|
|
|
int character_is_uppercase (char character);
|
|
...
|
|
int character_is_hexadecimal (char character);
|
|
|
|
int character_compare_array (char character, char * character_array);
|
|
|
|
int character_count (char * string, char this, int from, int to, char stop);
|
|
|
|
int string_length (char * string);
|
|
...
|
|
char * string_realign (char * string, int amount, char character);
|
|
|
|
void memory_delete (void * memory, int length);
|
|
|
|
int memory_compare (void * memory, void * source, int length);
|
|
void memory_copy (void * memory, void * source, int length);
|
|
|
|
void terminal_clear (void);
|
|
void terminal_colour (int colour, int effect);
|
|
void terminal_cancel (void);
|
|
void terminal_show_cursor (int show);
|
|
|
|
int encode_byte (char * byte);
|
|
char * decode_byte (int byte);
|
|
```
|
|
|
|
There's more, but reading the actual source code is better than opening this in your internet browser.
|