> А кто-нибудь в курсе, как оно с файловой системой, например, работает? С ФС не в курсе, а со "стандартными файлами" как-то так.
static size_t sn_write(FILE *f, const char *s, size_t l)
{
size_t k = f->wend - f->wpos;
if (k > l) k = l;
memcpy(f->wpos, s, k);
f->wpos += k;
/* pretend to succeed, but discard extra data */
return l;
}
https://github.com/mirage/ocaml-freestanding/blob/master/nol...
/*
* Standard output and error "streams".
*/
static size_t console_write(FILE *f __attribute__((unused)), const char *s,
size_t l)
{
solo5_console_write(s, l);
return l;
}
https://github.com/mirage/ocaml-freestanding/blob/master/nol...
Это фрагменты libnolibc.a: libc interfaces required by OCaml runtime.
Зато нашёл поддержку FAT https://github.com/mirage/mirage/blob/master/lib/mirage/mira...
и блочных устройств https://github.com/mirage/mirage/blob/master/lib/mirage/mira...
В общем, н̶и̶к̶а̶к присоединяюсь к вопросу.