Kintsugi OS 0.2.0
x86 Monolithic OS
|
Functions | |
int | fuzzy_search (const char *text, const char *query, int build_score, int **score, u32 *score_len) |
Алгоритм Fuzzy search. | |
void | booltochar (u8 value, u8 *str) |
Конвертирует булеву переменную в строку "true" или "false". | |
void | itoa (int num, char *str, int base) |
Преобразует целое число со знаком в строку в указанной системе счисления. | |
void | utoa (u32 num, char *str, int base) |
Преобразует целое число без знака в строку в указанной системе счисления. | |
int | atoi (const char *str) |
u32 | xorshift32 (u32 *state) |
u32 | rand_range (u32 *state, u32 min, u32 max) |
Генерирует псевдослучайное число в заданном диапазоне. | |
u32 | rand (u32 *state) |
Генерирует псевдослучайное число используя линейный конгруэнтный метод. | |
void | reboot () |
Перезагружает систему. | |
void | wait (int ms) |
Приостанавливает выполнение на указанное количество миллисекунд. | |
void * | memset (void *s, int c, unsigned int n) |
Заполняет блок памяти указанным значением. | |
void * | memcpy (void *dest, const void *src, unsigned int n) |
Копирует блок памяти из src в dest. | |
void | memory_copy (u8 *source, u8 *dest, int nbytes) |
Копирует n байт из source в dest. (Альтернатива memcpy) | |
void | memory_set (u8 *dest, u8 val, u32 len) |
Заполняет блок памяти указанным байт-значением. | |
void | u32memory_set (u32 *dest, u32 val, u32 len) |
Заполняет блок памяти указанным 32-битным значением. | |
void | int_to_ascii (int n, char str[]) |
(legacy, используйте itoa) Преобразует целое число в строку ASCII. | |
int | strtoint (char *str) |
Преобразует строку, представляющую число, в целое число со знаком. | |
void | hex_to_ascii (int n, char str[]) |
(legacy, используйте itoa) Преобразует целое число в шестнадцатеричную строку ASCII. | |
void | strcpy (char *dest, char *src) |
Копирует строку из src в dest. | |
int | hex_strtoint (char *str) |
Преобразует строку, представляющую шестнадцатеричное число, в целое число. | |
void | reverse (char s[]) |
Разворачивает строку на месте. | |
int | strlen (char s[]) |
Вычисляет длину строки. | |
void | append (char s[], char n) |
Объединяет строку src к концу строки dest. | |
void | backspace (char s[]) |
Удаляет последний символ из строки (симуляция backspace). | |
int | strcmp (char s1[], char s2[]) |
Сравнивает две строки. | |
unsigned int | is_delim (char c, char *delim) |
Проверяет, является ли символ разделителем. | |
char * | strtok (char *src_str, char *delim) |
Разбивает строку на токены по разделителю. | |
char * | strncpy (char *dest, const char *src, unsigned int n) |
Копирует до n символов из строки src в dest. | |
char * | strncat (char *dest, const char *src, unsigned int n) |
Объединяет не более n символов строки src к концу строки dest. | |
int | strncmp (const char *s1, const char *s2, unsigned int n) |
Сравнивает первые n символов двух строк. | |
char * | strchr (const char *s, int c) |
Ищет первое вхождение символа в строке. | |
char * | strstr (const char *haystack, const char *needle) |
Ищет первое вхождение подстроки needle в строке haystack. | |
int | vsnprintf (char *buf, unsigned int size, const char *fmt, va_list args) |
Записывает форматированную строку в буфер с ограничением размера для va_list. | |
int | sprintf (char *buf, const char *fmt,...) |
Записывает форматированную строку в буфер. | |
int | snprintf (char *buf, unsigned int size, const char *fmt,...) |
Записывает форматированную строку в буфер с ограничением размера. | |
u32 | strspn (const u8 *str1, const u8 *str2) |
Вычисляет длину начального сегмента строки str1, состоящего только из символов строки str2. | |
u32 | strcspn (const u8 *str1, const u8 *str2) |
Вычисляет длину начального сегмента строки str1, который не содержит ни одного символа из строки str2. | |
u8 * | strpbrk (const u8 *str1, const u8 *str2) |
Ищет в строке str1 первый символ, который совпадает с любым символом из строки str2. | |
void * | memmove (void *dest, const void *src, u32 n) |
Перемещает блок памяти из src в dest. Области могут перекрываться. | |
int | memcmp (const void *ptr1, const void *ptr2, u32 n) |
Сравнивает два блока памяти. | |
void * | memchr (const void *ptr, int c, u32 n) |
Ищет первое вхождение символа в блоке памяти. | |
void append | ( | char | s[], |
char | n | ||
) |
Объединяет строку src к концу строки dest.
dest | Указатель на целевую строку. Должна иметь достаточно места. |
src | Указатель на строку-источник. |
int atoi | ( | const char * | str | ) |
void backspace | ( | char | s[] | ) |
Удаляет последний символ из строки (симуляция backspace).
s | Указатель на строку для модификации. |
Конвертирует булеву переменную в строку "true" или "false".
value | Булева переменная для конвертации. |
str | Указатель на буфер, куда будет записана результирующая строка. Буфер должен быть достаточно большим (минимум 6 символов для "false"). |
int fuzzy_search | ( | const char * | text, |
const char * | query, | ||
int | build_score, | ||
int ** | score, | ||
u32 * | score_len | ||
) |
Алгоритм Fuzzy search.
[in] | text | Текст |
[in] | query | Запрос |
[in] | build_score | Оценка за построение |
score | Оценка | |
score_len | Длина оценка |
int hex_strtoint | ( | char * | str | ) |
Преобразует строку, представляющую шестнадцатеричное число, в целое число.
str | Указатель на строку для преобразования (в формате "0xFF", "FF", etc.). |
void hex_to_ascii | ( | int | n, |
char | str[] | ||
) |
(legacy, используйте itoa) Преобразует целое число в шестнадцатеричную строку ASCII.
n | Число для преобразования. |
str | Буфер для записи результата. |
void int_to_ascii | ( | int | n, |
char | str[] | ||
) |
(legacy, используйте itoa) Преобразует целое число в строку ASCII.
K&R Реализация
unsigned int is_delim | ( | char | c, |
char * | delim | ||
) |
Проверяет, является ли символ разделителем.
c | Проверяемый символ. |
delim | Строка с разделителями. |
void itoa | ( | int | num, |
char * | str, | ||
int | base | ||
) |
Преобразует целое число со знаком в строку в указанной системе счисления.
num | Число для преобразования. |
str | Указатель на буфер для записи результата. |
base | Основание системы счисления (от 2 до 36). |
void * memchr | ( | const void * | ptr, |
int | c, | ||
u32 | n | ||
) |
Ищет первое вхождение символа в блоке памяти.
ptr | Указатель на блок памяти для поиска. |
c | Искомый символ (передается как int, но преобразуется в unsigned char). |
n | Размер блока памяти в байтах. |
int memcmp | ( | const void * | ptr1, |
const void * | ptr2, | ||
u32 | n | ||
) |
Сравнивает два блока памяти.
ptr1 | Указатель на первый блок памяти. |
ptr2 | Указатель на второй блок памяти. |
n | Количество байт для сравнения. |
void * memcpy | ( | void * | dest, |
const void * | src, | ||
unsigned int | n | ||
) |
Копирует блок памяти из src в dest.
dest | Указатель на назначение. |
src | Указатель на источник. |
n | Количество байт для копирования. |
void * memmove | ( | void * | dest, |
const void * | src, | ||
u32 | n | ||
) |
Перемещает блок памяти из src в dest. Области могут перекрываться.
dest | Указатель на назначение. |
src | Указатель на источник. |
n | Количество байт для копирования. |
Копирует n байт из source в dest. (Альтернатива memcpy)
source | Указатель на источник. |
dest | Указатель на назначение. |
nbytes | Количество байт для копирования. |
Заполняет блок памяти указанным байт-значением.
dest | Указатель на начало блока памяти. |
val | Значение для заполнения. |
len | Количество байт для заполнения. |
void * memset | ( | void * | s, |
int | c, | ||
unsigned int | n | ||
) |
Заполняет блок памяти указанным значением.
s | Указатель на начало блока памяти. |
c | Значение для заполнения (передается как int, но преобразуется в unsigned char). |
n | Количество байт для заполнения. |
Генерирует псевдослучайное число используя линейный конгруэнтный метод.
state | Указатель на переменную состояния генератора. |
Генерирует псевдослучайное число в заданном диапазоне.
state | Указатель на переменную состояния генератора. |
min | Нижняя граница диапазона (включительно). |
max | Верхняя граница диапазона (включительно). |
void reboot | ( | ) |
Перезагружает систему.
void reverse | ( | char | s[] | ) |
Разворачивает строку на месте.
s | Указатель на строку для разворота. |
int snprintf | ( | char * | buf, |
unsigned int | size, | ||
const char * | fmt, | ||
... | |||
) |
Записывает форматированную строку в буфер с ограничением размера.
buf | Указатель на буфер для записи результата. |
size | Максимальное количество символов для записи (включая завершающий ноль). |
fmt | Указатель на строку формата. |
... | Аргументы, соответствующие спецификаторам в формате. |
int sprintf | ( | char * | buf, |
const char * | fmt, | ||
... | |||
) |
Записывает форматированную строку в буфер.
buf | Указатель на буфер для записи результата. |
fmt | Указатель на строку формата. |
... | Аргументы, соответствующие спецификаторам в формате. |
char * strchr | ( | const char * | s, |
int | c | ||
) |
Ищет первое вхождение символа в строке.
s | Указатель на строку для поиска. |
c | Искомый символ (передается как int, но преобразуется в char). |
int strcmp | ( | char | s1[], |
char | s2[] | ||
) |
Сравнивает две строки.
s1 | Указатель на первую строку. |
s2 | Указатель на вторую строку. |
void strcpy | ( | char * | dest, |
char * | src | ||
) |
Копирует строку из src в dest.
dest | Указатель на буфер назначения. |
src | Указатель на строку-источник. |
Вычисляет длину начального сегмента строки str1, который не содержит ни одного символа из строки str2.
str1 | Указатель на анализируемую строку. |
str2 | Указатель на строку, содержащую набор запрещенных символов. |
int strlen | ( | char | s[] | ) |
Вычисляет длину строки.
s | Указатель на строку. |
char * strncat | ( | char * | dest, |
const char * | src, | ||
unsigned int | n | ||
) |
Объединяет не более n символов строки src к концу строки dest.
dest | Указатель на целевую строку. Должна иметь достаточно места. |
src | Указатель на строку-источник. |
n | Максимальное количество символов для добавления. |
int strncmp | ( | const char * | s1, |
const char * | s2, | ||
unsigned int | n | ||
) |
Сравнивает первые n символов двух строк.
s1 | Указатель на первую строку. |
s2 | Указатель на вторую строку. |
n | Максимальное количество символов для сравнения. |
char * strncpy | ( | char * | dest, |
const char * | src, | ||
unsigned int | n | ||
) |
Копирует до n символов из строки src в dest.
dest | Указатель на буфер назначения. |
src | Указатель на строку-источник. |
n | Максимальное количество символов для копирования. |
Ищет в строке str1 первый символ, который совпадает с любым символом из строки str2.
str1 | Указатель на строку для поиска. |
str2 | Указатель на строку с искомыми символами. |
Вычисляет длину начального сегмента строки str1, состоящего только из символов строки str2.
str1 | Указатель на анализируемую строку. |
str2 | Указатель на строку, содержащую набор искомых символов. |
char * strstr | ( | const char * | haystack, |
const char * | needle | ||
) |
Ищет первое вхождение подстроки needle в строке haystack.
haystack | Указатель на строку, в которой выполняется поиск. |
needle | Указатель на искомую подстроку. |
int strtoint | ( | char * | str | ) |
Преобразует строку, представляющую число, в целое число со знаком.
str | Указатель на строку для преобразования. |
char * strtok | ( | char * | src_str, |
char * | delim | ||
) |
Разбивает строку на токены по разделителю.
src_str | Строка для разбиения. При последующих вызовах передавайте NULL. |
delim | Строка, содержащая символы-разделители. |
Заполняет блок памяти указанным 32-битным значением.
dest | Указатель на начало блока памяти (должен быть выровнен по границе 4 байта). |
val | Значение для заполнения. |
len | Количество 32-битных слов для заполнения. |
void utoa | ( | u32 | num, |
char * | str, | ||
int | base | ||
) |
Преобразует целое число без знака в строку в указанной системе счисления.
num | Число для преобразования. |
str | Указатель на буфер для записи результата. |
base | Основание системы счисления (от 2 до 36). |
int vsnprintf | ( | char * | buf, |
unsigned int | size, | ||
const char * | fmt, | ||
va_list | args | ||
) |
Записывает форматированную строку в буфер с ограничением размера для va_list.
buf | Указатель на буфер для записи результата. |
size | Максимальное количество символов для записи (включая завершающий ноль). |
fmt | Указатель на строку формата. |
args | Аргументы типа va_list. |
... | Аргументы, соответствующие спецификаторам в формате. |
void wait | ( | int | ms | ) |
Приостанавливает выполнение на указанное количество миллисекунд.
ms | Время задержки в миллисекундах. |