(* ENOENT, EEXIST, EACCES, ENOMEM, EDQUOT, EMFILE, ENOTDIR (int) *)
%%defs-errno%%
+%%defs-wait%%
+
NAME_MAX* = %%namemax%%;
SEEK_SET* = 0;
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.1 *)
+ PROCEDURE [ccall] sysconf* (name: int): long;
+
PROCEDURE [ccall] popen* (command, type: PtrSTR): PtrFILE;
PROCEDURE [ccall] pclose* (stream: PtrFILE): int;
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
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
+\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] sysconf* (name: INTEGER): INTEGER;\r
+\r
PROCEDURE [ccall] popen* (command, type: PtrSTR): PtrFILE;\r
PROCEDURE [ccall] pclose* (stream: PtrFILE): INTEGER;\r
\r
-MODULE LinDl ["libc.so.90.0"];
+MODULE LinDl ["libc.so.90"];
(*
A. V. Shiryaev, 2012.09, 2013.08
- OpenBSD 5.6
+ OpenBSD 6.2
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;
-MODULE LinIconv ["libiconv.so.6.0"];
+MODULE LinIconv ["libiconv.so.6"];
IMPORT Libc := LinLibc;
-MODULE LinIoctl ["libc.so.90.0"];
+MODULE LinIoctl ["libc.so.90"];
(*
- OpenBSD 6.0
+ OpenBSD 6.2
i386
*)
-MODULE LinLibW ["libc.so.90.0"];
+MODULE LinLibW ["libc.so.90"];
(*
- OpenBSD 6.0
+ OpenBSD 6.2
i386
*)
-MODULE LinLibc ["libc.so.90.0"];
+MODULE LinLibc ["libc.so.90"];
(*
- OpenBSD 6.0
+ OpenBSD 6.2
i386
*)
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 *)
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 *)
+ 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;
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.1 *)
+ PROCEDURE [ccall] sysconf* (name: int): long;
+
PROCEDURE [ccall] popen* (command, type: PtrSTR): PtrFILE;
PROCEDURE [ccall] pclose* (stream: PtrFILE): int;
-MODULE LinNet ["libc.so.90.0"];
+MODULE LinNet ["libc.so.90"];
(*
- OpenBSD 6.0
+ OpenBSD 6.2
i386
*)
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 *)
-MODULE LinTermios ["libc.so.90.0"];
+MODULE LinTermios ["libc.so.90"];
(*
A. V. Shiryaev, 2012.11, 2013.08, 2015.09
- OpenBSD 5.8
+ OpenBSD 6.2
32-bit
*)
-.90.0
\ No newline at end of file
+.90
\ No newline at end of file
-OpenBSD 6.0
\ No newline at end of file
+OpenBSD 6.2
\ No newline at end of file
-.90.0
\ No newline at end of file
+.90
\ No newline at end of file
-OpenBSD 6.0
\ No newline at end of file
+OpenBSD 6.2
\ No newline at end of file
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
# ./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}
-.90.0
\ No newline at end of file
+.90
\ No newline at end of file
-OpenBSD 5.9
\ No newline at end of file
+OpenBSD 6.2
\ No newline at end of file
-.90.0
\ No newline at end of file
+.90
\ No newline at end of file
-OpenBSD 6.0
\ No newline at end of file
+OpenBSD 6.2
\ No newline at end of file
-MODULE LinTermios ["libc.so.90.0"];
+MODULE LinTermios ["libc.so.90"];
(*
A. V. Shiryaev, 2012.11, 2013.08, 2015.09
- OpenBSD 5.8
+ OpenBSD 6.2
32-bit
*)