summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 94aa8c8)
raw | patch | inline | side by side (parent: 94aa8c8)
author | Alexander Shiryaev <aixp@mail.ru> | |
Wed, 16 Nov 2016 09:38:57 +0000 (12:38 +0300) | ||
committer | Alexander Shiryaev <aixp@mail.ru> | |
Wed, 16 Nov 2016 09:38:57 +0000 (12:38 +0300) |
BlackBox/_FreeBSD_/Lin/Mod/gen-LibW/Makefile | patch | blob | history | |
BlackBox/_Linux_/Lin/Mod/LibW.txt | [new file with mode: 0644] | patch | blob |
BlackBox/_Linux_/Lin/Mod/gen-LibW/Makefile | [new file with mode: 0644] | patch | blob |
BlackBox/_Linux_/Lin/Mod/gen-LibW/dumpdefs.py | [new symlink] | patch | blob |
BlackBox/_Linux_/Lin/Mod/gen-LibW/libver | [new file with mode: 0644] | patch | blob |
BlackBox/_Linux_/Lin/Mod/gen-LibW/machine | [new file with mode: 0644] | patch | blob |
BlackBox/_Linux_/Lin/Mod/gen-LibW/mklc.c | [new file with mode: 0644] | patch | blob |
BlackBox/_Linux_/Lin/Mod/gen-LibW/osname | [new file with mode: 0644] | patch | blob |
BlackBox/_Linux_/Lin/Mod/gen-LibW/untempl.py | [new symlink] | patch | blob |
BlackBox/_OpenBSD_/Lin/Mod/gen-LibW/Makefile | patch | blob | history |
diff --git a/BlackBox/_FreeBSD_/Lin/Mod/gen-LibW/Makefile b/BlackBox/_FreeBSD_/Lin/Mod/gen-LibW/Makefile
index 28bde3aaab296bfc846a6f2052bbbd0f7bc26eab..40a0ef45ff452b8f48399abd17c1b4d58333614c 100644 (file)
./dumpdefs.py 2 1 i ${INCDIR}/locale.h | grep " LC_" > ${.TARGET}
clean:
- rm -f ${DEFS} Net.txt sizeofs
+ rm -f ${DEFS} LibW.txt sizeofs
diff --git a/BlackBox/_Linux_/Lin/Mod/LibW.txt b/BlackBox/_Linux_/Lin/Mod/LibW.txt
--- /dev/null
@@ -0,0 +1,65 @@
+MODULE LinLibW ["libc.so.6"];
+
+ (*
+ GNU/Linux
+ i386
+ *)
+
+ IMPORT Libc := LinLibc;
+
+ CONST
+ LC_CTYPE* = 0;
+ LC_NUMERIC* = 1;
+ LC_TIME* = 2;
+ LC_COLLATE* = 3;
+ LC_MONETARY* = 4;
+ LC_MESSAGES* = 5;
+ LC_ALL* = 6;
+ LC_PAPER* = 7;
+ LC_NAME* = 8;
+ LC_ADDRESS* = 9;
+ LC_TELEPHONE* = 10;
+ LC_MEASUREMENT* = 11;
+ LC_IDENTIFICATION* = 12;
+
+ TYPE
+ (* int, wchar_t, wint_t, size_t, mbstate_t *)
+ int* = INTEGER;
+ wchar_t* = INTEGER;
+ wint_t* = INTEGER;
+ size_t* = INTEGER;
+ mbstate_t* = LONGINT;
+
+ PtrWSTR* = POINTER [untagged] TO ARRAY [untagged] OF wchar_t;
+
+ PROCEDURE [ccall] setlocale* (category: int; locale: Libc.PtrSTR): Libc.PtrSTR;
+
+ PROCEDURE [ccall] mbsinit* (VAR [nil] ps: mbstate_t): int;
+
+ PROCEDURE [ccall] wctomb* (s: Libc.PtrSTR; wchar: wchar_t): int;
+ PROCEDURE [ccall] wcstombs* (s: Libc.PtrSTR; pwcs: PtrWSTR; n: size_t): size_t;
+
+ PROCEDURE [ccall] wcrtomb* (s: Libc.PtrSTR; wc: wchar_t; VAR [nil] ps: mbstate_t): size_t;
+ PROCEDURE [ccall] wcsrtombs* (dst: Libc.PtrSTR; VAR src: PtrWSTR; len: size_t; VAR [nil] ps: mbstate_t): size_t;
+ PROCEDURE [ccall] wcsnrtombs* (dst: Libc.PtrSTR; VAR src: PtrWSTR; nwc: size_t; len: size_t; VAR [nil] ps: mbstate_t): size_t;
+
+ PROCEDURE [ccall] mbtowc* (pwc: PtrWSTR; s: Libc.PtrSTR; n: size_t): int;
+ PROCEDURE [ccall] mbstowcs* (pwcs: PtrWSTR; s: Libc.PtrSTR; n: size_t): size_t;
+ PROCEDURE [ccall] mblen* (s: Libc.PtrSTR; n: size_t): int;
+
+ PROCEDURE [ccall] mbrtowc* (wc: PtrWSTR; s: Libc.PtrSTR; n: size_t; VAR [nil] mbs: mbstate_t): size_t;
+ PROCEDURE [ccall] mbsrtowcs* (dst: PtrWSTR; VAR src: Libc.PtrSTR; len: size_t; VAR [nil] ps: mbstate_t): size_t;
+ PROCEDURE [ccall] mbsnrtowcs* (dst: PtrWSTR; VAR src: Libc.PtrSTR; nmc: size_t; len: size_t; VAR [nil] ps: mbstate_t): size_t;
+ PROCEDURE [ccall] mbrlen* (s: Libc.PtrSTR; n: size_t; VAR [nil] ps: mbstate_t): size_t;
+
+ PROCEDURE [ccall] iswalpha* (wc: wint_t): int;
+ PROCEDURE [ccall] iswlower* (wc: wint_t): int;
+ PROCEDURE [ccall] iswupper* (wc: wint_t): int;
+ PROCEDURE [ccall] towlower* (wc: wint_t): wint_t;
+ PROCEDURE [ccall] towupper* (wc: wint_t): wint_t;
+
+ PROCEDURE [ccall] wprintf* (fmt: PtrWSTR): int;
+ PROCEDURE [ccall] fputws* (ws: PtrWSTR; fp: Libc.PtrFILE): int;
+ PROCEDURE [ccall] fgetws* (ws: PtrWSTR; n: int; fp: Libc.PtrFILE): PtrWSTR;
+
+END LinLibW.
\ No newline at end of file
diff --git a/BlackBox/_Linux_/Lin/Mod/gen-LibW/Makefile b/BlackBox/_Linux_/Lin/Mod/gen-LibW/Makefile
--- /dev/null
@@ -0,0 +1,25 @@
+# This is BSD Makefile
+# BSD GNU
+# ${.TARGET} $@
+# ${.ALLSRC} $^
+# ${.IMPSRC} $<
+
+INCDIR ?= /usr/include
+
+PY = python2.7
+
+DEFS = defs-basictypes defs-lc
+
+all: LibW.txt ${DEFS}
+
+LibW.txt: LibW.txt.templ ${DEFS} libver osname machine
+ ${PY} ./untempl.py LibW.txt.templ $@
+
+defs-basictypes: sizeofs
+ ./sizeofs > $@
+
+defs-lc: mklc
+ ./mklc > $@
+
+clean:
+ rm -f ${DEFS} LibW.txt sizeofs mklc
diff --git a/BlackBox/_Linux_/Lin/Mod/gen-LibW/dumpdefs.py b/BlackBox/_Linux_/Lin/Mod/gen-LibW/dumpdefs.py
--- /dev/null
@@ -0,0 +1 @@
+../gen-Libc/dumpdefs.py
\ No newline at end of file
diff --git a/BlackBox/_Linux_/Lin/Mod/gen-LibW/libver b/BlackBox/_Linux_/Lin/Mod/gen-LibW/libver
--- /dev/null
@@ -0,0 +1 @@
+.6
\ No newline at end of file
diff --git a/BlackBox/_Linux_/Lin/Mod/gen-LibW/machine b/BlackBox/_Linux_/Lin/Mod/gen-LibW/machine
--- /dev/null
@@ -0,0 +1 @@
+i386
\ No newline at end of file
diff --git a/BlackBox/_Linux_/Lin/Mod/gen-LibW/mklc.c b/BlackBox/_Linux_/Lin/Mod/gen-LibW/mklc.c
--- /dev/null
@@ -0,0 +1,28 @@
+#include <locale.h>
+#include <stdio.h>
+
+#define PREFIX "\t\t"
+
+void D (const char *s, int ctl)
+{
+ printf("%s%s* = %d;\n", PREFIX, s, ctl);
+}
+
+int main (int argc, char *argv[])
+{
+ D("LC_CTYPE", LC_CTYPE);
+ D("LC_NUMERIC", LC_NUMERIC);
+ D("LC_TIME", LC_TIME);
+ D("LC_COLLATE", LC_COLLATE);
+ D("LC_MONETARY", LC_MONETARY);
+ D("LC_MESSAGES", LC_MESSAGES);
+ D("LC_ALL", LC_ALL);
+ D("LC_PAPER", LC_PAPER);
+ D("LC_NAME", LC_NAME);
+ D("LC_ADDRESS", LC_ADDRESS);
+ D("LC_TELEPHONE", LC_TELEPHONE);
+ D("LC_MEASUREMENT", LC_MEASUREMENT);
+ D("LC_IDENTIFICATION", LC_IDENTIFICATION);
+
+ return 0;
+}
diff --git a/BlackBox/_Linux_/Lin/Mod/gen-LibW/osname b/BlackBox/_Linux_/Lin/Mod/gen-LibW/osname
--- /dev/null
@@ -0,0 +1 @@
+GNU/Linux
\ No newline at end of file
diff --git a/BlackBox/_Linux_/Lin/Mod/gen-LibW/untempl.py b/BlackBox/_Linux_/Lin/Mod/gen-LibW/untempl.py
--- /dev/null
@@ -0,0 +1 @@
+../gen-Libc/untempl.py
\ No newline at end of file
diff --git a/BlackBox/_OpenBSD_/Lin/Mod/gen-LibW/Makefile b/BlackBox/_OpenBSD_/Lin/Mod/gen-LibW/Makefile
index 28bde3aaab296bfc846a6f2052bbbd0f7bc26eab..40a0ef45ff452b8f48399abd17c1b4d58333614c 100644 (file)
./dumpdefs.py 2 1 i ${INCDIR}/locale.h | grep " LC_" > ${.TARGET}
clean:
- rm -f ${DEFS} Net.txt sizeofs
+ rm -f ${DEFS} LibW.txt sizeofs