DEADSOFTWARE

libc interface updated
authorAlexander Shiryaev <aixp@mail.ru>
Wed, 17 Jan 2018 09:26:53 +0000 (12:26 +0300)
committerAlexander Shiryaev <aixp@mail.ru>
Wed, 17 Jan 2018 09:26:53 +0000 (12:26 +0300)
23 files changed:
BlackBox/_FreeBSDLinuxOpenBSD_/Lin/Mod/gen-Libc/Libc.txt.templ
BlackBox/_Linux_/Lin/Mod/Libc.odc
BlackBox/_Linux_/Lin/Mod/Libc.txt
BlackBox/_OpenBSD_/Host/Mod/Files16.odc [deleted file]
BlackBox/_OpenBSD_/Lin/Mod/Dl.txt
BlackBox/_OpenBSD_/Lin/Mod/Iconv.txt
BlackBox/_OpenBSD_/Lin/Mod/Ioctl.txt
BlackBox/_OpenBSD_/Lin/Mod/LibW.txt
BlackBox/_OpenBSD_/Lin/Mod/Libc.txt
BlackBox/_OpenBSD_/Lin/Mod/Net.txt
BlackBox/_OpenBSD_/Lin/Mod/Termios.txt
BlackBox/_OpenBSD_/Lin/Mod/gen-Ioctl/libver
BlackBox/_OpenBSD_/Lin/Mod/gen-Ioctl/osname
BlackBox/_OpenBSD_/Lin/Mod/gen-LibW/libver
BlackBox/_OpenBSD_/Lin/Mod/gen-LibW/osname
BlackBox/_OpenBSD_/Lin/Mod/gen-Libc/Makefile
BlackBox/_OpenBSD_/Lin/Mod/gen-Libc/libver
BlackBox/_OpenBSD_/Lin/Mod/gen-Libc/osname
BlackBox/_OpenBSD_/Lin/Mod/gen-Net/libver
BlackBox/_OpenBSD_/Lin/Mod/gen-Net/osname
BlackBox/_OpenBSD_/Lin/Mod/gen-Termios/Termios.txt.templ
BlackBox/_OpenBSD_/blackbox
BlackBox/_OpenBSD_/dev0

index dbcef0cc5b899da1c0a6426b8d513c81849fae5c..3e156fd12fe7f345a22f5538aae7f8e8133adcc1 100644 (file)
@@ -43,6 +43,8 @@ MODULE LinLibc ["libc.so%%libver%%"];
                (* ENOENT, EEXIST, EACCES, ENOMEM, EDQUOT, EMFILE, ENOTDIR (int) *)
 %%defs-errno%%
 
                (* ENOENT, EEXIST, EACCES, ENOMEM, EDQUOT, EMFILE, ENOTDIR (int) *)
 %%defs-errno%%
 
+%%defs-wait%%
+
                NAME_MAX* = %%namemax%%;
 
                SEEK_SET* = 0;
                NAME_MAX* = %%namemax%%;
 
                SEEK_SET* = 0;
@@ -225,11 +227,19 @@ MODULE LinLibc ["libc.so%%libver%%"];
                PROCEDURE [ccall] fchmod* (fd: int; mode: mode_t): int;
 
        (* POSIX.1 *)
                PROCEDURE [ccall] fchmod* (fd: int; mode: mode_t): int;
 
        (* POSIX.1 *)
-               PROCEDURE [ccall] sysconf* (name: int): long;
+               PROCEDURE [ccall] fork* (): pid_t;
+               PROCEDURE [ccall] waitpid* (wpid: pid_t; VAR [nil] status: int; options: intFlags): pid_t;
+
+       (* POSIX.1 *)
+               PROCEDURE [ccall] execv* (path: PtrSTR; argv: POINTER [untagged] TO ARRAY [untagged] OF PtrSTR): int;
+               PROCEDURE [ccall] execvp* (file: PtrSTR; argv: POINTER [untagged] TO ARRAY [untagged] OF PtrSTR): int;
 
        (* POSIX.2 *)
                PROCEDURE [ccall] system* (string: PtrSTR): int;
 
 
        (* POSIX.2 *)
                PROCEDURE [ccall] system* (string: PtrSTR): int;
 
