#ifndef PRYSTRIY_H
#define PRYSTRIY_H
#include "mavka/tsil.h"
#define КолірВиводуСтандартний 0
#define КолірВиводуЧервоний 1
#define КолірВиводуЗелений 2
#define КолірВиводуСиній 3
#define КолірВиводуЖовтий 4
typedef struct ЕлементШляхуПристроюМавки ЕлементШляхуПристроюМавки;
struct ЕлементШляхуПристроюМавки {
п8* дані;
природне розмір;
};
extern логічне пристрій_мавки_отримати_версію_як_ю8(п8** вихід_даних,
природне* вихід_розміру);
extern void пристрій_мавки_вивести_сирі_дані(п8* дані, природне розмір);
extern void пристрій_мавки_вивести_шлях(природне колір,
п8* дані,
природне розмір);
extern void пристрій_мавки_вивести_ю8(природне колір,
п8* дані,
природне розмір);
extern адреса пристрій_мавки_виділити(природне розмір);
extern адреса пристрій_мавки_перевиділити(адреса значення,
природне новий_розмір);
extern void пристрій_мавки_звільнити(адреса значення);
extern void пристрій_мавки_вийти(ц32 код_виходу);
extern логічне пристрій_мавки_прочитати_файл(п8* дані_шляху,
природне розмір_шляху,
п8** вихід_даних,
природне* вихід_розміру);
extern логічне пристрій_мавки_перетворити_п64_в_ю8(п64 значення,
п8** вихід_даних,
природне* вихід_розміру);
extern логічне пристрій_мавки_перетворити_ц64_в_ю8(ц64 значення,
п8** вихід_даних,
природне* вихід_розміру);
extern логічне пристрій_мавки_перетворити_р64_в_ю8(
р64 значення,
п8** вихід_даних,
природне* вихід_розміру,
ціле* вихід_розміру_експоненти);
extern р64 пристрій_мавки_піднести_до_степеня_р64(р64 значення, р64 степінь);
extern логічне пристрій_мавки_перевірити_чи_шлях_існує_і_є_файлом(
п8* дані_шляху,
природне розмір_шляху);
extern логічне пристрій_мавки_отримати_абсолютний_шлях(п8* дані_шляху,
природне розмір_шляху,
п8** вихід_даних,
природне* вихід_розміру);
extern логічне пристрій_мавки_отримати_теку_шляху(п8* дані_шляху,
природне розмір_шляху,
п8** вихід_даних,
природне* вихід_розміру,
природне рівень);
extern логічне пристрій_мавки_отримати_теку_до_паків(п8* дані_шляху,
природне розмір_шляху,
п8** вихід_даних,
природне* вихід_розміру);
extern логічне пристрій_мавки_отримати_назву_модуля_з_шляху_ю8(
п8* дані_шляху,
природне розмір_шляху,
п8** вихід_даних,
природне* вихід_розміру);
extern логічне пристрій_мавки_збити_шлях_до_модуля(
природне кількість_елементів,
ЕлементШляхуПристроюМавки* елементи,
п8** вихід_даних,
природне* вихід_розміру);
extern логічне пристрій_мавки_перевірити_чи_шлях_починається_на(
п8* дані_шляху,
природне розмір_шляху,
п8* дані_початку,
природне розмір_початку);
extern логічне пристрій_мавки_отримати_шлях_до_паку_з_шляху_теки_модулів(
п8* дані_шляху,
природне розмір_шляху,
п8* дані_шляху_до_паків,
природне розмір_шляху_до_паків,
п8** вихід_даних,
природне* вихід_розміру);
extern логічне пристрій_мавки_читати_ю8(п8* дані_перед,
природне розмір_перед,
п8** вихід_даних,
природне* вихід_розміру,
природне* вихід_кінець_файлу,
природне дозволити_історію);
extern логічне пристрій_мавки_читати_ю8_асинхронно(
п8* дані_перед,
природне розмір_перед,
void (*обробник)(п8* дані,
природне розмір,
природне кінець_файлу,
адреса аргумент),
адреса аргумент,
природне дозволити_історію);
extern логічне пристрій_мавки_отримати_поточний_шлях_процесу(
п8** вихід_даних,
природне* вихід_розміру);
#endif // PRYSTRIY_H