Alexander Shiryaev писал(а):
Реализовал преобразование кодировки имён файлов и каталогов и переменных окружения в HostFiles через iconv:
Код:
MODULE LinIconv ["libc.so.6"]; (* Linux *)
   IMPORT Libc := LinLibc;
   CONST
      NULL* = Libc.NULL;
   TYPE
      PtrVoid = Libc.PtrVoid;
      PtrSTR* = Libc.PtrSTR;
      PtrLSTR* = POINTER TO ARRAY [untagged] OF CHAR;
      size_t* = Libc.size_t;
      iconv_t* = PtrVoid;
   PROCEDURE [ccall] iconv_open* (tocode, fromcode: PtrSTR): iconv_t;
   PROCEDURE [ccall] iconv_close* (cd: iconv_t): INTEGER;
   PROCEDURE [ccall] iconv* (cd: iconv_t; VAR [nil] inbuf: PtrSTR; VAR inbytesleft: size_t; VAR [nil] outbuf: PtrSTR; VAR outbytesleft: size_t): size_t;
   PROCEDURE [ccall] iconv_encode* ["iconv"] (cd: iconv_t; VAR [nil] inbuf: PtrLSTR; VAR inbytesleft: size_t; VAR [nil] outbuf: PtrSTR; VAR outbytesleft: size_t): size_t;
   PROCEDURE [ccall] iconv_decode* ["iconv"] (cd: iconv_t; VAR [nil] inbuf: PtrSTR; VAR inbytesleft: size_t; VAR [nil] outbuf: PtrLSTR; VAR outbytesleft: size_t): size_t;
END LinIconv.
...
...
Полностью HostFiles 
для Linux.
Проверял в Ubuntu и в Fedora Core с кодировкой UTF-8 ("UTF8" тоже работает), в OpenBSD -- с KOI8-R.
Хочу поинтересоваться из каких заголовков были получены определения функций iconv_encode и iconv_decode? Я нигде не смог найти их определение.
Поиск по Гуглю по "iconv_encode" выдаёт лишь ссылки с упоминанием инициативы перевода BlackBox на Линукс.
https://www.google.ru/search?q=%22iconv_encode%22&hl=ru