+       (* POSIX.1 *)
+               PROCEDURE [ccall] sysconf* (name: int): long;
+
        PROCEDURE [ccall] popen* (command, type: PtrSTR): PtrFILE;
        PROCEDURE [ccall] pclose* (stream: PtrFILE): int;
 
        PROCEDURE [ccall] popen* (command, type: PtrSTR): PtrFILE;
        PROCEDURE [ccall] pclose* (stream: PtrFILE): int;
 
index ed69804632e0bb572af52ae14f1424378afec3e7..f53d5c4dbdcf74903bb111aa04db09f05946adc8 100644 (file)
Binary files a/BlackBox/_Linux_/Lin/Mod/Libc.odc and b/BlackBox/_Linux_/Lin/Mod/Libc.odc differ
index 577df71079a70d2554ce5a018f3b651aa43d1acb..fdc3d67b38d8ab150f97046c1dfbf0da5c4fd3ca 100644 (file)
@@ -250,6 +250,11 @@ MODULE LinLibc ["libc.so.6"];
                STDOUT_FILENO* = 1;\r
                STDERR_FILENO* = 2;\r
 \r
                STDOUT_FILENO* = 1;\r
                STDERR_FILENO* = 2;\r
 \r
+               WAIT_ANY* = -1;\r
+               WCONTINUED* = {3};\r
+               WNOHANG* = {0};\r
+               WUNTRACED* = {1};\r
+\r
        TYPE \r
                __ftw_func_t* = PROCEDURE (fileName: PtrSTR; VAR [nil] stat: stat_t; flag: INTEGER): INTEGER;\r
                PtrVoid* = INTEGER;\r
        TYPE \r
                __ftw_func_t* = PROCEDURE (fileName: PtrSTR; VAR [nil] stat: stat_t; flag: INTEGER): INTEGER;\r
                PtrVoid* = INTEGER;\r
@@ -467,15 +472,21 @@ MODULE LinLibc ["libc.so.6"];
        PROCEDURE [ccall] mprotect* (addr: PtrVoid; len: size_t; prot: SET): INTEGER;\r
 \r
        PROCEDURE [ccall] getenv* (name: PtrSTR): PtrSTR;\r
        PROCEDURE [ccall] mprotect* (addr: PtrVoid; len: size_t; prot: SET): INTEGER;\r
 \r
        PROCEDURE [ccall] getenv* (name: PtrSTR): PtrSTR;\r
-\r
-       PROCEDURE [ccall] sysconf* (name: INTEGER): INTEGER;\r
        \r
        PROCEDURE [ccall] sigaltstack* (VAR [nil] ss: stack_t; VAR [nil] oss: stack_t): INTEGER;\r
 \r
        PROCEDURE [ccall] sigprocmask* (how: INTEGER; set: Ptrsigset_t; oldset: Ptrsigset_t): INTEGER;\r
        \r
        PROCEDURE [ccall] sigaltstack* (VAR [nil] ss: stack_t; VAR [nil] oss: stack_t): INTEGER;\r
 \r
        PROCEDURE [ccall] sigprocmask* (how: INTEGER; set: Ptrsigset_t; oldset: Ptrsigset_t): INTEGER;\r
-       \r
+\r
+       PROCEDURE [ccall] fork* (): pid_t;\r
+       PROCEDURE [ccall] waitpid* (wpid: pid_t; VAR [nil] status: INTEGER; options: SET): pid_t;\r
+\r
+       PROCEDURE [ccall] execv* (path: PtrSTR; argv: POINTER [untagged] TO ARRAY [untagged] OF PtrSTR): INTEGER;\r
+       PROCEDURE [ccall] execvp* (file: PtrSTR; argv: POINTER [untagged] TO ARRAY [untagged] OF PtrSTR): INTEGER;\r
+\r
        PROCEDURE [ccall] system* (string: PtrSTR): INTEGER;\r
 \r
        PROCEDURE [ccall] system* (string: PtrSTR): INTEGER;\r
 \r
