|
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 | Время задержки в миллисекундах. |