Iconv.txt 905 B

12345678910111213141516171819202122
  1. MODULE LinIconv ["libiconv.so.3"];
  2. IMPORT Libc := LinLibc;
  3. TYPE
  4. PtrVoid = Libc.PtrVoid;
  5. PtrSTR* = Libc.PtrSTR;
  6. PtrLSTR* = POINTER TO ARRAY [untagged] OF CHAR;
  7. size_t* = Libc.size_t;
  8. iconv_t* = PtrVoid;
  9. PROCEDURE [ccall] iconv_open* ["libiconv_open"] (tocode, fromcode: PtrSTR): iconv_t;
  10. PROCEDURE [ccall] iconv_close* ["libiconv_close"] (cd: iconv_t): INTEGER;
  11. PROCEDURE [ccall] iconv* ["libiconv"] (cd: iconv_t; VAR [nil] inbuf: PtrSTR; VAR inbytesleft: size_t; VAR [nil] outbuf: PtrSTR; VAR outbytesleft: size_t): size_t;
  12. PROCEDURE [ccall] iconv_encode* ["libiconv"] (cd: iconv_t; VAR [nil] inbuf: PtrLSTR; VAR inbytesleft: size_t; VAR [nil] outbuf: PtrSTR; VAR outbytesleft: size_t): size_t;
  13. PROCEDURE [ccall] iconv_decode* ["libiconv"] (cd: iconv_t; VAR [nil] inbuf: PtrSTR; VAR inbytesleft: size_t; VAR [nil] outbuf: PtrLSTR; VAR outbytesleft: size_t): size_t;
  14. END LinIconv.