+       PROCEDURE [ccall] sysconf* (name: INTEGER): INTEGER;\r
+\r
        PROCEDURE [ccall] popen* (command, type: PtrSTR): PtrFILE;\r
        PROCEDURE [ccall] pclose* (stream: PtrFILE): INTEGER;\r
 \r
        PROCEDURE [ccall] popen* (command, type: PtrSTR): PtrFILE;\r
        PROCEDURE [ccall] pclose* (stream: PtrFILE): INTEGER;\r
 \r
diff --git a/BlackBox/_OpenBSD_/Host/Mod/Files16.odc b/BlackBox/_OpenBSD_/Host/Mod/Files16.odc
deleted file mode 100644 (file)
index 2faa926..0000000
Binary files a/BlackBox/_OpenBSD_/Host/Mod/Files16.odc and /dev/null differ
index e25536b987c8d905900a81c68e578ccd00dbfb6d..6f3ade02d5e74883fd31aff7294af4cd02be5bc7 100644 (file)
@@ -1,16 +1,16 @@
-MODULE LinDl ["libc.so.90.0"];
+MODULE LinDl ["libc.so.90"];
 
        (*
                A. V. Shiryaev, 2012.09, 2013.08
 
 
        (*
                A. V. Shiryaev, 2012.09, 2013.08
 
-               OpenBSD 5.6
+               OpenBSD 6.2
                32-bit
        *)
 
        CONST
                NULL* = 0H;
 
                32-bit
        *)
 
        CONST
                NULL* = 0H;
 
-               (* from OpenBSD 5.2 /usr/include/dlfcn.h *)
+               (* from OpenBSD 6.2 /usr/include/dlfcn.h *)
                        RTLD_LAZY* = 1;
                        (* DL_LAZY* = RTLD_LAZY; *) (* compat *)
                        RTLD_NOW* = 2;
                        RTLD_LAZY* = 1;
                        (* DL_LAZY* = RTLD_LAZY; *) (* compat *)
                        RTLD_NOW* = 2;
index b03ca447692f9e1b37bab1458afa80b2ab9b807e..e1a1f38a049bbd45d7f8ae24dc12626b8d4a537e 100644 (file)
@@ -1,4 +1,4 @@
-MODULE LinIconv ["libiconv.so.6.0"];
+MODULE LinIconv ["libiconv.so.6"];
 
        IMPORT Libc := LinLibc;
 
 
        IMPORT Libc := LinLibc;
 
index 57d1cb2d6b136a7f4d92259bfc8f08fdb2fd50b1..b3106351d7fdbdc233a84706cec6b3aee03dc9e0 100644 (file)
@@ -1,7 +1,7 @@
-MODULE LinIoctl ["libc.so.90.0"];
+MODULE LinIoctl ["libc.so.90"];
 
        (*
 
        (*
-               OpenBSD 6.0
+               OpenBSD 6.2
                i386
        *)
 
                i386
        *)
 
index 35e9cb0707d9a83155f91cea263dc2adae7dbbcf..454417b467c49340d7123568b8ee5dac2d94b4ba 100644 (file)
@@ -1,7 +1,7 @@
-MODULE LinLibW ["libc.so.90.0"];
+MODULE LinLibW ["libc.so.90"];
 
        (*
 
        (*
-               OpenBSD 6.0
+               OpenBSD 6.2
                i386
        *)
 
                i386
        *)
 
index 37fee0fb597098f48d2013a53dbc54bc45de3748..aa872b6ca46038a7ca9d3ebdd8097f466df4a490 100644 (file)
@@ -1,7 +1,7 @@
-MODULE LinLibc ["libc.so.90.0"];
+MODULE LinLibc ["libc.so.90"];
 
        (*
 
        (*
-               OpenBSD 6.0
+               OpenBSD 6.2
                i386
        *)
 
                i386
        *)
 
