1 MODULE LinLibW ["libc.so.6"];
3 (*
4 GNU/Linux
5 i386
6 *)
8 IMPORT Libc := LinLibc;
10 CONST
11 LC_CTYPE* = 0;
12 LC_NUMERIC* = 1;
13 LC_TIME* = 2;
14 LC_COLLATE* = 3;
15 LC_MONETARY* = 4;
16 LC_MESSAGES* = 5;
17 LC_ALL* = 6;
18 LC_PAPER* = 7;
19 LC_NAME* = 8;
20 LC_ADDRESS* = 9;
21 LC_TELEPHONE* = 10;
22 LC_MEASUREMENT* = 11;
23 LC_IDENTIFICATION* = 12;
25 TYPE
26 (* int, wchar_t, wint_t, size_t, mbstate_t *)
27 int* = INTEGER;
28 wchar_t* = INTEGER;
29 wint_t* = INTEGER;
30 size_t* = INTEGER;
31 mbstate_t* = LONGINT;
33 PtrWSTR* = POINTER [untagged] TO ARRAY [untagged] OF wchar_t;
35 PROCEDURE [ccall] setlocale* (category: int; locale: Libc.PtrSTR): Libc.PtrSTR;
37 PROCEDURE [ccall] mbsinit* (VAR [nil] ps: mbstate_t): int;
39 PROCEDURE [ccall] wctomb* (s: Libc.PtrSTR; wchar: wchar_t): int;
40 PROCEDURE [ccall] wcstombs* (s: Libc.PtrSTR; pwcs: PtrWSTR; n: size_t): size_t;
42 PROCEDURE [ccall] wcrtomb* (s: Libc.PtrSTR; wc: wchar_t; VAR [nil] ps: mbstate_t): size_t;
43 PROCEDURE [ccall] wcsrtombs* (dst: Libc.PtrSTR; VAR src: PtrWSTR; len: size_t; VAR [nil] ps: mbstate_t): size_t;
44 PROCEDURE [ccall] wcsnrtombs* (dst: Libc.PtrSTR; VAR src: PtrWSTR; nwc: size_t; len: size_t; VAR [nil] ps: mbstate_t): size_t;
46 PROCEDURE [ccall] mbtowc* (pwc: PtrWSTR; s: Libc.PtrSTR; n: size_t): int;
47 PROCEDURE [ccall] mbstowcs* (pwcs: PtrWSTR; s: Libc.PtrSTR; n: size_t): size_t;
48 PROCEDURE [ccall] mblen* (s: Libc.PtrSTR; n: size_t): int;
50 PROCEDURE [ccall] mbrtowc* (wc: PtrWSTR; s: Libc.PtrSTR; n: size_t; VAR [nil] mbs: mbstate_t): size_t;
51 PROCEDURE [ccall] mbsrtowcs* (dst: PtrWSTR; VAR src: Libc.PtrSTR; len: size_t; VAR [nil] ps: mbstate_t): size_t;
52 PROCEDURE [ccall] mbsnrtowcs* (dst: PtrWSTR; VAR src: Libc.PtrSTR; nmc: size_t; len: size_t; VAR [nil] ps: mbstate_t): size_t;
53 PROCEDURE [ccall] mbrlen* (s: Libc.PtrSTR; n: size_t; VAR [nil] ps: mbstate_t): size_t;
55 PROCEDURE [ccall] iswalpha* (wc: wint_t): int;
56 PROCEDURE [ccall] iswlower* (wc: wint_t): int;
57 PROCEDURE [ccall] iswupper* (wc: wint_t): int;
58 PROCEDURE [ccall] towlower* (wc: wint_t): wint_t;
59 PROCEDURE [ccall] towupper* (wc: wint_t): wint_t;
61 PROCEDURE [ccall] wprintf* (fmt: PtrWSTR): int;
62 PROCEDURE [ccall] fputws* (ws: PtrWSTR; fp: Libc.PtrFILE): int;
63 PROCEDURE [ccall] fgetws* (ws: PtrWSTR; n: int; fp: Libc.PtrFILE): PtrWSTR;
65 END LinLibW.