@@ -303,6 +303,10 @@ MODULE LinLibc ["libc.so.90.0"];
                EIDRM* = 89; (* Identifier removed *)
                ENOMSG* = 90; (* No message of desired type *)
                ENOTSUP* = 91; (* Not supported *)
                EIDRM* = 89; (* Identifier removed *)
                ENOMSG* = 90; (* No message of desired type *)
                ENOTSUP* = 91; (* Not supported *)
+               EBADMSG* = 92; (* Bad message *)
+               ENOTRECOVERABLE* = 93; (* State not recoverable *)
+               EOWNERDEAD* = 94; (* Previous owner died *)
+               EPROTO* = 95; (* Protocol error *)
                ENOTBLK* = 15; (* Block device required *)
                ESOCKTNOSUPPORT* = 44; (* Socket type not supported *)
                EPFNOSUPPORT* = 46; (* Protocol family not supported *)
                ENOTBLK* = 15; (* Block device required *)
                ESOCKTNOSUPPORT* = 44; (* Socket type not supported *)
                EPFNOSUPPORT* = 46; (* Protocol family not supported *)
@@ -324,11 +328,18 @@ MODULE LinLibc ["libc.so.90.0"];
                ENOATTR* = 83; (* Attribute not found *)
                ENOMEDIUM* = 85; (* No medium found *)
                EMEDIUMTYPE* = 86; (* Wrong medium type *)
                ENOATTR* = 83; (* Attribute not found *)
                ENOMEDIUM* = 85; (* No medium found *)
                EMEDIUMTYPE* = 86; (* Wrong medium type *)
-               ELAST* = 91; (* Must be equal largest errno *)
+               ELAST* = 95; (* Must be equal largest errno *)
                ERESTART* = -1; (* restart syscall *)
                EJUSTRETURN* = -2; (* don't modify regs, just return *)
 
 
                ERESTART* = -1; (* restart syscall *)
                EJUSTRETURN* = -2; (* don't modify regs, just return *)
 
 
+               WAIT_ANY* = -1; (* any process *)
+               WAIT_MYPGRP* = 0; (* any process in my process group *)
+               WCONTINUED* = {3}; (* report a job control continued process *)
+               WNOHANG* = {0}; (* don't hang in wait *)
+               WUNTRACED* = {1}; (* tell about stopped, untraced children *)
+
+
                NAME_MAX* = 255;
 
                SEEK_SET* = 0;
                NAME_MAX* = 255;
 
                SEEK_SET* = 0;
@@ -693,11 +704,19 @@ MODULE LinLibc ["libc.so.90.0"];
                PROCEDURE [ccall] fchmod* (fd: int; mode: mode_t): int;
 
        (* POSIX.1 *)
                PROCEDURE [ccall] fchmod* (fd: int; mode: mode_t): int;
 
        (* POSIX.1 *)
-               PROCEDURE [ccall] sysconf* (name: int): long;
+               PROCEDURE [ccall] fork* (): pid_t;
+               PROCEDURE [ccall] waitpid* (wpid: pid_t; VAR [nil] status: int; options: intFlags): pid_t;
+
+       (* POSIX.1 *)
+               PROCEDURE [ccall] execv* (path: PtrSTR; argv: POINTER [untagged] TO ARRAY [untagged] OF PtrSTR): int;
+               PROCEDURE [ccall] execvp* (file: PtrSTR; argv: POINTER [untagged] TO ARRAY [untagged] OF PtrSTR): int;
 
        (* POSIX.2 *)
                PROCEDURE [ccall] system* (string: PtrSTR): int;
 
 
        (* POSIX.2 *)
                PROCEDURE [ccall] system* (string: PtrSTR): int;
 
+       (* POSIX.1 *)
+               PROCEDURE [ccall] sysconf* (name: int): long;
+
        PROCEDURE [ccall] popen* (command, type: PtrSTR): PtrFILE;
        PROCEDURE [ccall] pclose* (stream: PtrFILE): int;
 
        PROCEDURE [ccall] popen* (command, type: PtrSTR): PtrFILE;
        PROCEDURE [ccall] pclose* (stream: PtrFILE): int;
 
index 7295b048057b493e8d4e3aaad64aa113e06c8218..172b89568c6093f8a46a230504ba81044c9c0e4f 100644 (file)
@@ -1,7 +1,7 @@
-MODULE LinNet ["libc.so.90.0"];
+MODULE LinNet ["libc.so.90"];
 
        (*
 
        (*
-               OpenBSD 6.0
+               OpenBSD 6.2
                i386
        *)
 
                i386
        *)
 
@@ -109,6 +109,7 @@ MODULE LinNet ["libc.so.90.0"];
                        SO_REUSEPORT* = {9}; (* allow local address & port reuse *)
                        SO_TIMESTAMP* = {11}; (* timestamp received dgram traffic *)
                        SO_BINDANY* = {12}; (* allow bind to any address *)
                        SO_REUSEPORT* = {9}; (* allow local address & port reuse *)
                        SO_TIMESTAMP* = {11}; (* timestamp received dgram traffic *)
                        SO_BINDANY* = {12}; (* allow bind to any address *)
+                       SO_ZEROIZE* = {13}; (* zero out all mbufs sent over socket *)
                        SO_SNDBUF* = {0,12}; (* send buffer size *)
                        SO_RCVBUF* = {1,12}; (* receive buffer size *)
                        SO_SNDLOWAT* = {0,1,12}; (* send low-water mark *)
                        SO_SNDBUF* = {0,12}; (* send buffer size *)
                        SO_RCVBUF* = {1,12}; (* receive buffer size *)
                        SO_SNDLOWAT* = {0,1,12}; (* send low-water mark *)
index 102c11b00f787ba2ab7ee6cab45b8933d500c833..52e72dd052fc3f3cb5a7ccb3c619108259e17326 100644 (file)
@@ -1,9 +1,9 @@
-MODULE LinTermios ["libc.so.90.0"];
+MODULE LinTermios ["libc.so.90"];
 
        (*
                A. V. Shiryaev, 2012.11, 2013.08, 2015.09
 
 
        (*
                A. V. Shiryaev, 2012.11, 2013.08, 2015.09
 
-               OpenBSD 5.8
+               OpenBSD 6.2
                32-bit
        *)
 
                32-bit
        *)
 
index 0728c38b00e59df2bac45502e78cf3b179717d7b..0b681649f5542b8af887766a6edc5d03ab360b2c 100644 (file)
@@ -1 +1 @@
-.90.0
\ No newline at end of file
+.90
\ No newline at end of file
index 6fcf4b60b292e62ab5a933929ed4b8934c1d5b04..34dbec565adcaf9216a891a0923da17169731f0d 100644 (file)
@@ -1 +1 @@
-OpenBSD 6.0
\ No newline at end of file
+OpenBSD 6.2
\ No newline at end of file
index 0728c38b00e59df2bac45502e78cf3b179717d7b..0b681649f5542b8af887766a6edc5d03ab360b2c 100644 (file)
@@ -1 +1 @@
-.90.0
\ No newline at end of file
+.90
\ No newline at end of file
index 6fcf4b60b292e62ab5a933929ed4b8934c1d5b04..34dbec565adcaf9216a891a0923da17169731f0d 100644 (file)
@@ -1 +1 @@
-OpenBSD 6.0
\ No newline at end of file
+OpenBSD 6.2
\ No newline at end of file
index 8e8d081d58308a2c73e6a1a854bb73b51408dc87..88db999f91f506a08fab3adf5b64ec3be118a6ef 100644 (file)
@@ -8,7 +8,7 @@ INCDIR ?= /usr/include
 
 PY = python2.7
 
 
 PY = python2.7
 
-DEFS = clockspersec defs-map defs-prot defs-sigmask nsig defs-signo defs-fpe defs-sa defs-errno namemax defs-fcntlo defs-basictypes defs-sc defs-clockid
+DEFS = clockspersec defs-map defs-prot defs-sigmask nsig defs-signo defs-fpe defs-sa defs-errno namemax defs-fcntlo defs-basictypes defs-sc defs-clockid defs-wait
 
 all: Libc.txt ${DEFS} strerrnocase.txt
 
 
 all: Libc.txt ${DEFS} strerrnocase.txt
 
@@ -71,6 +71,12 @@ defs-clockid:
 #      ./dumpdefs.py 2 2 i ${INCDIR}/sys/siginfo.h | grep SEGV_ >> ${.TARGET}
 #      ./dumpdefs.py 2 2 i ${INCDIR}/sys/siginfo.h | grep BUS_ >> ${.TARGET}
 
 #      ./dumpdefs.py 2 2 i ${INCDIR}/sys/siginfo.h | grep SEGV_ >> ${.TARGET}
 #      ./dumpdefs.py 2 2 i ${INCDIR}/sys/siginfo.h | grep BUS_ >> ${.TARGET}
 
+defs-wait:
+       ./dumpdefs.py 2 2 i ${INCDIR}/sys/wait.h | grep WAIT_ > ${.TARGET}
+       ./dumpdefs.py 2 1 s ${INCDIR}/sys/wait.h | grep WCONTINUED | grep -v _WCONTINUED >> ${.TARGET}
+       ./dumpdefs.py 2 1 s ${INCDIR}/sys/wait.h | grep WNOHANG >> ${.TARGET}
+       ./dumpdefs.py 2 1 s ${INCDIR}/sys/wait.h | grep WUNTRACED >> ${.TARGET}
+
 dumpstrerrno.c: defs-errno
        grep -v ERESTART ${.ALLSRC} | grep -v EJUSTRETURN | ./mkdumpstrerrno.py > ${.TARGET}
 
 dumpstrerrno.c: defs-errno
        grep -v ERESTART ${.ALLSRC} | grep -v EJUSTRETURN | ./mkdumpstrerrno.py > ${.TARGET}
 
index 0728c38b00e59df2bac45502e78cf3b179717d7b..0b681649f5542b8af887766a6edc5d03ab360b2c 100644 (file)
@@ -1 +1 @@
-.90.0
\ No newline at end of file
+.90
\ No newline at end of file
index 3cc5971d09c242a3868d84fd0354243601adbb82..34dbec565adcaf9216a891a0923da17169731f0d 100644 (file)
@@ -1 +1 @@
-OpenBSD 5.9
\ No newline at end of file
+OpenBSD 6.2
\ No newline at end of file
index 0728c38b00e59df2bac45502e78cf3b179717d7b..0b681649f5542b8af887766a6edc5d03ab360b2c 100644 (file)
@@ -1 +1 @@
-.90.0
\ No newline at end of file
+.90
\ No newline at end of file
index 6fcf4b60b292e62ab5a933929ed4b8934c1d5b04..34dbec565adcaf9216a891a0923da17169731f0d 100644 (file)
@@ -1 +1 @@
-OpenBSD 6.0
\ No newline at end of file
+OpenBSD 6.2
\ No newline at end of file
index d171031e20a5a59265da6dbd193f13ed919c647f..98c69724f6419a417d86358dd5a0aa53ab7df884 100644 (file)
@@ -1,9 +1,9 @@
-MODULE LinTermios ["libc.so.90.0"];
+MODULE LinTermios ["libc.so.90"];
 
        (*
                A. V. Shiryaev, 2012.11, 2013.08, 2015.09
 
 
        (*
                A. V. Shiryaev, 2012.11, 2013.08, 2015.09
 
-               OpenBSD 5.8
+               OpenBSD 6.2
                32-bit
        *)
 
                32-bit
        *)
 
index 21af521a5b2ee4e3fecd49f582b1f487f8a703c8..29c77b0a68243d378ae7c0be61924cdeed0d160d 100755 (executable)
Binary files a/BlackBox/_OpenBSD_/blackbox and b/BlackBox/_OpenBSD_/blackbox differ
index 44bc02b68737fba32cdb794f59a87f0854b382a3..f85efa012ec051c2879780971c2bcd52c79f6d98 100755 (executable)
Binary files a/BlackBox/_OpenBSD_/dev0 and b/BlackBox/_OpenBSD_/dev0 differ