mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-25 06:20:06 +00:00
First steps to get conformtest fully working
This commit is contained in:
parent
7a270350a9
commit
3134156779
131
ChangeLog
131
ChangeLog
@ -1,5 +1,136 @@
|
|||||||
2012-02-25 Ulrich Drepper <drepper@gmail.com>
|
2012-02-25 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
|
||||||
|
* conform/run-conformtest.sh: New file.
|
||||||
|
* conform/Makefile: Run run-conformtest for tests.
|
||||||
|
* conform/conformtest.pl: Many bug fixes. Add ISO C99, ISO C11
|
||||||
|
support.
|
||||||
|
|
||||||
|
* conform/data/uchar.h-data: New file.
|
||||||
|
* conform/data/aio.h-data: Fixes for ISO C and POSIX 1995 testing.
|
||||||
|
* conform/data/arpa/inet.h-data: Likewise.
|
||||||
|
* conform/data/assert.h-data: Likewise.
|
||||||
|
* conform/data/complex.h-data: Likewise.
|
||||||
|
* conform/data/cpio.h-data: Likewise.
|
||||||
|
* conform/data/ctype.h-data: Likewise.
|
||||||
|
* conform/data/dirent.h-data: Likewise.
|
||||||
|
* conform/data/dlfcn.h-data: Likewise.
|
||||||
|
* conform/data/errno.h-data: Likewise.
|
||||||
|
* conform/data/fcntl.h-data: Likewise.
|
||||||
|
* conform/data/float.h-data: Likewise.
|
||||||
|
* conform/data/fmtmsg.h-data: Likewise.
|
||||||
|
* conform/data/fnmatch.h-data: Likewise.
|
||||||
|
* conform/data/ftw.h-data: Likewise.
|
||||||
|
* conform/data/glob.h-data: Likewise.
|
||||||
|
* conform/data/grp.h-data: Likewise.
|
||||||
|
* conform/data/iconv.h-data: Likewise.
|
||||||
|
* conform/data/inttypes.h-data: Likewise.
|
||||||
|
* conform/data/langinfo.h-data: Likewise.
|
||||||
|
* conform/data/libgen.h-data: Likewise.
|
||||||
|
* conform/data/limits.h-data: Likewise.
|
||||||
|
* conform/data/locale.h-data: Likewise.
|
||||||
|
* conform/data/math.h-data: Likewise.
|
||||||
|
* conform/data/monetary.h-data: Likewise.
|
||||||
|
* conform/data/mqueue.h-data: Likewise.
|
||||||
|
* conform/data/ndbm.h-data: Likewise.
|
||||||
|
* conform/data/net/if.h-data: Likewise.
|
||||||
|
* conform/data/netdb.h-data: Likewise.
|
||||||
|
* conform/data/netinet/in.h-data: Likewise.
|
||||||
|
* conform/data/nl_types.h-data: Likewise.
|
||||||
|
* conform/data/poll.h-data: Likewise.
|
||||||
|
* conform/data/pthread.h-data: Likewise.
|
||||||
|
* conform/data/pwd.h-data: Likewise.
|
||||||
|
* conform/data/regex.h-data: Likewise.
|
||||||
|
* conform/data/sched.h-data: Likewise.
|
||||||
|
* conform/data/search.h-data: Likewise.
|
||||||
|
* conform/data/semaphore.h-data: Likewise.
|
||||||
|
* conform/data/setjmp.h-data: Likewise.
|
||||||
|
* conform/data/signal.h-data: Likewise.
|
||||||
|
* conform/data/spawn.h-data: Likewise.
|
||||||
|
* conform/data/stdarg.h-data: Likewise.
|
||||||
|
* conform/data/stdio.h-data: Likewise.
|
||||||
|
* conform/data/stdlib.h-data: Likewise.
|
||||||
|
* conform/data/string.h-data: Likewise.
|
||||||
|
* conform/data/strings.h-data: Likewise.
|
||||||
|
* conform/data/stropts.h-data: Likewise.
|
||||||
|
* conform/data/sys/ipc.h-data: Likewise.
|
||||||
|
* conform/data/sys/mman.h-data: Likewise.
|
||||||
|
* conform/data/sys/msg.h-data: Likewise.
|
||||||
|
* conform/data/sys/resource.h-data: Likewise.
|
||||||
|
* conform/data/sys/select.h-data: Likewise.
|
||||||
|
* conform/data/sys/sem.h-data: Likewise.
|
||||||
|
* conform/data/sys/shm.h-data: Likewise.
|
||||||
|
* conform/data/sys/socket.h-data: Likewise.
|
||||||
|
* conform/data/sys/stat.h-data: Likewise.
|
||||||
|
* conform/data/sys/statvfs.h-data: Likewise.
|
||||||
|
* conform/data/sys/time.h-data: Likewise.
|
||||||
|
* conform/data/sys/timeb.h-data: Likewise.
|
||||||
|
* conform/data/sys/times.h-data: Likewise.
|
||||||
|
* conform/data/sys/types.h-data: Likewise.
|
||||||
|
* conform/data/sys/uio.h-data: Likewise.
|
||||||
|
* conform/data/sys/un.h-data: Likewise.
|
||||||
|
* conform/data/sys/utsname.h-data: Likewise.
|
||||||
|
* conform/data/sys/wait.h-data: Likewise.
|
||||||
|
* conform/data/syslog.h-data: Likewise.
|
||||||
|
* conform/data/tar.h-data: Likewise.
|
||||||
|
* conform/data/termios.h-data: Likewise.
|
||||||
|
* conform/data/utime.h-data: Likewise.
|
||||||
|
* conform/data/utmpx.h-data: Likewise.
|
||||||
|
* conform/data/varargs.h-data: Likewise.
|
||||||
|
* conform/data/wchar.h-data: Likewise.
|
||||||
|
* conform/data/wctype.h-data: Likewise.
|
||||||
|
* conform/data/wordexp.h-data: Likewise.
|
||||||
|
|
||||||
|
* include/stropts.h: New file.
|
||||||
|
* include/uchar.h: New file.
|
||||||
|
* include/aio.h: Changes to allow conformtest.pl to use the headers.
|
||||||
|
* include/assert.h: Likewise.
|
||||||
|
* include/ctype.h: Likewise.
|
||||||
|
* include/dirent.h: Likewise.
|
||||||
|
* include/dlfcn.h: Likewise.
|
||||||
|
* include/fcntl.h: Likewise.
|
||||||
|
* include/fnmatch.h: Likewise.
|
||||||
|
* include/glob.h: Likewise.
|
||||||
|
* include/grp.h: Likewise.
|
||||||
|
* include/libio.h: Likewise.
|
||||||
|
* include/locale.h: Likewise.
|
||||||
|
* include/math.h: Likewise.
|
||||||
|
* include/net/if.h: Likewise.
|
||||||
|
* include/netdb.h: Likewise.
|
||||||
|
* include/netinet/in.h: Likewise.
|
||||||
|
* include/pthread.h: Likewise.
|
||||||
|
* include/pwd.h: Likewise.
|
||||||
|
* include/regex.h: Likewise.
|
||||||
|
* include/sched.h: Likewise.
|
||||||
|
* include/search.h: Likewise.
|
||||||
|
* include/setjmp.h: Likewise.
|
||||||
|
* include/signal.h: Likewise.
|
||||||
|
* include/stdio.h: Likewise.
|
||||||
|
* include/stdlib.h: Likewise.
|
||||||
|
* include/string.h: Likewise.
|
||||||
|
* include/sys/cdefs.h: Likewise.
|
||||||
|
* include/sys/mman.h: Likewise.
|
||||||
|
* include/sys/msg.h: Likewise.
|
||||||
|
* include/sys/resource.h: Likewise.
|
||||||
|
* include/sys/select.h: Likewise.
|
||||||
|
* include/sys/socket.h: Likewise.
|
||||||
|
* include/sys/stat.h: Likewise.
|
||||||
|
* include/sys/statvfs.h: Likewise.
|
||||||
|
* include/sys/time.h: Likewise.
|
||||||
|
* include/sys/times.h: Likewise.
|
||||||
|
* include/sys/uio.h: Likewise.
|
||||||
|
* include/sys/utsname.h: Likewise.
|
||||||
|
* include/sys/wait.h: Likewise.
|
||||||
|
* include/termios.h: Likewise.
|
||||||
|
* include/time.h: Likewise.
|
||||||
|
* include/ulimit.h: Likewise.
|
||||||
|
* include/unistd.h: Likewise.
|
||||||
|
* include/utime.h: Likewise.
|
||||||
|
* include/wchar.h: Likewise.
|
||||||
|
* include/wctype.h: Likewise.
|
||||||
|
* include/wordexp.h: Likewise.
|
||||||
|
|
||||||
|
* posix/tar.h (TSVTX): Should not be visible for POSIX before 2008.
|
||||||
|
|
||||||
* time/time.h: TIME_UTC must be a macro.
|
* time/time.h: TIME_UTC must be a macro.
|
||||||
Make timespec_get available for ISO C11 only as well.
|
Make timespec_get available for ISO C11 only as well.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 1999, 2000 Free Software Foundation, Inc.
|
# Copyright (C) 1999, 2000, 2012 Free Software Foundation, Inc.
|
||||||
# This file is part of the GNU C Library.
|
# This file is part of the GNU C Library.
|
||||||
|
|
||||||
# The GNU C Library is free software; you can redistribute it and/or
|
# The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -24,3 +24,13 @@ distribute = conformtest.pl $(wildcard data/*.h-data) \
|
|||||||
$(wildcard data/*/*.h-data)
|
$(wildcard data/*/*.h-data)
|
||||||
|
|
||||||
include ../Rules
|
include ../Rules
|
||||||
|
|
||||||
|
tests: $(objpfx)run-conformtest.out
|
||||||
|
|
||||||
|
$(objpfx)run-conformtest.out: run-conformtest.sh conformtest.pl \
|
||||||
|
$(wildcard data/*.h-data) \
|
||||||
|
$(wildcard data/*/*.h-data)
|
||||||
|
$(SHELL) -e $< $(objpfx) $(PERL) '$(CC)' \
|
||||||
|
'-I../include $(+sysdep-includes) $(sysincludes) -I..'
|
||||||
|
|
||||||
|
generated = $(wildcard $(objpfx)conform-*.out)
|
||||||
|
@ -5,47 +5,40 @@ use POSIX;
|
|||||||
|
|
||||||
$CC = "gcc";
|
$CC = "gcc";
|
||||||
|
|
||||||
$dialect="XOPEN2K";
|
$standard="XOPEN2K8";
|
||||||
GetOptions ('headers=s' => \@headers, 'dialect=s' => \$dialect);
|
GetOptions ('headers=s' => \@headers, 'standard=s' => \$standard,
|
||||||
|
'flags=s' => \$flags, 'cc=s' => \$CC);
|
||||||
@headers = split(/,/,join(',',@headers));
|
@headers = split(/,/,join(',',@headers));
|
||||||
|
|
||||||
# List of the headers we are testing.
|
# List of the headers we are testing.
|
||||||
if (@headers == ()) {
|
if (@headers == ()) {
|
||||||
@headers = ("wordexp.h", "wctype.h", "wchar.h", "varargs.h", "utmpx.h",
|
@headers = ("wordexp.h", "wctype.h", "wchar.h", "varargs.h", "utmpx.h",
|
||||||
"utime.h", "unistd.h", "ulimit.h", "ucontext.h", "time.h",
|
"utime.h", "unistd.h", "ulimit.h", "ucontext.h", "uchar.h",
|
||||||
"tgmath.h", "termios.h", "tar.h", "sys/wait.h", "sys/utsname.h",
|
"time.h", "tgmath.h", "termios.h", "tar.h", "sys/wait.h",
|
||||||
"sys/un.h", "sys/uio.h", "sys/types.h", "sys/times.h",
|
"sys/utsname.h", "sys/un.h", "sys/uio.h", "sys/types.h",
|
||||||
"sys/timeb.h", "sys/time.h", "sys/statvfs.h", "sys/stat.h",
|
"sys/times.h", "sys/timeb.h", "sys/time.h", "sys/statvfs.h",
|
||||||
"sys/socket.h", "sys/shm.h", "sys/sem.h", "sys/select.h",
|
"sys/stat.h", "sys/socket.h", "sys/shm.h", "sys/sem.h",
|
||||||
"sys/resource.h", "sys/msg.h", "sys/mman.h", "sys/ipc.h",
|
"sys/select.h", "sys/resource.h", "sys/msg.h", "sys/mman.h",
|
||||||
"syslog.h", "stropts.h", "strings.h", "string.h", "stdlib.h",
|
"sys/ipc.h", "syslog.h", "stropts.h", "strings.h", "string.h",
|
||||||
"stdio.h", "stdint.h", "stddef.h", "stdarg.h", "spawn.h",
|
"stdlib.h", "stdio.h", "stdint.h", "stddef.h", "stdarg.h",
|
||||||
"signal.h", "setjmp.h", "semaphore.h", "search.h", "sched.h",
|
"spawn.h", "signal.h", "setjmp.h", "semaphore.h", "search.h",
|
||||||
"regex.h", "pwd.h", "pthread.h", "poll.h", "nl_types.h",
|
"sched.h", "regex.h", "pwd.h", "pthread.h", "poll.h",
|
||||||
"netinet/tcp.h", "netinet/in.h", "net/if.h", "netdb.h", "ndbm.h",
|
"nl_types.h", "netinet/tcp.h", "netinet/in.h", "net/if.h",
|
||||||
"mqueue.h", "monetary.h", "math.h", "locale.h", "libgen.h",
|
"netdb.h", "ndbm.h", "mqueue.h", "monetary.h", "math.h",
|
||||||
"limits.h", "langinfo.h", "iso646.h", "inttypes.h", "iconv.h",
|
"locale.h", "libgen.h", "limits.h", "langinfo.h", "iso646.h",
|
||||||
"grp.h", "glob.h", "ftw.h", "fnmatch.h", "fmtmsg.h", "float.h",
|
"inttypes.h", "iconv.h", "grp.h", "glob.h", "ftw.h", "fnmatch.h",
|
||||||
"fcntl.h", "errno.h", "dlfcn.h", "dirent.h", "ctype.h", "cpio.h",
|
"fmtmsg.h", "float.h", "fcntl.h", "errno.h", "dlfcn.h",
|
||||||
"complex.h", "assert.h", "arpa/inet.h", "aio.h");
|
"dirent.h", "ctype.h", "cpio.h", "complex.h", "assert.h",
|
||||||
|
"arpa/inet.h", "aio.h");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($dialect ne "ISO" && $dialect ne "POSIX" && $dialect ne "XPG3"
|
if ($standard ne "ISO" && $standard ne "ISO99" && $standard ne "ISO11"
|
||||||
&& $dialect ne "XPG4" && $dialect ne "UNIX98" && $dialect ne "XOPEN2K"
|
&& $standard ne "POSIX" && $standard ne "XPG3" && $standard ne "XPG4"
|
||||||
&& $dialect ne "XOPEN2K8" && $dialect ne "POSIX2008") {
|
&& $standard ne "UNIX98" && $standard ne "XOPEN2K" && $standard ne "XOPEN2K8"
|
||||||
die "unknown dialect \"$dialect\"";
|
&& $standard ne "POSIX2008") {
|
||||||
|
die "unknown standard \"$standard\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
$CFLAGS{"ISO"} = "-I. -fno-builtin '-D__attribute__(x)=' -ansi";
|
|
||||||
$CFLAGS{"POSIX"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_POSIX_C_SOURCE=199912";
|
|
||||||
$CFLAGS{"XPG3"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_XOPEN_SOURCE";
|
|
||||||
$CFLAGS{"XPG4"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_XOPEN_SOURCE_EXTENDED";
|
|
||||||
$CFLAGS{"UNIX98"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_XOPEN_SOURCE=500";
|
|
||||||
$CFLAGS{"XOPEN2K"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_XOPEN_SOURCE=600";
|
|
||||||
$CFLAGS{"XOPEN2K8"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_XOPEN_SOURCE=700";
|
|
||||||
$CFLAGS{"POSIX2008"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_POSIX_C_SOURCE=200809L";
|
|
||||||
|
|
||||||
|
|
||||||
# These are the ISO C99 keywords.
|
# These are the ISO C99 keywords.
|
||||||
@keywords = ('auto', 'break', 'case', 'char', 'const', 'continue', 'default',
|
@keywords = ('auto', 'break', 'case', 'char', 'const', 'continue', 'default',
|
||||||
'do', 'double', 'else', 'enum', 'extern', 'float', 'for', 'goto',
|
'do', 'double', 'else', 'enum', 'extern', 'float', 'for', 'goto',
|
||||||
@ -56,14 +49,31 @@ $CFLAGS{"POSIX2008"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_POSIX_C_SOURCE
|
|||||||
# These are symbols which are known to pollute the namespace.
|
# These are symbols which are known to pollute the namespace.
|
||||||
@knownproblems = ('unix', 'linux', 'i386');
|
@knownproblems = ('unix', 'linux', 'i386');
|
||||||
|
|
||||||
if ($dialect ne "XOPEN2K8" && $dialect ne "POSIX2008") {
|
$CFLAGS{"ISO"} = "-ansi";
|
||||||
|
$CFLAGS{"ISO99"} = "-std=c99";
|
||||||
|
$CFLAGS{"ISO11"} = "-std=c1x -D_ISOC11_SOURCE";
|
||||||
|
$CFLAGS{"POSIX"} = "-D_POSIX_C_SOURCE=199912";
|
||||||
|
$CFLAGS{"XPG3"} = "-D_XOPEN_SOURCE";
|
||||||
|
$CFLAGS{"XPG4"} = "-D_XOPEN_SOURCE_EXTENDED";
|
||||||
|
$CFLAGS{"UNIX98"} = "-D_XOPEN_SOURCE=500";
|
||||||
|
$CFLAGS{"XOPEN2K"} = "-D_XOPEN_SOURCE=600";
|
||||||
|
$CFLAGS{"XOPEN2K8"} = "-D_XOPEN_SOURCE=700";
|
||||||
|
$CFLAGS{"POSIX2008"} = "-D_POSIX_C_SOURCE=200809L";
|
||||||
|
|
||||||
|
$CFLAGS = "$flags -fno-builtin '-D__attribute__(x)=' $CFLAGS{$standard} -D_ISOMAC";
|
||||||
|
|
||||||
|
if ($standard ne "XOPEN2K8" && $standard ne "POSIX2008") {
|
||||||
# Some headers need a bit more attention. At least with XPG7
|
# Some headers need a bit more attention. At least with XPG7
|
||||||
# all headers should be self-contained.
|
# all headers should be self-contained.
|
||||||
$mustprepend{'inttypes.h'} = "#include <stddef.h>\n";
|
$mustprepend{'inttypes.h'} = "#include <stddef.h>\n";
|
||||||
|
$mustprepend{'glob.h'} = "#include <sys/types.h>\n";
|
||||||
|
$mustprepend{'grp.h'} = "#include <sys/types.h>\n";
|
||||||
$mustprepend{'regex.h'} = "#include <sys/types.h>\n";
|
$mustprepend{'regex.h'} = "#include <sys/types.h>\n";
|
||||||
|
$mustprepend{'pwd.h'} = "#include <sys/types.h>\n";
|
||||||
$mustprepend{'sched.h'} = "#include <sys/types.h>\n";
|
$mustprepend{'sched.h'} = "#include <sys/types.h>\n";
|
||||||
$mustprepend{'signal.h'} = "#include <pthread.h>\n";
|
$mustprepend{'signal.h'} = "#include <pthread.h>\n#include <sys/types.h>\n";
|
||||||
$mustprepend{'stdio.h'} = "#include <sys/types.h>\n";
|
$mustprepend{'stdio.h'} = "#include <sys/types.h>\n";
|
||||||
|
$mustprepend{'sys/stat.h'} = "#include <sys/types.h>\n";
|
||||||
$mustprepend{'wchar.h'} = "#include <stdarg.h>\n";
|
$mustprepend{'wchar.h'} = "#include <stdarg.h>\n";
|
||||||
$mustprepend{'wordexp.h'} = "#include <stddef.h>\n";
|
$mustprepend{'wordexp.h'} = "#include <stddef.h>\n";
|
||||||
}
|
}
|
||||||
@ -100,9 +110,17 @@ sub poorfnmatch {
|
|||||||
$res = ($strlen >= $patlen
|
$res = ($strlen >= $patlen
|
||||||
&& substr ($pattern, -$patlen, $patlen) eq substr ($string, -$patlen, $patlen));
|
&& substr ($pattern, -$patlen, $patlen) eq substr ($string, -$patlen, $patlen));
|
||||||
} elsif (substr ($pattern, -1, 1) eq '*') {
|
} elsif (substr ($pattern, -1, 1) eq '*') {
|
||||||
my($patlen) = length ($pattern) - 1;
|
if (substr ($pattern, -2, 1) eq ']') {
|
||||||
$res = ($strlen >= $patlen
|
my($patlen) = index ($pattern, '[');
|
||||||
&& substr ($pattern, 0, $patlen) eq substr ($string, 0, $patlen));
|
my($range) = substr ($pattern, $patlen + 1, -2);
|
||||||
|
$res = ($strlen > $patlen
|
||||||
|
&& substr ($pattern, 0, $patlen) eq substr ($string, 0, $patlen)
|
||||||
|
&& index ($range, substr ($string, $patlen, 1)) != -1);
|
||||||
|
} else {
|
||||||
|
my($patlen) = length ($pattern) - 1;
|
||||||
|
$res = ($strlen >= $patlen
|
||||||
|
&& substr ($pattern, 0, $patlen) eq substr ($string, 0, $patlen));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$res = $pattern eq $string;
|
$res = $pattern eq $string;
|
||||||
}
|
}
|
||||||
@ -123,7 +141,7 @@ sub compiletest
|
|||||||
++$skipped;
|
++$skipped;
|
||||||
printf (" SKIP\n");
|
printf (" SKIP\n");
|
||||||
} else {
|
} else {
|
||||||
$ret = system "$CC $CFLAGS{$dialect} -c $fnamebase.c -o $fnamebase.o > $fnamebase.out 2>&1";
|
$ret = system "$CC $CFLAGS -c $fnamebase.c -o $fnamebase.o > $fnamebase.out 2>&1";
|
||||||
if ($ret != 0) {
|
if ($ret != 0) {
|
||||||
if ($optional != 0) {
|
if ($optional != 0) {
|
||||||
printf (" $errmsg\n");
|
printf (" $errmsg\n");
|
||||||
@ -175,7 +193,7 @@ sub runtest
|
|||||||
++$skipped;
|
++$skipped;
|
||||||
printf (" SKIP\n");
|
printf (" SKIP\n");
|
||||||
} else {
|
} else {
|
||||||
$ret = system "$CC $CFLAGS{$dialect} -o $fnamebase $fnamebase.c > $fnamebase.out 2>&1";
|
$ret = system "$CC $CFLAGS -o $fnamebase $fnamebase.c > $fnamebase.out 2>&1";
|
||||||
if ($ret != 0) {
|
if ($ret != 0) {
|
||||||
printf (" FAIL\n");
|
printf (" FAIL\n");
|
||||||
if ($verbose != 0) {
|
if ($verbose != 0) {
|
||||||
@ -232,9 +250,7 @@ sub newtoken {
|
|||||||
return if (poorfnmatch ($allow[$idx], $token));
|
return if (poorfnmatch ($allow[$idx], $token));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($isknown{$token}) {
|
unless ($isknown{$token}) {
|
||||||
++$nknown;
|
|
||||||
} else {
|
|
||||||
$errors{$token} = 1;
|
$errors{$token} = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -264,7 +280,7 @@ sub checknamespace {
|
|||||||
|
|
||||||
undef %errors;
|
undef %errors;
|
||||||
$nknown = 0;
|
$nknown = 0;
|
||||||
open (CONTENT, "$CC $CFLAGS{$dialect} -E $fnamebase.c -P -Wp,-dN | sed -e '/^# [1-9]/d' -e '/^[[:space:]]*\$/d' |");
|
open (CONTENT, "$CC $CFLAGS -E $fnamebase.c -P -Wp,-dN | sed -e '/^# [1-9]/d' -e '/^[[:space:]]*\$/d' |");
|
||||||
loop: while (<CONTENT>) {
|
loop: while (<CONTENT>) {
|
||||||
chop;
|
chop;
|
||||||
if (/^#define (.*)/) {
|
if (/^#define (.*)/) {
|
||||||
@ -303,12 +319,7 @@ sub checknamespace {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($realerror == 0) {
|
if ($realerror == 0) {
|
||||||
if ($nknown > 0) {
|
printf ("OK\n");
|
||||||
printf ("EXPECTED FAILURES\n");
|
|
||||||
++$known;
|
|
||||||
} else {
|
|
||||||
printf ("OK\n");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -318,32 +329,36 @@ while ($#headers >= 0) {
|
|||||||
my($hf) = $h;
|
my($hf) = $h;
|
||||||
$hf =~ s|/|-|;
|
$hf =~ s|/|-|;
|
||||||
my($fnamebase) = "$tmpdir/$hf-test";
|
my($fnamebase) = "$tmpdir/$hf-test";
|
||||||
my($missing);
|
my($missing) = 1;
|
||||||
my(@allow) = ();
|
my(@allow) = ();
|
||||||
my(@allowheader) = ();
|
my(@allowheader) = ();
|
||||||
my(%seenheader) = ();
|
my(%seenheader) = ();
|
||||||
my($prepend) = $mustprepend{$h};
|
my($prepend) = $mustprepend{$h};
|
||||||
|
my($test_exist) = 1;
|
||||||
|
|
||||||
printf ("Testing <$h>\n");
|
printf ("Testing <$h>\n");
|
||||||
printf ("----------" . "-" x length ($h) . "\n");
|
printf ("----------" . "-" x length ($h) . "\n");
|
||||||
|
|
||||||
# Generate a program to test for the availability of this header.
|
open (CONTROL, "$CC -E -D$standard -x c data/$h-data |");
|
||||||
open (TESTFILE, ">$fnamebase.c");
|
|
||||||
print TESTFILE "$prepend";
|
|
||||||
print TESTFILE "#include <$h>\n";
|
|
||||||
close (TESTFILE);
|
|
||||||
|
|
||||||
$missing = compiletest ($fnamebase, "Checking whether <$h> is available",
|
|
||||||
"Header <$h> not available", 0, 0);
|
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
open (CONTROL, "$CC -E -D$dialect - < data/$h-data |");
|
|
||||||
control: while (<CONTROL>) {
|
control: while (<CONTROL>) {
|
||||||
chop;
|
chop;
|
||||||
next control if (/^#/);
|
next control if (/^#/);
|
||||||
next control if (/^[ ]*$/);
|
next control if (/^[ ]*$/);
|
||||||
|
|
||||||
|
if ($test_exist) {
|
||||||
|
$test_exist = 0;
|
||||||
|
# Generate a program to test for the availability of this header.
|
||||||
|
open (TESTFILE, ">$fnamebase.c");
|
||||||
|
print TESTFILE "$prepend";
|
||||||
|
print TESTFILE "#include <$h>\n";
|
||||||
|
close (TESTFILE);
|
||||||
|
|
||||||
|
$missing = compiletest ($fnamebase, "Checking whether <$h> is available",
|
||||||
|
"Header <$h> not available", 0, 0);
|
||||||
|
printf ("\n");
|
||||||
|
last control if ($missing);
|
||||||
|
}
|
||||||
|
|
||||||
if (/^element *({([^}]*)}|([^{ ]*)) *({([^}]*)}|([^{ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
|
if (/^element *({([^}]*)}|([^{ ]*)) *({([^}]*)}|([^{ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
|
||||||
my($struct) = "$2$3";
|
my($struct) = "$2$3";
|
||||||
my($type) = "$5$6";
|
my($type) = "$5$6";
|
||||||
@ -421,7 +436,7 @@ while ($#headers >= 0) {
|
|||||||
"Member \"$member\" does not have the correct type.",
|
"Member \"$member\" does not have the correct type.",
|
||||||
$res, 0);
|
$res, 0);
|
||||||
}
|
}
|
||||||
} elsif (/^optional-constant *([a-zA-Z0-9_]*) ([>=<]+) ([A-Za-z0-9_]*)/) {
|
} elsif (/^optional-constant *([a-zA-Z0-9_]*) ([>=<]+) ([A-Za-z0-9_-]*)/) {
|
||||||
my($const) = $1;
|
my($const) = $1;
|
||||||
my($op) = $2;
|
my($op) = $2;
|
||||||
my($value) = $3;
|
my($value) = $3;
|
||||||
@ -452,7 +467,7 @@ while ($#headers >= 0) {
|
|||||||
$res = runtest ($fnamebase, "Testing for value of constant $const",
|
$res = runtest ($fnamebase, "Testing for value of constant $const",
|
||||||
"Constant \"$const\" has not the right value.", $res);
|
"Constant \"$const\" has not the right value.", $res);
|
||||||
}
|
}
|
||||||
} elsif (/^constant *([a-zA-Z0-9_]*) *([>=<]+) ([A-Za-z0-9_]*)/) {
|
} elsif (/^constant *([a-zA-Z0-9_]*) *([>=<]+) ([A-Za-z0-9_-]*)/) {
|
||||||
my($const) = $1;
|
my($const) = $1;
|
||||||
my($op) = $2;
|
my($op) = $2;
|
||||||
my($value) = $3;
|
my($value) = $3;
|
||||||
@ -483,7 +498,7 @@ while ($#headers >= 0) {
|
|||||||
$res = runtest ($fnamebase, "Testing for value of constant $const",
|
$res = runtest ($fnamebase, "Testing for value of constant $const",
|
||||||
"Constant \"$const\" has not the right value.", $res);
|
"Constant \"$const\" has not the right value.", $res);
|
||||||
}
|
}
|
||||||
} elsif (/^typed-constant *([a-zA-Z0-9_]*) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*)?/) {
|
} elsif (/^typed-constant *([a-zA-Z0-9_]*) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_-]*)?/) {
|
||||||
my($const) = $1;
|
my($const) = $1;
|
||||||
my($type) = "$3$4";
|
my($type) = "$3$4";
|
||||||
my($value) = $5;
|
my($value) = $5;
|
||||||
@ -525,7 +540,7 @@ while ($#headers >= 0) {
|
|||||||
$res = runtest ($fnamebase, "Testing for value of constant $const",
|
$res = runtest ($fnamebase, "Testing for value of constant $const",
|
||||||
"Constant \"$const\" has not the right value.", $res);
|
"Constant \"$const\" has not the right value.", $res);
|
||||||
}
|
}
|
||||||
} elsif (/^optional-constant *([a-zA-Z0-9_]*) *([A-Za-z0-9_]*)?/) {
|
} elsif (/^optional-constant *([a-zA-Z0-9_]*) *([A-Za-z0-9_-]*)?/) {
|
||||||
my($const) = $1;
|
my($const) = $1;
|
||||||
my($value) = $2;
|
my($value) = $2;
|
||||||
my($res) = $missing;
|
my($res) = $missing;
|
||||||
@ -554,7 +569,7 @@ while ($#headers >= 0) {
|
|||||||
$res = runtest ($fnamebase, "Testing for value of constant $const",
|
$res = runtest ($fnamebase, "Testing for value of constant $const",
|
||||||
"Constant \"$const\" has not the right value.", $res);
|
"Constant \"$const\" has not the right value.", $res);
|
||||||
}
|
}
|
||||||
} elsif (/^constant *([a-zA-Z0-9_]*) *([A-Za-z0-9_]*)?/) {
|
} elsif (/^constant *([a-zA-Z0-9_]*) *([A-Za-z0-9_-]*)?/) {
|
||||||
my($const) = $1;
|
my($const) = $1;
|
||||||
my($value) = $2;
|
my($value) = $2;
|
||||||
my($res) = $missing;
|
my($res) = $missing;
|
||||||
@ -583,7 +598,7 @@ while ($#headers >= 0) {
|
|||||||
$res = runtest ($fnamebase, "Testing for value of constant $const",
|
$res = runtest ($fnamebase, "Testing for value of constant $const",
|
||||||
"Constant \"$const\" has not the right value.", $res);
|
"Constant \"$const\" has not the right value.", $res);
|
||||||
}
|
}
|
||||||
} elsif (/^symbol *([a-zA-Z0-9_]*) *([A-Za-z0-9_]*)?/) {
|
} elsif (/^symbol *([a-zA-Z0-9_]*) *([A-Za-z0-9_-]*)?/) {
|
||||||
my($symbol) = $1;
|
my($symbol) = $1;
|
||||||
my($value) = $2;
|
my($value) = $2;
|
||||||
my($res) = $missing;
|
my($res) = $missing;
|
||||||
@ -614,7 +629,7 @@ while ($#headers >= 0) {
|
|||||||
$res = runtest ($fnamebase, "Testing for value of symbol $symbol",
|
$res = runtest ($fnamebase, "Testing for value of symbol $symbol",
|
||||||
"Symbol \"$symbol\" has not the right value.", $res);
|
"Symbol \"$symbol\" has not the right value.", $res);
|
||||||
}
|
}
|
||||||
} elsif (/^typed-constant *([a-zA-Z0-9_]*) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*)?/) {
|
} elsif (/^typed-constant *([a-zA-Z0-9_]*) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_-]*)?/) {
|
||||||
my($const) = $1;
|
my($const) = $1;
|
||||||
my($type) = "$3$4";
|
my($type) = "$3$4";
|
||||||
my($value) = $5;
|
my($value) = $5;
|
||||||
@ -908,7 +923,7 @@ while ($#headers >= 0) {
|
|||||||
print TESTFILE "#endif\n";
|
print TESTFILE "#endif\n";
|
||||||
close (TESTFILE);
|
close (TESTFILE);
|
||||||
|
|
||||||
$res = compiletest ($fnamebase, "Test availability of function $fname",
|
$res = compiletest ($fnamebase, "Test availability of macro $fname",
|
||||||
"Function \"$fname\" is not available.", $res, 0);
|
"Function \"$fname\" is not available.", $res, 0);
|
||||||
|
|
||||||
# Generate a program to test for the type of this function.
|
# Generate a program to test for the type of this function.
|
||||||
@ -921,7 +936,7 @@ while ($#headers >= 0) {
|
|||||||
print TESTFILE "#endif\n";
|
print TESTFILE "#endif\n";
|
||||||
close (TESTFILE);
|
close (TESTFILE);
|
||||||
|
|
||||||
compiletest ($fnamebase, "Test for type of function $fname",
|
compiletest ($fnamebase, "Test for type of macro $fname",
|
||||||
"Function \"$fname\" has incorrect type.", $res, 0);
|
"Function \"$fname\" has incorrect type.", $res, 0);
|
||||||
} elsif (/^macro-str *([^ ]*) *(\".*\")/) {
|
} elsif (/^macro-str *([^ ]*) *(\".*\")/) {
|
||||||
# The above regex doesn't handle a \" in a string.
|
# The above regex doesn't handle a \" in a string.
|
||||||
@ -1002,7 +1017,39 @@ while ($#headers >= 0) {
|
|||||||
print TESTFILE "int main (void) { return !($macro $op $value); }\n";
|
print TESTFILE "int main (void) { return !($macro $op $value); }\n";
|
||||||
close (TESTFILE);
|
close (TESTFILE);
|
||||||
|
|
||||||
$res = runtest ($fnamebase, "Testing for value of constant $macro",
|
$res = runtest ($fnamebase, "Testing for value of macro $macro",
|
||||||
|
"Macro \"$macro\" has not the right value.", $res);
|
||||||
|
}
|
||||||
|
} elsif (/^macro *([a-zA-Z0-9_]*) *([A-Za-z0-9_]*)/) {
|
||||||
|
my($macro) = "$1";
|
||||||
|
my($value) = $2;
|
||||||
|
my($res) = $missing;
|
||||||
|
|
||||||
|
# Remember that this name is allowed.
|
||||||
|
push @allow, $macro;
|
||||||
|
|
||||||
|
# Generate a program to test for availability of this macro.
|
||||||
|
open (TESTFILE, ">$fnamebase.c");
|
||||||
|
print TESTFILE "$prepend";
|
||||||
|
print TESTFILE "#include <$h>\n";
|
||||||
|
print TESTFILE "#ifndef $macro\n";
|
||||||
|
print TESTFILE "# error \"Macro $macro not defined\"\n";
|
||||||
|
print TESTFILE "#endif\n";
|
||||||
|
close (TESTFILE);
|
||||||
|
|
||||||
|
$res = compiletest ($fnamebase, "Test availability of macro $macro",
|
||||||
|
"Macro \"$macro\" is not available.", $res, 0);
|
||||||
|
|
||||||
|
if ($value ne "") {
|
||||||
|
# Generate a program to test for the value of this constant.
|
||||||
|
open (TESTFILE, ">$fnamebase.c");
|
||||||
|
print TESTFILE "$prepend";
|
||||||
|
print TESTFILE "#include <$h>\n";
|
||||||
|
# Negate the value since 0 means ok
|
||||||
|
print TESTFILE "int main (void) { return !($macro == $value); }\n";
|
||||||
|
close (TESTFILE);
|
||||||
|
|
||||||
|
$res = runtest ($fnamebase, "Testing for value of macro $macro",
|
||||||
"Macro \"$macro\" has not the right value.", $res);
|
"Macro \"$macro\" has not the right value.", $res);
|
||||||
}
|
}
|
||||||
} elsif (/^macro *([^ ]*)/) {
|
} elsif (/^macro *([^ ]*)/) {
|
||||||
@ -1046,7 +1093,7 @@ while ($#headers >= 0) {
|
|||||||
while ($#allowheader >= 0) {
|
while ($#allowheader >= 0) {
|
||||||
my($ah) = pop @allowheader;
|
my($ah) = pop @allowheader;
|
||||||
|
|
||||||
open (ALLOW, "$CC -E -D$dialect - < data/$ah-data |");
|
open (ALLOW, "$CC -E -D$standard - < data/$ah-data |");
|
||||||
acontrol: while (<ALLOW>) {
|
acontrol: while (<ALLOW>) {
|
||||||
chop;
|
chop;
|
||||||
next acontrol if (/^#/);
|
next acontrol if (/^#/);
|
||||||
@ -1091,13 +1138,17 @@ while ($#headers >= 0) {
|
|||||||
close (ALLOW);
|
close (ALLOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
# Now check the namespace.
|
if ($test_exist) {
|
||||||
printf (" Checking the namespace of \"%s\"... ", $h);
|
printf (" Not defined\n");
|
||||||
if ($missing) {
|
|
||||||
++$skipped;
|
|
||||||
printf ("SKIP\n");
|
|
||||||
} else {
|
} else {
|
||||||
checknamespace ($h, $fnamebase, @allow);
|
# Now check the namespace.
|
||||||
|
printf (" Checking the namespace of \"%s\"... ", $h);
|
||||||
|
if ($missing) {
|
||||||
|
++$skipped;
|
||||||
|
printf ("SKIP\n");
|
||||||
|
} else {
|
||||||
|
checknamespace ($h, $fnamebase, @allow);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
printf ("\n\n");
|
printf ("\n\n");
|
||||||
@ -1106,14 +1157,6 @@ while ($#headers >= 0) {
|
|||||||
printf "-" x 76 . "\n";
|
printf "-" x 76 . "\n";
|
||||||
printf (" Total number of tests : %4d\n", $total);
|
printf (" Total number of tests : %4d\n", $total);
|
||||||
|
|
||||||
printf (" Number of known failures: %4d (", $known);
|
|
||||||
$percent = ($known * 100) / $total;
|
|
||||||
if ($known > 0 && $percent < 1.0) {
|
|
||||||
printf (" <1%%)\n");
|
|
||||||
} else {
|
|
||||||
printf ("%3d%%)\n", $percent);
|
|
||||||
}
|
|
||||||
|
|
||||||
printf (" Number of failed tests : %4d (", $errors);
|
printf (" Number of failed tests : %4d (", $errors);
|
||||||
$percent = ($errors * 100) / $total;
|
$percent = ($errors * 100) / $total;
|
||||||
if ($errors > 0 && $percent < 1.0) {
|
if ($errors > 0 && $percent < 1.0) {
|
||||||
@ -1131,3 +1174,6 @@ if ($skipped > 0 && $percent < 1.0) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
exit $errors != 0;
|
exit $errors != 0;
|
||||||
|
# Local Variables:
|
||||||
|
# perl-indent-level: 2
|
||||||
|
# End:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type {struct aiocb}
|
type {struct aiocb}
|
||||||
|
|
||||||
// Test elements of the AIO control struct.
|
// Test elements of the AIO control struct.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
// in_port_t should have exactly 16 bits
|
// in_port_t should have exactly 16 bits
|
||||||
type in_port_t
|
type in_port_t
|
||||||
// in_addr_t should have exactly 32 bits
|
// in_addr_t should have exactly 32 bits
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
macro assert
|
macro assert
|
||||||
|
|
||||||
|
#ifdef ISO11
|
||||||
|
macro static_assert
|
||||||
|
#endif
|
||||||
|
|
||||||
allow *_t
|
allow *_t
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if defined XOPEN2K || defined POSIX2008
|
#if defined ISO99 || defined ISO11 || defined XOPEN2K || defined POSIX2008
|
||||||
macro complex
|
macro complex
|
||||||
macro _Complex_I
|
macro _Complex_I
|
||||||
optional-macro imaginary
|
optional-macro imaginary
|
||||||
@ -73,4 +73,10 @@ function {long double complex} csinl (long double complex)
|
|||||||
function {long double complex} csqrtl (long double complex)
|
function {long double complex} csqrtl (long double complex)
|
||||||
function {long double complex} ctanhl (long double complex)
|
function {long double complex} ctanhl (long double complex)
|
||||||
function {long double complex} ctanl (long double complex)
|
function {long double complex} ctanl (long double complex)
|
||||||
|
|
||||||
|
# if defined ISO11
|
||||||
|
macro-function {double complex} CMPLX (double, double)
|
||||||
|
macro-function {float complex} CMPLXF (float, float)
|
||||||
|
macro-function {long double complex} CMPLXL (long double, long double)
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
constant C_IRUSR 0000400
|
constant C_IRUSR 0000400
|
||||||
constant C_IWUSR 0000200
|
constant C_IWUSR 0000200
|
||||||
constant C_IXUSR 0000100
|
constant C_IXUSR 0000100
|
||||||
|
@ -12,7 +12,7 @@ function int isxdigit (int)
|
|||||||
function int tolower (int)
|
function int tolower (int)
|
||||||
function int toupper (int)
|
function int toupper (int)
|
||||||
|
|
||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function int isascii (int)
|
function int isascii (int)
|
||||||
function int toascii (int)
|
function int toascii (int)
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type DIR
|
type DIR
|
||||||
|
|
||||||
type {struct dirent}
|
type {struct dirent}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
macro RTLD_LAZY
|
macro RTLD_LAZY
|
||||||
macro RTLD_NOW
|
macro RTLD_NOW
|
||||||
macro RTLD_GLOBAL
|
macro RTLD_GLOBAL
|
||||||
|
@ -2,7 +2,10 @@ constant EDOM
|
|||||||
constant EILSEQ
|
constant EILSEQ
|
||||||
constant ERANGE
|
constant ERANGE
|
||||||
|
|
||||||
#ifndef ISO
|
// variable int errno
|
||||||
|
allow errno
|
||||||
|
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
constant E2BIG
|
constant E2BIG
|
||||||
constant EACCES
|
constant EACCES
|
||||||
constant EADDRINUSE
|
constant EADDRINUSE
|
||||||
@ -84,9 +87,9 @@ constant ENOTRECOVERABLE
|
|||||||
constant EOWNERDEAD
|
constant EOWNERDEAD
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
// variable int errno
|
|
||||||
allow errno
|
|
||||||
|
|
||||||
allow E*
|
allow E*
|
||||||
allow *_t
|
allow *_t
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
allow E[0123456789]*
|
||||||
|
allow E[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
constant F_DUPFD
|
constant F_DUPFD
|
||||||
constant F_GETFD
|
constant F_GETFD
|
||||||
constant F_SETFD
|
constant F_SETFD
|
||||||
|
@ -38,4 +38,23 @@ macro FLT_MIN
|
|||||||
macro DBL_MIN
|
macro DBL_MIN
|
||||||
macro LDBL_MIN
|
macro LDBL_MIN
|
||||||
|
|
||||||
|
#if !defined ISO && !defined XPG3 && !defined XPG4 && !defined POSIX && !defined UNIX98
|
||||||
|
constant DECIMAL_DIG >= 10
|
||||||
|
constant FLT_EVAL_METHOD
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined ISO11
|
||||||
|
constant DBL_HAS_SUBNORM
|
||||||
|
constant FLT_HAS_SUBNORM
|
||||||
|
constant LDBL_HAS_SUBNORM
|
||||||
|
|
||||||
|
constant DBL_DECIMAL_DIG >= 10
|
||||||
|
constant FLT_DECIMAL_DIG >= 6
|
||||||
|
constant LDBL_DECIMAL_DIG >= 10
|
||||||
|
|
||||||
|
constant DBL_TRUE_MIN <= 1E-37
|
||||||
|
constant FLT_TRUE_MIN <= 1E-37
|
||||||
|
constant LDBL_TRUE_MIN <= 1E-37
|
||||||
|
#endif
|
||||||
|
|
||||||
allow *_t
|
allow *_t
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
macro MM_HARD
|
macro MM_HARD
|
||||||
constant MM_HARD
|
constant MM_HARD
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
constant FNM_NOMATCH
|
constant FNM_NOMATCH
|
||||||
constant FNM_PATHNAME
|
constant FNM_PATHNAME
|
||||||
constant FNM_PERIOD
|
constant FNM_PERIOD
|
||||||
constant FNM_NOESCAPE
|
constant FNM_NOESCAPE
|
||||||
#if !defined XOPEN2K8 && !defined POSIX2008
|
#if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
|
||||||
constant FNM_NOSYS
|
constant FNM_NOSYS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
type {struct FTW}
|
type {struct FTW}
|
||||||
element {struct FTW} int base
|
element {struct FTW} int base
|
||||||
element {struct FTW} int level
|
element {struct FTW} int level
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type glob_t
|
type glob_t
|
||||||
element glob_t size_t gl_pathc
|
element glob_t size_t gl_pathc
|
||||||
element glob_t {char**} gl_pathv
|
element glob_t {char**} gl_pathv
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type {struct group}
|
type {struct group}
|
||||||
element {struct group} {char*} gr_name
|
element {struct group} {char*} gr_name
|
||||||
element {struct group} gid_t gr_gid
|
element {struct group} gid_t gr_gid
|
||||||
@ -13,9 +13,9 @@ type size_t
|
|||||||
|
|
||||||
function {struct group*} getgrgid (gid_t)
|
function {struct group*} getgrgid (gid_t)
|
||||||
function {struct group*} getgrnam (const char*)
|
function {struct group*} getgrnam (const char*)
|
||||||
# ifndef POSIX
|
|
||||||
function int getgrgid_r (gid_t, struct group*, char *, size_t, struct group**)
|
function int getgrgid_r (gid_t, struct group*, char *, size_t, struct group**)
|
||||||
function int getgrnam_r (const char *, struct group *, char *, size_t, struct group**)
|
function int getgrnam_r (const char *, struct group *, char *, size_t, struct group**)
|
||||||
|
# ifndef POSIX
|
||||||
function {struct group*} getgrent (void)
|
function {struct group*} getgrent (void)
|
||||||
function void endgrent (void)
|
function void endgrent (void)
|
||||||
# ifndef POSIX2008
|
# ifndef POSIX2008
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type iconv_t
|
type iconv_t
|
||||||
# if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
type size_t
|
type size_t
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#if defined ISO99 || defined ISO11 || defined XOPEN2K || defined POSIX2008
|
||||||
type int8_t
|
type int8_t
|
||||||
type int16_t
|
type int16_t
|
||||||
type int32_t
|
type int32_t
|
||||||
@ -141,3 +142,4 @@ allow INT*
|
|||||||
allow UINT*
|
allow UINT*
|
||||||
allow PRI[Xa-z]*
|
allow PRI[Xa-z]*
|
||||||
allow SCN[Xa-z]*
|
allow SCN[Xa-z]*
|
||||||
|
#endif
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
constant CODESET
|
constant CODESET
|
||||||
constant D_T_FMT
|
constant D_T_FMT
|
||||||
constant D_FMT
|
constant D_FMT
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function {char*} basename (char*)
|
function {char*} basename (char*)
|
||||||
function {char*} dirname (char*)
|
function {char*} dirname (char*)
|
||||||
|
|
||||||
|
@ -1,3 +1,31 @@
|
|||||||
|
constant CHAR_BIT >= 8
|
||||||
|
constant SCHAR_MIN <= -127
|
||||||
|
constant SCHAR_MAX >= 127
|
||||||
|
constant UCHAR_MAX >= 255
|
||||||
|
#ifdef __CHAR_UNSIGNED__
|
||||||
|
constant CHAR_MIN 0
|
||||||
|
constant CHAR_MAX UCHAR_MAX
|
||||||
|
#else
|
||||||
|
constant CHAR_MIN SCHAR_MIN
|
||||||
|
constant CHAR_MAX SCHAR_MAX
|
||||||
|
#endif
|
||||||
|
constant MB_LEN_MAX >= 1
|
||||||
|
constant SHRT_MIN <= -32767
|
||||||
|
constant SHRT_MAX >= 32767
|
||||||
|
constant USHRT_MAX >= 65535
|
||||||
|
constant INT_MAX >= 2147483647
|
||||||
|
constant INT_MIN <= 2147483647
|
||||||
|
constant UINT_MAX >= 4294967295
|
||||||
|
constant LONG_MAX >= 2147483647
|
||||||
|
constant LONG_MIN <= 2147483647
|
||||||
|
constant ULONG_MAX >= 4294967295
|
||||||
|
#if defined ISO99 || defined ISO11 || defined XOPEN2K8 || defined POSIX2008
|
||||||
|
constant LLONG_MIN <= -9223372036854775807ll
|
||||||
|
constant LLONG_MAX >= 9223372036854775807ll
|
||||||
|
constant ULLONG_MAX >= 18446744073709551615ull
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
// if these values exist, we should check the minimal value
|
// if these values exist, we should check the minimal value
|
||||||
allow AIO_LIST_MAX
|
allow AIO_LIST_MAX
|
||||||
allow AIO_MAX
|
allow AIO_MAX
|
||||||
@ -111,25 +139,11 @@ optional-constant _POSIX2_LINE_MAX 2048
|
|||||||
optional-constant _POSIX2_RE_DUP_MAX 255
|
optional-constant _POSIX2_RE_DUP_MAX 255
|
||||||
optional-constant _XOPEN_IOV_MAX 16
|
optional-constant _XOPEN_IOV_MAX 16
|
||||||
|
|
||||||
constant CHAR_BIT >= 8
|
#if !defined POSIX && !defined POSIX2008
|
||||||
constant CHAR_MAX
|
|
||||||
constant INT_MAX >= 2147483647
|
|
||||||
constant LONG_BIT >= 32
|
|
||||||
constant MB_LEN_MAX >= 1
|
|
||||||
constant LONG_MAX >= 2147483647
|
|
||||||
constant SCHAR_MAX >= 127
|
|
||||||
constant SHRT_MAX >= 32767
|
|
||||||
constant SSIZE_MAX
|
|
||||||
constant UCHAR_MAX >= 255
|
|
||||||
constant UINT_MAX >= 4294967295
|
|
||||||
constant ULONG_MAX >= 4294967295
|
|
||||||
constant USHRT_MAX >= 65535
|
|
||||||
constant WORD_BIT >= 16
|
constant WORD_BIT >= 16
|
||||||
constant CHAR_MIN
|
constant LONG_BIT >= 32
|
||||||
constant INT_MIN <= 2147483647
|
#endif
|
||||||
constant LONG_MIN <= 2147483647
|
constant SSIZE_MAX
|
||||||
constant SCHAR_MIN <= -127
|
|
||||||
constant SHRT_MIN <= -32767
|
|
||||||
|
|
||||||
optional-constant CHARCLASS_NAME_MAX >= 14
|
optional-constant CHARCLASS_NAME_MAX >= 14
|
||||||
optional-constant NL_ARGMAX >= 9
|
optional-constant NL_ARGMAX >= 9
|
||||||
@ -149,3 +163,4 @@ optional-constant TMP_MAX >= 10000
|
|||||||
|
|
||||||
allow *_MAX
|
allow *_MAX
|
||||||
allow *_MIN
|
allow *_MIN
|
||||||
|
#endif
|
||||||
|
@ -17,7 +17,7 @@ element {struct lconv} char p_cs_precedes
|
|||||||
element {struct lconv} char p_sep_by_space
|
element {struct lconv} char p_sep_by_space
|
||||||
element {struct lconv} char p_sign_posn
|
element {struct lconv} char p_sign_posn
|
||||||
element {struct lconv} {char*} thousands_sep
|
element {struct lconv} {char*} thousands_sep
|
||||||
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
|
||||||
element {struct lconv} char int_n_cs_precedes
|
element {struct lconv} char int_n_cs_precedes
|
||||||
element {struct lconv} char int_n_sep_by_space
|
element {struct lconv} char int_n_sep_by_space
|
||||||
element {struct lconv} char int_n_sign_posn
|
element {struct lconv} char int_n_sign_posn
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
constant HUGE_VAL
|
||||||
|
|
||||||
#if !defined ISO && !defined POSIX
|
#if !defined ISO && !defined POSIX
|
||||||
macro fpclassify
|
macro fpclassify
|
||||||
macro isfinite
|
macro isfinite
|
||||||
@ -12,7 +14,7 @@ macro islessequal
|
|||||||
macro islessgreater
|
macro islessgreater
|
||||||
macro isunordered
|
macro isunordered
|
||||||
|
|
||||||
# ifndef POSIX2008
|
# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
|
||||||
constant M_E
|
constant M_E
|
||||||
constant M_LOG2E
|
constant M_LOG2E
|
||||||
constant M_LOG10E
|
constant M_LOG10E
|
||||||
@ -29,7 +31,6 @@ constant M_SQRT1_2
|
|||||||
|
|
||||||
constant MAXFLOAT
|
constant MAXFLOAT
|
||||||
# endif
|
# endif
|
||||||
constant HUGE_VAL
|
|
||||||
constant HUGE_VALF
|
constant HUGE_VALF
|
||||||
constant HUGE_VALL
|
constant HUGE_VALL
|
||||||
constant INFINITY
|
constant INFINITY
|
||||||
@ -48,22 +49,28 @@ optional-macro FP_FAST_FMAL
|
|||||||
constant FP_ILOGB0
|
constant FP_ILOGB0
|
||||||
constant FP_ILOGBNAN
|
constant FP_ILOGBNAN
|
||||||
|
|
||||||
|
# if !defined XPG3 && !defined XPG4 && !defined UNIX98
|
||||||
macro MATH_ERRNO == 1
|
macro MATH_ERRNO == 1
|
||||||
macro MATH_ERREXCEPT == 2
|
macro MATH_ERREXCEPT == 2
|
||||||
#endif
|
|
||||||
|
|
||||||
macro math_errhandling
|
macro math_errhandling
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
function double acos (double)
|
function double acos (double)
|
||||||
function double asin (double)
|
function double asin (double)
|
||||||
function double atan (double)
|
function double atan (double)
|
||||||
function double atan2 (double, double)
|
function double atan2 (double, double)
|
||||||
function double ceil (double)
|
function double ceil (double)
|
||||||
|
#if !defined ISO && !defined POSIX
|
||||||
function double copysign (double, double)
|
function double copysign (double, double)
|
||||||
|
#endif
|
||||||
function double cos (double)
|
function double cos (double)
|
||||||
function double cosh (double)
|
function double cosh (double)
|
||||||
function double exp (double)
|
function double exp (double)
|
||||||
|
#if !defined ISO && !defined POSIX
|
||||||
function double exp2 (double)
|
function double exp2 (double)
|
||||||
|
#endif
|
||||||
function double fabs (double)
|
function double fabs (double)
|
||||||
function double floor (double)
|
function double floor (double)
|
||||||
function double fmod (double, double)
|
function double fmod (double, double)
|
||||||
@ -71,7 +78,9 @@ function double frexp (double, int*)
|
|||||||
function double ldexp (double, int)
|
function double ldexp (double, int)
|
||||||
function double log (double)
|
function double log (double)
|
||||||
function double log10 (double)
|
function double log10 (double)
|
||||||
|
#if !defined ISO && !defined POSIX
|
||||||
function double log2 (double)
|
function double log2 (double)
|
||||||
|
#endif
|
||||||
function double modf (double, double*)
|
function double modf (double, double*)
|
||||||
function double pow (double, double)
|
function double pow (double, double)
|
||||||
function double sin (double)
|
function double sin (double)
|
||||||
@ -79,24 +88,27 @@ function double sinh (double)
|
|||||||
function double sqrt (double)
|
function double sqrt (double)
|
||||||
function double tan (double)
|
function double tan (double)
|
||||||
function double tanh (double)
|
function double tanh (double)
|
||||||
|
#if !defined ISO && !defined POSIX
|
||||||
function double erf (double)
|
function double erf (double)
|
||||||
function double erfc (double)
|
function double erfc (double)
|
||||||
|
#endif
|
||||||
#if defined XPG3 || defined XPG4 || defined UNIX98
|
#if defined XPG3 || defined XPG4 || defined UNIX98
|
||||||
function double gamma (double)
|
function double gamma (double)
|
||||||
#endif
|
#endif
|
||||||
|
#if !defined ISO && !defined POSIX
|
||||||
function double hypot (double, double)
|
function double hypot (double, double)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function double j0 (double)
|
function double j0 (double)
|
||||||
function double j1 (double)
|
function double j1 (double)
|
||||||
function double jn (int, double)
|
function double jn (int, double)
|
||||||
#endif
|
# endif
|
||||||
function double lgamma (double)
|
function double lgamma (double)
|
||||||
function double tgamma (double)
|
function double tgamma (double)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function double y0 (double)
|
function double y0 (double)
|
||||||
function double y1 (double)
|
function double y1 (double)
|
||||||
function double yn (int, double)
|
function double yn (int, double)
|
||||||
#endif
|
# endif
|
||||||
function double acosh (double)
|
function double acosh (double)
|
||||||
function double asinh (double)
|
function double asinh (double)
|
||||||
function double atanh (double)
|
function double atanh (double)
|
||||||
@ -117,9 +129,9 @@ function {long long} llrint (double)
|
|||||||
function long lround (double)
|
function long lround (double)
|
||||||
function {long long} llround (double)
|
function {long long} llround (double)
|
||||||
function double remquo (double, double, int*)
|
function double remquo (double, double, int*)
|
||||||
#if defined XPG3 && defined XPG4 && defined UNIX98 && defined XOPEN2K
|
# if defined XPG3 && defined XPG4 && defined UNIX98 && defined XOPEN2K
|
||||||
function double scalb (double, double)
|
function double scalb (double, double)
|
||||||
#endif
|
# endif
|
||||||
function double scalbn (double, int)
|
function double scalbn (double, int)
|
||||||
function double scalbln (double, long)
|
function double scalbln (double, long)
|
||||||
function double fdim (double, double)
|
function double fdim (double, double)
|
||||||
@ -128,9 +140,10 @@ function double fmin (double, double)
|
|||||||
function double fma (double, double, double)
|
function double fma (double, double, double)
|
||||||
function double nan (const char*)
|
function double nan (const char*)
|
||||||
|
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
// variable signgam
|
// variable signgam
|
||||||
allow signgam
|
allow signgam
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined ISO && !defined POSIX
|
#if !defined ISO && !defined POSIX
|
||||||
@ -165,14 +178,14 @@ function float erfcf (float)
|
|||||||
function float gammaf (float)
|
function float gammaf (float)
|
||||||
#endif
|
#endif
|
||||||
function float hypotf (float, float)
|
function float hypotf (float, float)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function float j0f (float)
|
function float j0f (float)
|
||||||
function float j1f (float)
|
function float j1f (float)
|
||||||
function float jnf (int, float)
|
function float jnf (int, float)
|
||||||
#endif
|
#endif
|
||||||
function float lgammaf (float)
|
function float lgammaf (float)
|
||||||
function float tgammaf (float)
|
function float tgammaf (float)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function float y0f (float)
|
function float y0f (float)
|
||||||
function float y1f (float)
|
function float y1f (float)
|
||||||
function float ynf (int, float)
|
function float ynf (int, float)
|
||||||
@ -239,14 +252,14 @@ function {long double} erfcl (long double)
|
|||||||
function {long double} gammal (long double)
|
function {long double} gammal (long double)
|
||||||
#endif
|
#endif
|
||||||
function {long double} hypotl (long double, long double)
|
function {long double} hypotl (long double, long double)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function {long double} j0l (long double)
|
function {long double} j0l (long double)
|
||||||
function {long double} j1l (long double)
|
function {long double} j1l (long double)
|
||||||
function {long double} jnl (int, long double)
|
function {long double} jnl (int, long double)
|
||||||
#endif
|
#endif
|
||||||
function {long double} lgammal (long double)
|
function {long double} lgammal (long double)
|
||||||
function {long double} tgammal (long double)
|
function {long double} tgammal (long double)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function {long double} y0l (long double)
|
function {long double} y0l (long double)
|
||||||
function {long double} y1l (long double)
|
function {long double} y1l (long double)
|
||||||
function {long double} ynl (int, long double)
|
function {long double} ynl (int, long double)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type size_t
|
type size_t
|
||||||
type ssize_t
|
type ssize_t
|
||||||
# if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
// should test for not an array type.
|
// should test for not an array type.
|
||||||
type mqd_t
|
type mqd_t
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
type datum
|
type datum
|
||||||
element datum {void*} dptr
|
element datum {void*} dptr
|
||||||
element datum size_t dsize
|
element datum size_t dsize
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type {struct if_nameindex}
|
type {struct if_nameindex}
|
||||||
|
|
||||||
element {struct if_nameindex} {unsigned int} if_index
|
element {struct if_nameindex} {unsigned int} if_index
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
optional-type in_port_t
|
optional-type in_port_t
|
||||||
optional-type in_addr_t
|
optional-type in_addr_t
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type in_port_t
|
type in_port_t
|
||||||
type in_addr_t
|
type in_addr_t
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type nl_catd
|
type nl_catd
|
||||||
type nl_item
|
type nl_item
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type {struct pollfd}
|
type {struct pollfd}
|
||||||
element {struct pollfd} int fd
|
element {struct pollfd} int fd
|
||||||
element {struct pollfd} {short int} events
|
element {struct pollfd} {short int} events
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
constant PTHREAD_CANCEL_ASYNCHRONOUS
|
constant PTHREAD_CANCEL_ASYNCHRONOUS
|
||||||
constant PTHREAD_CANCEL_ENABLE
|
constant PTHREAD_CANCEL_ENABLE
|
||||||
constant PTHREAD_CANCEL_DEFERRED
|
constant PTHREAD_CANCEL_DEFERRED
|
||||||
@ -31,19 +31,27 @@ constant PTHREAD_MUTEX_STALLED
|
|||||||
# endif
|
# endif
|
||||||
|
|
||||||
type pthread_attr_t
|
type pthread_attr_t
|
||||||
|
# if !defined POSIX
|
||||||
type pthread_barrier_t
|
type pthread_barrier_t
|
||||||
type pthread_barrierattr_t
|
type pthread_barrierattr_t
|
||||||
|
# endif
|
||||||
type pthread_cond_t
|
type pthread_cond_t
|
||||||
type pthread_condattr_t
|
type pthread_condattr_t
|
||||||
type pthread_key_t
|
type pthread_key_t
|
||||||
type pthread_mutex_t
|
type pthread_mutex_t
|
||||||
type pthread_mutexattr_t
|
type pthread_mutexattr_t
|
||||||
type pthread_once_t
|
type pthread_once_t
|
||||||
|
# if !defined POSIX
|
||||||
type pthread_rwlock_t
|
type pthread_rwlock_t
|
||||||
type pthread_rwlockattr_t
|
type pthread_rwlockattr_t
|
||||||
type pthread_spinlock_t
|
type pthread_spinlock_t
|
||||||
|
# endif
|
||||||
type pthread_t
|
type pthread_t
|
||||||
|
|
||||||
|
#ifdef POSIX
|
||||||
|
# define sigset_t __sigset_t
|
||||||
|
#endif
|
||||||
|
|
||||||
function int pthread_attr_destroy (pthread_attr_t*)
|
function int pthread_attr_destroy (pthread_attr_t*)
|
||||||
function int pthread_attr_getdetachstate (const pthread_attr_t*, int*)
|
function int pthread_attr_getdetachstate (const pthread_attr_t*, int*)
|
||||||
# ifndef POSIX
|
# ifndef POSIX
|
||||||
@ -66,6 +74,7 @@ function int pthread_attr_setschedpolicy (pthread_attr_t*, int)
|
|||||||
function int pthread_attr_setscope (pthread_attr_t*, int)
|
function int pthread_attr_setscope (pthread_attr_t*, int)
|
||||||
function int pthread_attr_setstackaddr (pthread_attr_t*, void*)
|
function int pthread_attr_setstackaddr (pthread_attr_t*, void*)
|
||||||
function int pthread_attr_setstacksize (pthread_attr_t*, size_t)
|
function int pthread_attr_setstacksize (pthread_attr_t*, size_t)
|
||||||
|
# if !defined POSIX
|
||||||
function int pthread_barrier_destroy (pthread_barrier_t*)
|
function int pthread_barrier_destroy (pthread_barrier_t*)
|
||||||
function int pthread_barrier_init (pthread_barrier_t*, const pthread_barrierattr_t*, unsigned int)
|
function int pthread_barrier_init (pthread_barrier_t*, const pthread_barrierattr_t*, unsigned int)
|
||||||
function int pthread_barrier_wait (pthread_barrier_t*)
|
function int pthread_barrier_wait (pthread_barrier_t*)
|
||||||
@ -73,6 +82,7 @@ function int pthread_barrierattr_destroy (pthread_barrierattr_t*)
|
|||||||
function int pthread_barrierattr_getpshared (const pthread_barrierattr_t*, int*)
|
function int pthread_barrierattr_getpshared (const pthread_barrierattr_t*, int*)
|
||||||
function int pthread_barrierattr_init (pthread_barrierattr_t*)
|
function int pthread_barrierattr_init (pthread_barrierattr_t*)
|
||||||
function int pthread_barrierattr_setpshared (pthread_barrierattr_t*, int)
|
function int pthread_barrierattr_setpshared (pthread_barrierattr_t*, int)
|
||||||
|
# endif
|
||||||
function int pthread_cancel (pthread_t)
|
function int pthread_cancel (pthread_t)
|
||||||
// function int pthread_cleanup_push (void (*) (void*), void*)
|
// function int pthread_cleanup_push (void (*) (void*), void*)
|
||||||
macro pthread_cleanup_push
|
macro pthread_cleanup_push
|
||||||
@ -97,7 +107,9 @@ function void pthread_exit (void*)
|
|||||||
# if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
function int pthread_getconcurrency (void)
|
function int pthread_getconcurrency (void)
|
||||||
# endif
|
# endif
|
||||||
|
# if !defined POSIX
|
||||||
function int pthread_getcpuclockid (pthread_t, clockid_t*)
|
function int pthread_getcpuclockid (pthread_t, clockid_t*)
|
||||||
|
# endif
|
||||||
function int pthread_getschedparam (pthread_t, int*, struct sched_param*)
|
function int pthread_getschedparam (pthread_t, int*, struct sched_param*)
|
||||||
function {void*} pthread_getspecific (pthread_key_t)
|
function {void*} pthread_getspecific (pthread_key_t)
|
||||||
function int pthread_join (pthread_t, void**)
|
function int pthread_join (pthread_t, void**)
|
||||||
@ -108,21 +120,27 @@ optional-function int pthread_mutex_getprioceiling (const pthread_mutex_t*, int*
|
|||||||
function int pthread_mutex_init (pthread_mutex_t*, const pthread_mutexattr_t*)
|
function int pthread_mutex_init (pthread_mutex_t*, const pthread_mutexattr_t*)
|
||||||
function int pthread_mutex_lock (pthread_mutex_t*)
|
function int pthread_mutex_lock (pthread_mutex_t*)
|
||||||
optional-function int pthread_mutex_setprioceiling (pthread_mutex_t*, int, int*)
|
optional-function int pthread_mutex_setprioceiling (pthread_mutex_t*, int, int*)
|
||||||
|
# if !defined POSIX
|
||||||
function int pthread_mutex_timedlock (pthread_mutex_t*, const struct timespec*)
|
function int pthread_mutex_timedlock (pthread_mutex_t*, const struct timespec*)
|
||||||
|
# endif
|
||||||
function int pthread_mutex_trylock (pthread_mutex_t*)
|
function int pthread_mutex_trylock (pthread_mutex_t*)
|
||||||
function int pthread_mutex_unlock (pthread_mutex_t*)
|
function int pthread_mutex_unlock (pthread_mutex_t*)
|
||||||
function int pthread_mutexattr_destroy (pthread_mutexattr_t*)
|
function int pthread_mutexattr_destroy (pthread_mutexattr_t*)
|
||||||
optional-function int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t*, int*)
|
optional-function int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t*, int*)
|
||||||
optional-function int pthread_mutexattr_getprotocol (const pthread_mutexattr_t*, int*)
|
optional-function int pthread_mutexattr_getprotocol (const pthread_mutexattr_t*, int*)
|
||||||
function int pthread_mutexattr_getpshared (const pthread_mutexattr_t*, int*)
|
function int pthread_mutexattr_getpshared (const pthread_mutexattr_t*, int*)
|
||||||
|
# if !defined POSIX
|
||||||
function int pthread_mutexattr_gettype (const pthread_mutexattr_t*, int*)
|
function int pthread_mutexattr_gettype (const pthread_mutexattr_t*, int*)
|
||||||
|
# endif
|
||||||
function int pthread_mutexattr_init (pthread_mutexattr_t*)
|
function int pthread_mutexattr_init (pthread_mutexattr_t*)
|
||||||
optional-function int pthread_mutexattr_setprioceiling (pthread_mutexattr_t*, int)
|
optional-function int pthread_mutexattr_setprioceiling (pthread_mutexattr_t*, int)
|
||||||
optional-function int pthread_mutexattr_setprotocol (pthread_mutexattr_t*, int)
|
optional-function int pthread_mutexattr_setprotocol (pthread_mutexattr_t*, int)
|
||||||
function int pthread_mutexattr_setpshared (pthread_mutexattr_t*, int)
|
function int pthread_mutexattr_setpshared (pthread_mutexattr_t*, int)
|
||||||
|
# if !defined POSIX
|
||||||
function int pthread_mutexattr_settype (pthread_mutexattr_t*, int)
|
function int pthread_mutexattr_settype (pthread_mutexattr_t*, int)
|
||||||
|
# endif
|
||||||
function int pthread_once (pthread_once_t*, void (*) (void))
|
function int pthread_once (pthread_once_t*, void (*) (void))
|
||||||
# ifndef POSIX
|
# if !defined POSIX
|
||||||
function int pthread_rwlock_init (pthread_rwlock_t*, const pthread_rwlockattr_t*)
|
function int pthread_rwlock_init (pthread_rwlock_t*, const pthread_rwlockattr_t*)
|
||||||
function int pthread_rwlock_rdlock (pthread_rwlock_t*)
|
function int pthread_rwlock_rdlock (pthread_rwlock_t*)
|
||||||
function int pthread_rwlock_timedrdlock (pthread_rwlock_t*, const struct timespec*)
|
function int pthread_rwlock_timedrdlock (pthread_rwlock_t*, const struct timespec*)
|
||||||
@ -144,14 +162,16 @@ function int pthread_setconcurrency (int)
|
|||||||
# endif
|
# endif
|
||||||
function int pthread_setschedparam (pthread_t, int, const struct sched_param*)
|
function int pthread_setschedparam (pthread_t, int, const struct sched_param*)
|
||||||
function int pthread_setspecific (pthread_key_t, const void*)
|
function int pthread_setspecific (pthread_key_t, const void*)
|
||||||
#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
||||||
function int pthread_sigmask (int, const sigset_t*, sigset_t*)
|
function int pthread_sigmask (int, const sigset_t*, sigset_t*)
|
||||||
#endif
|
# endif
|
||||||
|
# if !defined POSIX
|
||||||
function int pthread_spin_destroy (pthread_spinlock_t*)
|
function int pthread_spin_destroy (pthread_spinlock_t*)
|
||||||
function int pthread_spin_init (pthread_spinlock_t*, int)
|
function int pthread_spin_init (pthread_spinlock_t*, int)
|
||||||
function int pthread_spin_lock (pthread_spinlock_t*)
|
function int pthread_spin_lock (pthread_spinlock_t*)
|
||||||
function int pthread_spin_trylock (pthread_spinlock_t*)
|
function int pthread_spin_trylock (pthread_spinlock_t*)
|
||||||
function int pthread_spin_unlock (pthread_spinlock_t*)
|
function int pthread_spin_unlock (pthread_spinlock_t*)
|
||||||
|
# endif
|
||||||
function void pthread_testcancel (void)
|
function void pthread_testcancel (void)
|
||||||
# if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
function int pthread_mutex_consistent (pthread_mutex_t *)
|
function int pthread_mutex_consistent (pthread_mutex_t *)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type {struct passwd}
|
type {struct passwd}
|
||||||
element {struct passwd} {char*} pw_name
|
element {struct passwd} {char*} pw_name
|
||||||
element {struct passwd} uid_t pw_uid
|
element {struct passwd} uid_t pw_uid
|
||||||
@ -18,7 +18,7 @@ function {struct passwd*} getpwnam (const char*)
|
|||||||
function {struct passwd*} getpwuid (uid_t)
|
function {struct passwd*} getpwuid (uid_t)
|
||||||
function int getpwnam_r (const char*, struct passwd*, char*, size_t, struct passwd**)
|
function int getpwnam_r (const char*, struct passwd*, char*, size_t, struct passwd**)
|
||||||
function int getpwuid_r (uid_t, struct passwd*, char*, size_t, struct passwd**)
|
function int getpwuid_r (uid_t, struct passwd*, char*, size_t, struct passwd**)
|
||||||
# ifndef POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
function void endpwent (void)
|
function void endpwent (void)
|
||||||
function {struct passwd*} getpwent (void)
|
function {struct passwd*} getpwent (void)
|
||||||
function void setpwent (void)
|
function void setpwent (void)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type regex_t
|
type regex_t
|
||||||
element regex_t size_t re_nsub
|
element regex_t size_t re_nsub
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ constant REG_EBRACE
|
|||||||
constant REG_BADBR
|
constant REG_BADBR
|
||||||
constant REG_ESPACE
|
constant REG_ESPACE
|
||||||
constant REG_BADRPT
|
constant REG_BADRPT
|
||||||
# if !defined XOPEN2K8 && !defined POSIX2008
|
# if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
|
||||||
constant REG_ENOSYS
|
constant REG_ENOSYS
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type {struct sched_param}
|
type {struct sched_param}
|
||||||
element {struct sched_param} int sched_priority
|
element {struct sched_param} int sched_priority
|
||||||
optional-element {struct sched_param} int sched_ss_low_priority
|
optional-element {struct sched_param} int sched_ss_low_priority
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
type ENTRY
|
type ENTRY
|
||||||
type {struct entry}
|
type {struct entry}
|
||||||
element {struct entry} {char*} key
|
element {struct entry} {char*} key
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type sem_t
|
type sem_t
|
||||||
|
|
||||||
constant SEM_FAILED
|
constant SEM_FAILED
|
||||||
@ -9,7 +9,9 @@ function int sem_getvalue (sem_t*, int*)
|
|||||||
function int sem_init (sem_t*, int, unsigned int)
|
function int sem_init (sem_t*, int, unsigned int)
|
||||||
function {sem_t*} sem_open (const char*, int, ...)
|
function {sem_t*} sem_open (const char*, int, ...)
|
||||||
function int sem_post (sem_t*)
|
function int sem_post (sem_t*)
|
||||||
|
# if !defined POSIX
|
||||||
function int sem_timedwait (sem_t*, const struct timespec*)
|
function int sem_timedwait (sem_t*, const struct timespec*)
|
||||||
|
# endif
|
||||||
function int sem_trywait (sem_t*)
|
function int sem_trywait (sem_t*)
|
||||||
function int sem_unlink (const char*)
|
function int sem_unlink (const char*)
|
||||||
function int sem_wait (sem_t*)
|
function int sem_wait (sem_t*)
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
type jmp_buf
|
type jmp_buf
|
||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type sigjmp_buf
|
type sigjmp_buf
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
function void longjmp (jmp_buf, int)
|
function void longjmp (jmp_buf, int)
|
||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
function void siglongjmp (sigjmp_buf, int)
|
function void siglongjmp (sigjmp_buf, int)
|
||||||
# if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
function void _longjmp (jmp_buf, int)
|
function void _longjmp (jmp_buf, int)
|
||||||
@ -12,7 +12,7 @@ function void _longjmp (jmp_buf, int)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
macro-function int setjmp (jmp_buf)
|
macro-function int setjmp (jmp_buf)
|
||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
macro-function int sigsetjmp (sigjmp_buf, int)
|
macro-function int sigsetjmp (sigjmp_buf, int)
|
||||||
# if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
macro-function int _setjmp (jmp_buf)
|
macro-function int _setjmp (jmp_buf)
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
typed-constant SIG_DFL {void(*)(int)}
|
typed-constant SIG_DFL {void(*)(int)}
|
||||||
typed-constant SIG_ERR {void(*)(int)}
|
typed-constant SIG_ERR {void(*)(int)}
|
||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
typed-constant SIG_HOLD {void(*)(int)}
|
typed-constant SIG_HOLD {void(*)(int)}
|
||||||
#endif
|
#endif
|
||||||
typed-constant SIG_IGN {void(*)(int)}
|
typed-constant SIG_IGN {void(*)(int)}
|
||||||
|
|
||||||
type sig_atomic_t
|
type sig_atomic_t
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type sigset_t
|
type sigset_t
|
||||||
type pid_t
|
type pid_t
|
||||||
|
#endif
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
#if defined XOPEN2K8 || defined POSIX2008
|
||||||
type size_t
|
type size_t
|
||||||
type pthread_t
|
type pthread_t
|
||||||
@ -26,6 +28,7 @@ element {struct timespec} __time_t tv_sec
|
|||||||
element {struct timespec} long tv_nsec
|
element {struct timespec} long tv_nsec
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined UNIX98 || defined XOPEN2K8 || defined POSIX2008
|
||||||
element {union sigval} int sival_int
|
element {union sigval} int sival_int
|
||||||
element {union sigval} {void*} sival_ptr
|
element {union sigval} {void*} sival_ptr
|
||||||
|
|
||||||
@ -46,19 +49,25 @@ type {union sigval}
|
|||||||
|
|
||||||
macro SIGRTMIN
|
macro SIGRTMIN
|
||||||
macro SIGRTMAX
|
macro SIGRTMAX
|
||||||
|
#endif
|
||||||
|
|
||||||
constant SIGABRT
|
constant SIGABRT
|
||||||
constant SIGALRM
|
|
||||||
constant SIGFPE
|
constant SIGFPE
|
||||||
constant SIGHUP
|
|
||||||
constant SIGILL
|
constant SIGILL
|
||||||
constant SIGINT
|
constant SIGINT
|
||||||
|
constant SIGSEGV
|
||||||
|
constant SIGTERM
|
||||||
|
|
||||||
|
function void (*signal (int, void(*)(int)))(int)
|
||||||
|
function int raise (int)
|
||||||
|
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
|
constant SIGALRM
|
||||||
|
constant SIGHUP
|
||||||
constant SIGIO
|
constant SIGIO
|
||||||
constant SIGKILL
|
constant SIGKILL
|
||||||
constant SIGPIPE
|
constant SIGPIPE
|
||||||
constant SIGQUIT
|
constant SIGQUIT
|
||||||
constant SIGSEGV
|
|
||||||
constant SIGTERM
|
|
||||||
constant SIGUSR1
|
constant SIGUSR1
|
||||||
constant SIGUSR2
|
constant SIGUSR2
|
||||||
constant SIGCHLD
|
constant SIGCHLD
|
||||||
@ -71,9 +80,9 @@ constant SIGBUS
|
|||||||
constant SIGPOLL
|
constant SIGPOLL
|
||||||
constant SIGPROF
|
constant SIGPROF
|
||||||
constant SIGSYS
|
constant SIGSYS
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
constant SIGTRAP
|
constant SIGTRAP
|
||||||
#endif
|
# endif
|
||||||
constant SIGURG
|
constant SIGURG
|
||||||
constant SIGVTALRM
|
constant SIGVTALRM
|
||||||
constant SIGXCPU
|
constant SIGXCPU
|
||||||
@ -90,21 +99,24 @@ constant SA_NOCLDSTOP
|
|||||||
constant SIG_BLOCK
|
constant SIG_BLOCK
|
||||||
constant SIG_UNBLOCK
|
constant SIG_UNBLOCK
|
||||||
constant SIG_SETMASK
|
constant SIG_SETMASK
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
constant SA_ONSTACK
|
constant SA_ONSTACK
|
||||||
#endif
|
# endif
|
||||||
|
# if !defined POSIX
|
||||||
constant SA_RESETHAND
|
constant SA_RESETHAND
|
||||||
constant SA_RESTART
|
constant SA_RESTART
|
||||||
constant SA_SIGINFO
|
constant SA_SIGINFO
|
||||||
constant SA_NOCLDWAIT
|
constant SA_NOCLDWAIT
|
||||||
constant SA_NODEFER
|
constant SA_NODEFER
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# endif
|
||||||
|
# if !defined POSIX && !defined POSIX2008
|
||||||
constant SS_ONSTACK
|
constant SS_ONSTACK
|
||||||
constant SS_DISABLE
|
constant SS_DISABLE
|
||||||
constant MINSIGSTKSZ
|
constant MINSIGSTKSZ
|
||||||
constant SIGSTKSZ
|
constant SIGSTKSZ
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
|
# if !defined POSIX
|
||||||
type ucontext_t
|
type ucontext_t
|
||||||
|
|
||||||
element ucontext_t {ucontext_t*} uc_link
|
element ucontext_t {ucontext_t*} uc_link
|
||||||
@ -122,13 +134,14 @@ type {struct sigstack}
|
|||||||
|
|
||||||
element {struct sigstack} int ss_onstack
|
element {struct sigstack} int ss_onstack
|
||||||
element {struct sigstack} {void*} ss_sp
|
element {struct sigstack} {void*} ss_sp
|
||||||
|
# endif
|
||||||
|
|
||||||
type siginfo_t
|
type siginfo_t
|
||||||
|
|
||||||
element siginfo_t int si_signo
|
element siginfo_t int si_signo
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
element siginfo_t int si_errno
|
element siginfo_t int si_errno
|
||||||
#endif
|
# endif
|
||||||
element siginfo_t int si_code
|
element siginfo_t int si_code
|
||||||
element siginfo_t pid_t si_pid
|
element siginfo_t pid_t si_pid
|
||||||
element siginfo_t uid_t si_uid
|
element siginfo_t uid_t si_uid
|
||||||
@ -178,50 +191,50 @@ constant SI_TIMER
|
|||||||
constant SI_ASYNCIO
|
constant SI_ASYNCIO
|
||||||
constant SI_MESGQ
|
constant SI_MESGQ
|
||||||
|
|
||||||
#if !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008
|
# if !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008
|
||||||
function void (*bsd_signal (int, void(*)(int)))(int)
|
function void (*bsd_signal (int, void(*)(int)))(int)
|
||||||
#endif
|
# endif
|
||||||
function int kill (pid_t, int)
|
function int kill (pid_t, int)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
function int killpg (pid_t, int)
|
function int killpg (pid_t, int)
|
||||||
#endif
|
# endif
|
||||||
function int pthread_kill (pthread_t, int)
|
function int pthread_kill (pthread_t, int)
|
||||||
function int pthread_sigmask (int, const sigset_t*, sigset_t*)
|
function int pthread_sigmask (int, const sigset_t*, sigset_t*)
|
||||||
function int raise (int)
|
|
||||||
function int sigaction (int, const struct sigaction*, struct sigaction*)
|
function int sigaction (int, const struct sigaction*, struct sigaction*)
|
||||||
function int sigaddset (sigset_t*, int)
|
function int sigaddset (sigset_t*, int)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
function int sigaltstack (const stack_t*, stack_t*)
|
function int sigaltstack (const stack_t*, stack_t*)
|
||||||
#endif
|
# endif
|
||||||
function int sigdelset (sigset_t*, int)
|
function int sigdelset (sigset_t*, int)
|
||||||
function int sigemptyset (sigset_t*)
|
function int sigemptyset (sigset_t*)
|
||||||
function int sigfillset (sigset_t*)
|
function int sigfillset (sigset_t*)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
function int sighold (int)
|
function int sighold (int)
|
||||||
function int sigignore (int)
|
function int sigignore (int)
|
||||||
function int siginterrupt (int, int)
|
function int siginterrupt (int, int)
|
||||||
#endif
|
# endif
|
||||||
function int sigismember (const sigset_t*, int)
|
function int sigismember (const sigset_t*, int)
|
||||||
function void (*signal (int, void(*)(int)))(int)
|
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined POSIX && !defined POSIX2008
|
||||||
function int sigpause (int)
|
function int sigpause (int)
|
||||||
#endif
|
# endif
|
||||||
function int sigpending (sigset_t*)
|
function int sigpending (sigset_t*)
|
||||||
function int sigprocmask (int, const sigset_t*, sigset_t*)
|
function int sigprocmask (int, const sigset_t*, sigset_t*)
|
||||||
function int sigqueue (pid_t, int, const union sigval)
|
function int sigqueue (pid_t, int, const union sigval)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
function int sigrelse (int)
|
function int sigrelse (int)
|
||||||
function void (*sigset (int, void(*)(int)))(int)
|
function void (*sigset (int, void(*)(int)))(int)
|
||||||
#endif
|
# endif
|
||||||
|
# if !defined POSIX
|
||||||
function int sigstack (struct sigstack*, struct sigstack*)
|
function int sigstack (struct sigstack*, struct sigstack*)
|
||||||
|
# endif
|
||||||
function int sigsuspend (const sigset_t*)
|
function int sigsuspend (const sigset_t*)
|
||||||
function int sigtimedwait (const sigset_t*, siginfo_t*, const struct timespec*)
|
function int sigtimedwait (const sigset_t*, siginfo_t*, const struct timespec*)
|
||||||
function int sigwait (const sigset_t*, int*)
|
function int sigwait (const sigset_t*, int*)
|
||||||
function int sigwaitinfo (const sigset_t*, siginfo_t*)
|
function int sigwaitinfo (const sigset_t*, siginfo_t*)
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
function void psiginfo (const siginfo_t*, const char*)
|
function void psiginfo (const siginfo_t*, const char*)
|
||||||
function void psignal (int, const char*)
|
function void psignal (int, const char*)
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
// The following expressions are not entirely correct but the current
|
// The following expressions are not entirely correct but the current
|
||||||
// poorfnmatch implementation doesn't grok the right form.
|
// poorfnmatch implementation doesn't grok the right form.
|
||||||
@ -248,3 +261,7 @@ allow TRAP_*
|
|||||||
allow *_t
|
allow *_t
|
||||||
|
|
||||||
allow-header time.h
|
allow-header time.h
|
||||||
|
#endif
|
||||||
|
|
||||||
|
allow SIG[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
|
||||||
|
allow SIG_*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type posix_spawnattr_t
|
type posix_spawnattr_t
|
||||||
type posix_spawn_file_actions_t
|
type posix_spawn_file_actions_t
|
||||||
# if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
|
@ -4,6 +4,9 @@ type va_list
|
|||||||
macro va_start
|
macro va_start
|
||||||
macro va_arg
|
macro va_arg
|
||||||
macro va_end
|
macro va_end
|
||||||
|
|
||||||
|
#if defined ISO99 || defined ISO11 || defined POSIX2008 || defined XOPEN2K8
|
||||||
macro va_copy
|
macro va_copy
|
||||||
|
#endif
|
||||||
|
|
||||||
allow *_t
|
allow *_t
|
||||||
|
@ -6,9 +6,11 @@ constant _IOFBF
|
|||||||
constant _IOLBF
|
constant _IOLBF
|
||||||
constant _IONBF
|
constant _IONBF
|
||||||
|
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
constant L_ctermid
|
constant L_ctermid
|
||||||
#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
||||||
constant L_cuserid
|
constant L_cuserid
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
constant L_tmpnam
|
constant L_tmpnam
|
||||||
|
|
||||||
@ -22,7 +24,7 @@ constant EOF
|
|||||||
|
|
||||||
constant NULL
|
constant NULL
|
||||||
|
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
constant P_tmpdir
|
constant P_tmpdir
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -32,7 +34,11 @@ macro stderr
|
|||||||
|
|
||||||
type FILE
|
type FILE
|
||||||
type fpos_t
|
type fpos_t
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type va_list
|
type va_list
|
||||||
|
#else
|
||||||
|
#define va_list _G_va_list
|
||||||
|
#endif
|
||||||
type size_t
|
type size_t
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
#if defined XOPEN2K8 || defined POSIX2008
|
||||||
type off_t
|
type off_t
|
||||||
@ -40,23 +46,31 @@ type ssize_t
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
function void clearerr (FILE*)
|
function void clearerr (FILE*)
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
function {char*} ctermid (char*)
|
function {char*} ctermid (char*)
|
||||||
#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
# if defined XPG3 || defined XPG4 || defined UNIX98
|
||||||
function {char*} cuserid (char*)
|
function {char*} cuserid (char*)
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
#if defined XOPEN2K8 || defined POSIX2008
|
||||||
function int dprintf (int, const char*, ...)
|
function int dprintf (int, const char*, ...)
|
||||||
#endif
|
#endif
|
||||||
function int fclose (FILE*)
|
function int fclose (FILE*)
|
||||||
|
#if defined XOPEN2K8 || defined POSIX2008
|
||||||
function {FILE*} fdopen (int, const char*)
|
function {FILE*} fdopen (int, const char*)
|
||||||
|
#endif
|
||||||
function int feof (FILE*)
|
function int feof (FILE*)
|
||||||
function int ferror (FILE*)
|
function int ferror (FILE*)
|
||||||
function int fflush (FILE*)
|
function int fflush (FILE*)
|
||||||
function int fgetc (FILE*)
|
function int fgetc (FILE*)
|
||||||
function int fgetpos (FILE*, fpos_t*)
|
function int fgetpos (FILE*, fpos_t*)
|
||||||
function {char*} fgets (char*, int, FILE*)
|
function {char*} fgets (char*, int, FILE*)
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
function int fileno (FILE*)
|
function int fileno (FILE*)
|
||||||
|
#endif
|
||||||
|
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||||
function void flockfile (FILE*)
|
function void flockfile (FILE*)
|
||||||
|
#endif
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
#if defined XOPEN2K8 || defined POSIX2008
|
||||||
function {FILE*} fmemopen (void*, size_t, const char*)
|
function {FILE*} fmemopen (void*, size_t, const char*)
|
||||||
#endif
|
#endif
|
||||||
@ -68,41 +82,57 @@ function size_t fread (void*, size_t, size_t, FILE*)
|
|||||||
function {FILE*} freopen (const char*, const char*, FILE*)
|
function {FILE*} freopen (const char*, const char*, FILE*)
|
||||||
function int fscanf (FILE*, const char*, ...)
|
function int fscanf (FILE*, const char*, ...)
|
||||||
function int fseek (FILE*, long int, int)
|
function int fseek (FILE*, long int, int)
|
||||||
|
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||||
function int fseeko (FILE*, off_t, int)
|
function int fseeko (FILE*, off_t, int)
|
||||||
|
#endif
|
||||||
function int fsetpos (FILE*, const fpos_t*)
|
function int fsetpos (FILE*, const fpos_t*)
|
||||||
function {long int} ftell (FILE*)
|
function {long int} ftell (FILE*)
|
||||||
|
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||||
function off_t ftello (FILE*)
|
function off_t ftello (FILE*)
|
||||||
|
#endif
|
||||||
|
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||||
function int ftrylockfile (FILE*)
|
function int ftrylockfile (FILE*)
|
||||||
function void funlockfile (FILE*)
|
function void funlockfile (FILE*)
|
||||||
|
#endif
|
||||||
function size_t fwrite (const void*, size_t, size_t, FILE*)
|
function size_t fwrite (const void*, size_t, size_t, FILE*)
|
||||||
function int getc (FILE*)
|
function int getc (FILE*)
|
||||||
function int getchar (void)
|
function int getchar (void)
|
||||||
|
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||||
function int getc_unlocked (FILE*)
|
function int getc_unlocked (FILE*)
|
||||||
function int getchar_unlocked ()
|
function int getchar_unlocked ()
|
||||||
|
#endif
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
#if defined XOPEN2K8 || defined POSIX2008
|
||||||
function ssize_t getdelim (char**, size_t*, int, FILE*)
|
function ssize_t getdelim (char**, size_t*, int, FILE*)
|
||||||
function ssize_t getline (char**, size_t*, FILE*)
|
function ssize_t getline (char**, size_t*, FILE*)
|
||||||
#endif
|
#endif
|
||||||
#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
#if defined XPG3 || defined XPG4 || defined UNIX98
|
||||||
function int getopt (int, char *const[], const char *)
|
function int getopt (int, char *const[], const char *)
|
||||||
#endif
|
#endif
|
||||||
|
#if !defined ISO11
|
||||||
function {char*} gets (char*)
|
function {char*} gets (char*)
|
||||||
#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
#endif
|
||||||
|
#if defined XPG3 || defined XPG4 || defined UNIX98
|
||||||
function int getw (FILE*)
|
function int getw (FILE*)
|
||||||
#endif
|
#endif
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
#if defined XOPEN2K8 || defined POSIX2008
|
||||||
function {FILE*} open_memstream (char**, size_t*)
|
function {FILE*} open_memstream (char**, size_t*)
|
||||||
#endif
|
#endif
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
function int pclose (FILE*)
|
function int pclose (FILE*)
|
||||||
|
#endif
|
||||||
function void perror (const char*)
|
function void perror (const char*)
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
function {FILE*} popen (const char*, const char*)
|
function {FILE*} popen (const char*, const char*)
|
||||||
|
#endif
|
||||||
function int printf (const char*, ...)
|
function int printf (const char*, ...)
|
||||||
function int putc (int, FILE*)
|
function int putc (int, FILE*)
|
||||||
function int putchar (int)
|
function int putchar (int)
|
||||||
|
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||||
function int putc_unlocked (int, FILE*)
|
function int putc_unlocked (int, FILE*)
|
||||||
function int putchar_unlocked (int)
|
function int putchar_unlocked (int)
|
||||||
|
#endif
|
||||||
function int puts (const char*)
|
function int puts (const char*)
|
||||||
#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
#if defined XPG3 || defined XPG4 || defined UNIX98
|
||||||
function int putw (int, FILE*)
|
function int putw (int, FILE*)
|
||||||
#endif
|
#endif
|
||||||
function int remove (const char*)
|
function int remove (const char*)
|
||||||
@ -114,10 +144,12 @@ function void rewind (FILE*)
|
|||||||
function int scanf (const char*, ...)
|
function int scanf (const char*, ...)
|
||||||
function void setbuf (FILE*, char*)
|
function void setbuf (FILE*, char*)
|
||||||
function int setvbuf (FILE*, char*, int, size_t)
|
function int setvbuf (FILE*, char*, int, size_t)
|
||||||
|
#if !defined ISO && !defined POSIX
|
||||||
function int snprintf (char*, size_t, const char*, ...)
|
function int snprintf (char*, size_t, const char*, ...)
|
||||||
|
#endif
|
||||||
function int sprintf (char *, const char *, ...)
|
function int sprintf (char *, const char *, ...)
|
||||||
function int sscanf (const char*, const char*, ...)
|
function int sscanf (const char*, const char*, ...)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if defined XPG3 || defined XPG4 || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8
|
||||||
function {char*} tempnam (const char*, const char*)
|
function {char*} tempnam (const char*, const char*)
|
||||||
#endif
|
#endif
|
||||||
function {FILE*} tmpfile (void)
|
function {FILE*} tmpfile (void)
|
||||||
@ -127,20 +159,22 @@ function int ungetc (int, FILE*)
|
|||||||
function int vdprintf (int, const char*, va_list)
|
function int vdprintf (int, const char*, va_list)
|
||||||
#endif
|
#endif
|
||||||
function int vfprintf (FILE*, const char*, va_list)
|
function int vfprintf (FILE*, const char*, va_list)
|
||||||
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
#if !defined ISO && !defined XPG3 && !defined XPG4 && !defined UNIX98
|
||||||
function int vfscanf (FILE*, const char*, va_list)
|
function int vfscanf (FILE*, const char*, va_list)
|
||||||
#endif
|
#endif
|
||||||
function int vprintf (const char*, va_list)
|
function int vprintf (const char*, va_list)
|
||||||
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
#if !defined ISO && !defined XPG3 && !defined XPG4 && !defined UNIX98
|
||||||
function int vscanf (const char*, va_list)
|
function int vscanf (const char*, va_list)
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef ISO
|
||||||
function int vsnprintf (char*, size_t, const char*, va_list)
|
function int vsnprintf (char*, size_t, const char*, va_list)
|
||||||
|
#endif
|
||||||
function int vsprintf (char*, const char*, va_list)
|
function int vsprintf (char*, const char*, va_list)
|
||||||
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
#if !defined ISO && !defined XPG3 && !defined XPG4 && !defined UNIX98
|
||||||
function int vsscanf (const char*, const char*, va_list)
|
function int vsscanf (const char*, const char*, va_list)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined ISO && !defined POSIX
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
||||||
variable {char*} optarg
|
variable {char*} optarg
|
||||||
variable int opterr
|
variable int opterr
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
macro EXIT_FAILURE
|
|
||||||
constant EXIT_SUCCESS 0
|
|
||||||
macro NULL
|
|
||||||
constant RAND_MAX >= 32767
|
|
||||||
macro MB_CUR_MAX
|
|
||||||
|
|
||||||
type div_t
|
type div_t
|
||||||
element div_t int quot
|
element div_t int quot
|
||||||
element div_t int rem
|
element div_t int rem
|
||||||
type ldiv_t
|
type ldiv_t
|
||||||
element ldiv_t long quot
|
element ldiv_t long quot
|
||||||
element ldiv_t long rem
|
element ldiv_t long rem
|
||||||
|
|
||||||
|
macro EXIT_FAILURE
|
||||||
|
macro EXIT_SUCCESS 0
|
||||||
|
|
||||||
|
macro NULL
|
||||||
|
constant RAND_MAX >= 32767
|
||||||
|
macro MB_CUR_MAX
|
||||||
|
|
||||||
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||||
type lldiv_t
|
type lldiv_t
|
||||||
element lldiv_t {long long} quot
|
element lldiv_t {long long} quot
|
||||||
@ -18,6 +20,7 @@ element lldiv_t {long long} rem
|
|||||||
type size_t
|
type size_t
|
||||||
type wchar_t
|
type wchar_t
|
||||||
|
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
constant WNOHANG
|
constant WNOHANG
|
||||||
constant WUNTRACED
|
constant WUNTRACED
|
||||||
|
|
||||||
@ -27,58 +30,69 @@ macro WIFSIGNALED
|
|||||||
macro WIFSTOPPED
|
macro WIFSTOPPED
|
||||||
macro WSTOPSIG
|
macro WSTOPSIG
|
||||||
macro WTERMSIG
|
macro WTERMSIG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined ISO && !defined XPG3 && !defined XPG4 && !defined UNIX98 && !defined POSIX
|
||||||
function void _Exit (int)
|
function void _Exit (int)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#endif
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function long a64l (const char*)
|
function long a64l (const char*)
|
||||||
#endif
|
#endif
|
||||||
function void abort (void)
|
function void abort (void)
|
||||||
function int abs (int)
|
function int abs (int)
|
||||||
|
#if defined ISO11
|
||||||
|
function {void *} aligned_alloc (size_t, size_t)
|
||||||
|
#endif
|
||||||
function int atexit (void(*)(void))
|
function int atexit (void(*)(void))
|
||||||
|
#if defined ISO11
|
||||||
|
function int at_quick_exit (void (*) (void))
|
||||||
|
#endif
|
||||||
function double atof (const char*)
|
function double atof (const char*)
|
||||||
function int atoi (const char*)
|
function int atoi (const char*)
|
||||||
function {long int} atol (const char*)
|
function {long int} atol (const char*)
|
||||||
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
|
||||||
function {long long} atoll (const char*)
|
function {long long} atoll (const char*)
|
||||||
#endif
|
#endif
|
||||||
function {void*} bsearch (const void*, const void*, size_t, size_t, int(*)(const void*, const void*))
|
function {void*} bsearch (const void*, const void*, size_t, size_t, int(*)(const void*, const void*))
|
||||||
function {void*} calloc (size_t, size_t)
|
function {void*} calloc (size_t, size_t)
|
||||||
function div_t div (int, int)
|
function div_t div (int, int)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function double drand48 (void)
|
function double drand48 (void)
|
||||||
#endif
|
#endif
|
||||||
#if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
|
#if defined XPG3 || defined XPG4 || defined UNIX98 || defined XOPEN2K
|
||||||
function {char*} ecvt (double, int, int*, int*)
|
function {char*} ecvt (double, int, int*, int*)
|
||||||
#endif
|
#endif
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function double erand48 (unsigned short int[3])
|
function double erand48 (unsigned short int[3])
|
||||||
#endif
|
#endif
|
||||||
function void exit (int)
|
function void exit (int)
|
||||||
#if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
|
#if defined XPG3 || defined XPG4 || defined UNIX98 || defined XOPEN2K
|
||||||
function {char*} fcvt (double, int, int*, int*)
|
function {char*} fcvt (double, int, int*, int*)
|
||||||
#endif
|
#endif
|
||||||
function void free (void*)
|
function void free (void*)
|
||||||
#if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
|
#if defined XPG3 || defined XPG4 || defined UNIX98 || defined XOPEN2K
|
||||||
function {char*} gcvt (double, int, char*)
|
function {char*} gcvt (double, int, char*)
|
||||||
#endif
|
#endif
|
||||||
function {char*} getenv (const char*)
|
function {char*} getenv (const char*)
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
function int getsubopt (char**, char *const*, char**)
|
function int getsubopt (char**, char *const*, char**)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#endif
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function int grantpt (int)
|
function int grantpt (int)
|
||||||
function {char*} initstate (unsigned int, char*, size_t)
|
function {char*} initstate (unsigned int, char*, size_t)
|
||||||
function {long int} jrand48 (unsigned short int[3])
|
function {long int} jrand48 (unsigned short int[3])
|
||||||
function {char*} l64a (long)
|
function {char*} l64a (long)
|
||||||
#endif
|
#endif
|
||||||
function {long int} labs (long int)
|
function {long int} labs (long int)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function void lcong48 (unsigned short int[7])
|
function void lcong48 (unsigned short int[7])
|
||||||
#endif
|
#endif
|
||||||
function ldiv_t ldiv (long int, long int)
|
function ldiv_t ldiv (long int, long int)
|
||||||
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
|
||||||
function {long long} llabs (long long)
|
function {long long} llabs (long long)
|
||||||
function lldiv_t lldiv (long long, long long)
|
function lldiv_t lldiv (long long, long long)
|
||||||
#endif
|
#endif
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function {long int} lrand48 (void)
|
function {long int} lrand48 (void)
|
||||||
#endif
|
#endif
|
||||||
function {void*} malloc (size_t)
|
function {void*} malloc (size_t)
|
||||||
@ -88,40 +102,51 @@ function int mbtowc (wchar_t*, const char*, size_t)
|
|||||||
#if defined XOPEN2K8 || defined POSIX2008
|
#if defined XOPEN2K8 || defined POSIX2008
|
||||||
function {char*} mkdtemp (char*)
|
function {char*} mkdtemp (char*)
|
||||||
#endif
|
#endif
|
||||||
#if !defined XOPEN2K8 && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
|
||||||
function {char*} mktemp (char*)
|
function {char*} mktemp (char*)
|
||||||
#endif
|
#endif
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
function int mkstemp (char*)
|
function int mkstemp (char*)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#endif
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function {long int} mrand48 (void)
|
function {long int} mrand48 (void)
|
||||||
function {long int} nrand48 (unsigned short int[3])
|
function {long int} nrand48 (unsigned short int[3])
|
||||||
#endif
|
#endif
|
||||||
|
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||||
function int posix_memalign (void**, size_t, size_t)
|
function int posix_memalign (void**, size_t, size_t)
|
||||||
|
#endif
|
||||||
#if defined XOPEN2K || defined XOPEN2K8
|
#if defined XOPEN2K || defined XOPEN2K8
|
||||||
function int posix_openpt (int)
|
function int posix_openpt (int)
|
||||||
#endif
|
#endif
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function {char*} ptsname (int)
|
function {char*} ptsname (int)
|
||||||
function int putenv (char*)
|
function int putenv (char*)
|
||||||
#endif
|
#endif
|
||||||
function void qsort (void*, size_t, size_t, int(*)(const void*, const void*))
|
function void qsort (void*, size_t, size_t, int(*)(const void*, const void*))
|
||||||
|
#if defined ISO11
|
||||||
|
function void quick_exit (int)
|
||||||
|
#endif
|
||||||
function int rand (void)
|
function int rand (void)
|
||||||
|
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||||
function int rand_r (unsigned int*)
|
function int rand_r (unsigned int*)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#endif
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function long random (void)
|
function long random (void)
|
||||||
#endif
|
#endif
|
||||||
function {void*} realloc (void*, size_t)
|
function {void*} realloc (void*, size_t)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function {char*} realpath (const char*, char*)
|
function {char*} realpath (const char*, char*)
|
||||||
function {unsigned short int*} seed48 (unsigned short int[3])
|
function {unsigned short int*} seed48 (unsigned short int[3])
|
||||||
#endif
|
#endif
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
function int setenv (const char*, const char*, int)
|
function int setenv (const char*, const char*, int)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#endif
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function void setkey (const char*)
|
function void setkey (const char*)
|
||||||
function {char*} setstate (char*)
|
function {char*} setstate (char*)
|
||||||
#endif
|
#endif
|
||||||
function void srand (unsigned int)
|
function void srand (unsigned int)
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function void srand48 (long int)
|
function void srand48 (long int)
|
||||||
function void srandom (unsigned)
|
function void srandom (unsigned)
|
||||||
#endif
|
#endif
|
||||||
@ -129,14 +154,16 @@ function double strtod (const char*, char**)
|
|||||||
function {long int} strtol (const char*, char**, int)
|
function {long int} strtol (const char*, char**, int)
|
||||||
function {unsigned long int} strtoul (const char*, char**, int)
|
function {unsigned long int} strtoul (const char*, char**, int)
|
||||||
function int system (const char*)
|
function int system (const char*)
|
||||||
#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
#if defined XPG3 || defined XPG4 || defined UNIX98
|
||||||
function int ttyslot (void)
|
function int ttyslot (void)
|
||||||
#endif
|
#endif
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function int unlockpt (int)
|
function int unlockpt (int)
|
||||||
#endif
|
#endif
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
function int unsetenv (const char*)
|
function int unsetenv (const char*)
|
||||||
#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008
|
#endif
|
||||||
|
#if defined XPG3 || defined XPG4 || defined UNIX98
|
||||||
function {void*} valloc (size_t)
|
function {void*} valloc (size_t)
|
||||||
#endif
|
#endif
|
||||||
function size_t wcstombs (char*, const wchar_t*, size_t)
|
function size_t wcstombs (char*, const wchar_t*, size_t)
|
||||||
|
@ -5,7 +5,7 @@ type size_t
|
|||||||
type locale_t
|
type locale_t
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 & !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function {void*} memccpy (void*, const void*, int, size_t)
|
function {void*} memccpy (void*, const void*, int, size_t)
|
||||||
#endif
|
#endif
|
||||||
function {void*} memchr (const void*, int, size_t)
|
function {void*} memchr (const void*, int, size_t)
|
||||||
@ -27,7 +27,9 @@ function int strcoll_l (const char*, const char*, locale_t)
|
|||||||
#endif
|
#endif
|
||||||
function {char*} strcpy (char*, const char*)
|
function {char*} strcpy (char*, const char*)
|
||||||
function size_t strcspn (const char*, const char*)
|
function size_t strcspn (const char*, const char*)
|
||||||
|
#if !defined ISO && !defined ISO99 & !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function {char*} strdup (const char*)
|
function {char*} strdup (const char*)
|
||||||
|
#endif
|
||||||
function {char*} strerror (int)
|
function {char*} strerror (int)
|
||||||
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||||
function int strerror_r (int, char*, size_t)
|
function int strerror_r (int, char*, size_t)
|
||||||
@ -51,7 +53,9 @@ function {char*} strsignal (int)
|
|||||||
function size_t strspn (const char*, const char*)
|
function size_t strspn (const char*, const char*)
|
||||||
function {char*} strstr (const char*, const char*)
|
function {char*} strstr (const char*, const char*)
|
||||||
function {char*} strtok (char*, const char*)
|
function {char*} strtok (char*, const char*)
|
||||||
|
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||||
function {char*} strtok_r (char*, const char*, char**)
|
function {char*} strtok_r (char*, const char*, char**)
|
||||||
|
#endif
|
||||||
function size_t strxfrm (char*, const char*, size_t)
|
function size_t strxfrm (char*, const char*, size_t)
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
#if defined XOPEN2K8 || defined POSIX2008
|
||||||
function size_t strxfrm_l (char*, const char*, size_t, locale_t)
|
function size_t strxfrm_l (char*, const char*, size_t, locale_t)
|
||||||
|
@ -1,23 +1,25 @@
|
|||||||
#if !defined XOPEN2K8 && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
|
# if !defined XOPEN2K8 && !defined POSIX2008
|
||||||
function int bcmp (const void*, const void*, size_t)
|
function int bcmp (const void*, const void*, size_t)
|
||||||
function void bcopy (const void*, void*, size_t)
|
function void bcopy (const void*, void*, size_t)
|
||||||
function void bzero (void*, size_t)
|
function void bzero (void*, size_t)
|
||||||
function {char*} index (const char*, int)
|
function {char*} index (const char*, int)
|
||||||
function {char*} rindex (const char*, int)
|
function {char*} rindex (const char*, int)
|
||||||
#endif
|
# endif
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX2008
|
||||||
function int ffs (int)
|
function int ffs (int)
|
||||||
#endif
|
# endif
|
||||||
function int strcasecmp (const char*, const char*)
|
function int strcasecmp (const char*, const char*)
|
||||||
function int strncasecmp (const char*, const char*, size_t)
|
function int strncasecmp (const char*, const char*, size_t)
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
function int strcasecmp_l (const char*, const char*, locale_t)
|
function int strcasecmp_l (const char*, const char*, locale_t)
|
||||||
function int strncasecmp_l (const char*, const char*, size_t, locale_t)
|
function int strncasecmp_l (const char*, const char*, size_t, locale_t)
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
type size_t
|
type size_t
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
type locale_t
|
type locale_t
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
allow *_t
|
allow *_t
|
||||||
|
#endif
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type {struct bandinfo}
|
type {struct bandinfo}
|
||||||
|
|
||||||
element {struct bandinfo} {unsigned char} bi_pri
|
element {struct bandinfo} {unsigned char} bi_pri
|
||||||
@ -135,3 +136,4 @@ allow S_*
|
|||||||
allow SND*
|
allow SND*
|
||||||
allow STR*
|
allow STR*
|
||||||
allow *_t
|
allow *_t
|
||||||
|
#endif
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
type {struct ipc_perm}
|
type {struct ipc_perm}
|
||||||
|
|
||||||
element {struct ipc_perm} uid_t uid
|
element {struct ipc_perm} uid_t uid
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
constant PROT_READ
|
constant PROT_READ
|
||||||
constant PROT_WRITE
|
constant PROT_WRITE
|
||||||
constant PROT_EXEC
|
constant PROT_EXEC
|
||||||
@ -54,3 +55,4 @@ allow MCL_*
|
|||||||
allow MS_*
|
allow MS_*
|
||||||
allow PROT_*
|
allow PROT_*
|
||||||
allow *_t
|
allow *_t
|
||||||
|
#endif
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
type {struct msqid_ds}
|
type {struct msqid_ds}
|
||||||
|
|
||||||
type msgqnum_t
|
type msgqnum_t
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
constant PRIO_PROCESS
|
constant PRIO_PROCESS
|
||||||
constant PRIO_PGRP
|
constant PRIO_PGRP
|
||||||
constant PRIO_USER
|
constant PRIO_USER
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type time_t
|
type time_t
|
||||||
type suseconds_t
|
type suseconds_t
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
constant SEM_UNDO
|
constant SEM_UNDO
|
||||||
|
|
||||||
constant GETNCNT
|
constant GETNCNT
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
constant SHM_RDONLY
|
constant SHM_RDONLY
|
||||||
symbol SHMLBA
|
symbol SHMLBA
|
||||||
constant SHM_RND
|
constant SHM_RND
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type socklen_t
|
type socklen_t
|
||||||
|
|
||||||
type sa_family_t
|
type sa_family_t
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
|
|
||||||
type {struct stat}
|
type {struct stat}
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type {struct statvfs}
|
type {struct statvfs}
|
||||||
|
|
||||||
element {struct statvfs} {unsigned long} f_bsize
|
element {struct statvfs} {unsigned long} f_bsize
|
||||||
@ -24,3 +25,4 @@ function int fstatvfs (int, struct statvfs*)
|
|||||||
allow f_*
|
allow f_*
|
||||||
allow ST_*
|
allow ST_*
|
||||||
allow *_t
|
allow *_t
|
||||||
|
#endif
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
type {struct timeval}
|
type {struct timeval}
|
||||||
|
|
||||||
element {struct timeval} time_t tv_sec
|
element {struct timeval} time_t tv_sec
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type {struct timeb}
|
type {struct timeb}
|
||||||
|
|
||||||
element {struct timeb} time_t time
|
element {struct timeb} time_t time
|
||||||
@ -10,3 +11,4 @@ type time_t
|
|||||||
function int ftime (struct timeb*)
|
function int ftime (struct timeb*)
|
||||||
|
|
||||||
allow *_t
|
allow *_t
|
||||||
|
#endif
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type {struct tms}
|
type {struct tms}
|
||||||
|
|
||||||
element {struct tms} clock_t tms_utime
|
element {struct tms} clock_t tms_utime
|
||||||
@ -11,3 +12,4 @@ function clock_t times (struct tms*)
|
|||||||
|
|
||||||
allow tms_*
|
allow tms_*
|
||||||
allow *_t
|
allow *_t
|
||||||
|
#endif
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type blkcnt_t
|
type blkcnt_t
|
||||||
type blksize_t
|
type blksize_t
|
||||||
type clock_t
|
type clock_t
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type {struct iovec}
|
type {struct iovec}
|
||||||
|
|
||||||
element {struct iovec} {void*} iov_base
|
element {struct iovec} {void*} iov_base
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type {struct sockaddr_un}
|
type {struct sockaddr_un}
|
||||||
|
|
||||||
element {struct sockaddr_un} sa_family_t sun_family
|
element {struct sockaddr_un} sa_family_t sun_family
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type {struct utsname}
|
type {struct utsname}
|
||||||
|
|
||||||
element {struct utsname} char sysname []
|
element {struct utsname} char sysname []
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
constant WNOHANG
|
constant WNOHANG
|
||||||
constant WUNTRACED
|
constant WUNTRACED
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
constant LOG_PID
|
constant LOG_PID
|
||||||
constant LOG_CONS
|
constant LOG_CONS
|
||||||
constant LOG_NDELAY
|
constant LOG_NDELAY
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
macro-str TMAGIC "ustar"
|
macro-str TMAGIC "ustar"
|
||||||
constant TMAGLEN 6
|
constant TMAGLEN 6
|
||||||
macro-str TVERSION "00"
|
macro-str TVERSION "00"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type cc_t
|
type cc_t
|
||||||
type speed_t
|
type speed_t
|
||||||
type tcflag_t
|
type tcflag_t
|
||||||
@ -39,7 +39,7 @@ constant INPCK
|
|||||||
constant ISTRIP
|
constant ISTRIP
|
||||||
# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
||||||
constant IUCLC
|
constant IUCLC
|
||||||
# <endif
|
# endif
|
||||||
constant IXANY
|
constant IXANY
|
||||||
constant IXOFF
|
constant IXOFF
|
||||||
constant IXON
|
constant IXON
|
||||||
@ -118,7 +118,7 @@ constant IEXTEN
|
|||||||
constant ISIG
|
constant ISIG
|
||||||
constant NOFLSH
|
constant NOFLSH
|
||||||
constant TOSTOP
|
constant TOSTOP
|
||||||
# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
# if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
||||||
constant XCASE
|
constant XCASE
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
@ -142,7 +142,9 @@ function int tcdrain (int)
|
|||||||
function int tcflow (int, int)
|
function int tcflow (int, int)
|
||||||
function int tcflush (int, int)
|
function int tcflush (int, int)
|
||||||
function int tcgetattr (int, struct termios*)
|
function int tcgetattr (int, struct termios*)
|
||||||
|
#ifndef POSIX
|
||||||
function pid_t tcgetsid (int)
|
function pid_t tcgetsid (int)
|
||||||
|
#endif
|
||||||
function int tcsendbreak (int, int)
|
function int tcsendbreak (int, int)
|
||||||
function int tcsetattr (int, int, const struct termios*)
|
function int tcsetattr (int, int, const struct termios*)
|
||||||
|
|
||||||
|
@ -1,3 +1,21 @@
|
|||||||
|
constant NULL
|
||||||
|
constant CLOCKS_PER_SEC
|
||||||
|
|
||||||
|
#ifdef ISO11
|
||||||
|
macro TIME_UTC
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined ISO && !defined ISO99
|
||||||
|
type {struct timespec}
|
||||||
|
|
||||||
|
element {struct timespec} time_t tv_sec
|
||||||
|
element {struct timespec} long tv_nsec
|
||||||
|
#endif
|
||||||
|
|
||||||
|
type size_t
|
||||||
|
type clock_t
|
||||||
|
type time_t
|
||||||
|
|
||||||
type {struct tm}
|
type {struct tm}
|
||||||
|
|
||||||
element {struct tm} int tm_sec
|
element {struct tm} int tm_sec
|
||||||
@ -10,19 +28,26 @@ element {struct tm} int tm_wday
|
|||||||
element {struct tm} int tm_yday
|
element {struct tm} int tm_yday
|
||||||
element {struct tm} int tm_isdst
|
element {struct tm} int tm_isdst
|
||||||
|
|
||||||
constant NULL
|
function clock_t clock (void)
|
||||||
#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
function double difftime (time_t, time_t)
|
||||||
constant CLK_TCK
|
function time_t mktime (struct tm*)
|
||||||
|
function time_t time (time_t*)
|
||||||
|
function {char*} asctime (const struct tm*)
|
||||||
|
function {char*} ctime (const time_t*)
|
||||||
|
function {struct tm*} gmtime (const time_t*)
|
||||||
|
function {struct tm*} localtime (const time_t*)
|
||||||
|
function size_t strftime (char*, size_t, const char*, const struct tm*)
|
||||||
|
#if defined ISO11
|
||||||
|
function int timespec_get (struct timespec *, int)
|
||||||
#endif
|
#endif
|
||||||
constant CLOCKS_PER_SEC
|
|
||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
|
# if !defined XOPEN21K && !defined XOPEN2K8 && !defined POSIX2008
|
||||||
|
constant CLK_TCK
|
||||||
|
# endif
|
||||||
constant CLOCK_PROCESS_CPUTIME_ID
|
constant CLOCK_PROCESS_CPUTIME_ID
|
||||||
constant CLOCK_THREAD_CPUTIME_ID
|
constant CLOCK_THREAD_CPUTIME_ID
|
||||||
|
|
||||||
type {struct timespec}
|
|
||||||
|
|
||||||
element {struct timespec} time_t tv_sec
|
|
||||||
element {struct timespec} long tv_nsec
|
|
||||||
|
|
||||||
type {struct itimerspec}
|
type {struct itimerspec}
|
||||||
|
|
||||||
element {struct itimerspec} {struct timespec} it_interval
|
element {struct itimerspec} {struct timespec} it_interval
|
||||||
@ -32,50 +57,38 @@ constant CLOCK_REALTIME
|
|||||||
constant TIMER_ABSTIME
|
constant TIMER_ABSTIME
|
||||||
constant CLOCK_MONOTONIC
|
constant CLOCK_MONOTONIC
|
||||||
|
|
||||||
type clock_t
|
|
||||||
type clockid_t
|
type clockid_t
|
||||||
type size_t
|
|
||||||
type time_t
|
|
||||||
type timer_t
|
type timer_t
|
||||||
|
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
type pid_t
|
type pid_t
|
||||||
type locale_t
|
type locale_t
|
||||||
tag {struct sigevent}
|
tag {struct sigevent}
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
variable int getdate_err
|
variable int getdate_err
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
function {char*} asctime (const struct tm*)
|
|
||||||
function {char*} asctime_r (const struct tm*, char*)
|
function {char*} asctime_r (const struct tm*, char*)
|
||||||
function clock_t clock (void)
|
|
||||||
function int clock_getcpuclockid (pid_t, clockid_t*)
|
function int clock_getcpuclockid (pid_t, clockid_t*)
|
||||||
function int clock_getres (clockid_t, struct timespec*)
|
function int clock_getres (clockid_t, struct timespec*)
|
||||||
function int clock_gettime (clockid_t, struct timespec*)
|
function int clock_gettime (clockid_t, struct timespec*)
|
||||||
function int clock_nanosleep (clockid_t, int, const struct timespec*, struct timespec*)
|
function int clock_nanosleep (clockid_t, int, const struct timespec*, struct timespec*)
|
||||||
function int clock_settime (clockid_t, const struct timespec*)
|
function int clock_settime (clockid_t, const struct timespec*)
|
||||||
function {char*} ctime (const time_t*)
|
|
||||||
function {char*} ctime_r (const time_t*, char*)
|
function {char*} ctime_r (const time_t*, char*)
|
||||||
function double difftime (time_t, time_t)
|
# if !defined POSIX && !defined POSIX2008
|
||||||
#if !defined POSIX && !defined POSIX2008
|
|
||||||
function {struct tm*} getdate (const char*)
|
function {struct tm*} getdate (const char*)
|
||||||
#endif
|
# endif
|
||||||
function {struct tm*} gmtime (const time_t*)
|
|
||||||
function {struct tm*} gmtime_r (const time_t*, struct tm*)
|
function {struct tm*} gmtime_r (const time_t*, struct tm*)
|
||||||
function {struct tm*} localtime (const time_t*)
|
|
||||||
function {struct tm*} localtime_r (const time_t*, struct tm*)
|
function {struct tm*} localtime_r (const time_t*, struct tm*)
|
||||||
function time_t mktime (struct tm*)
|
|
||||||
function int nanosleep (const struct timespec*, struct timespec*)
|
function int nanosleep (const struct timespec*, struct timespec*)
|
||||||
function size_t strftime (char*, size_t, const char*, const struct tm*)
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
|
||||||
function size_t strftime_l (char*, size_t, const char*, const struct tm*, locale_t)
|
function size_t strftime_l (char*, size_t, const char*, const struct tm*, locale_t)
|
||||||
#endif
|
# endif
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
function {char*} strptime (const char*, const char*, struct tm*)
|
function {char*} strptime (const char*, const char*, struct tm*)
|
||||||
#endif
|
# endif
|
||||||
function time_t time (time_t*)
|
|
||||||
function int timer_create (clockid_t, struct sigevent*, timer_t*)
|
function int timer_create (clockid_t, struct sigevent*, timer_t*)
|
||||||
function int timer_delete (timer_t)
|
function int timer_delete (timer_t)
|
||||||
function int timer_gettime (timer_t, struct itimerspec*)
|
function int timer_gettime (timer_t, struct itimerspec*)
|
||||||
@ -83,10 +96,10 @@ function int timer_getoverrun (timer_t)
|
|||||||
function int timer_settime (timer_t, int, const struct itimerspec*, struct itimerspec*)
|
function int timer_settime (timer_t, int, const struct itimerspec*, struct itimerspec*)
|
||||||
function void tzset (void)
|
function void tzset (void)
|
||||||
|
|
||||||
#if !defined POSIX && !defined POSIX2008
|
# if !defined POSIX && !defined POSIX2008
|
||||||
variable int daylight
|
variable int daylight
|
||||||
variable {long int} timezone
|
variable {long int} timezone
|
||||||
#endif
|
# endif
|
||||||
variable {char*} tzname [2]
|
variable {char*} tzname [2]
|
||||||
|
|
||||||
allow tm_*
|
allow tm_*
|
||||||
@ -98,3 +111,4 @@ allow CLOCK_*
|
|||||||
allow TIMER_*
|
allow TIMER_*
|
||||||
allow *_t
|
allow *_t
|
||||||
allow sigevent
|
allow sigevent
|
||||||
|
#endif
|
||||||
|
12
conform/data/uchar.h-data
Normal file
12
conform/data/uchar.h-data
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#if defined ISO11
|
||||||
|
type mbstate_t
|
||||||
|
type size_t
|
||||||
|
type char16_t
|
||||||
|
type char32_t
|
||||||
|
|
||||||
|
function size_t mbrtoc16 (char16_t *, const char *, size_t, mbstate_t *)
|
||||||
|
function size_t c16rtomb (char *, char16_t, mbstate_t *)16
|
||||||
|
function size_t mbrtoc32 (char32_t *, const char *, size_t, mbstate_t *)
|
||||||
|
function size_t c32rtomb (char *, char32_t, mbstate_t *)
|
||||||
|
|
||||||
|
#endif
|
@ -1,3 +1,4 @@
|
|||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
|
||||||
type mcontext_t
|
type mcontext_t
|
||||||
|
|
||||||
type ucontext_t
|
type ucontext_t
|
||||||
@ -18,3 +19,4 @@ function int swapcontext (ucontext_t*, const ucontext_t*)
|
|||||||
allow uc_*
|
allow uc_*
|
||||||
allow ss_*
|
allow ss_*
|
||||||
allow *_t
|
allow *_t
|
||||||
|
#endif
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
constant UL_GETFSIZE
|
constant UL_GETFSIZE
|
||||||
constant UL_SETFSIZE
|
constant UL_SETFSIZE
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifndef ISO
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
optional-constant _POSIX_VERSION
|
optional-constant _POSIX_VERSION
|
||||||
optional-constant _POSIX2_C_VERSION
|
optional-constant _POSIX2_C_VERSION
|
||||||
optional-constant _XOPEN_VERSION
|
optional-constant _XOPEN_VERSION
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type {struct utimbuf}
|
type {struct utimbuf}
|
||||||
|
|
||||||
element {struct utimbuf} time_t actime
|
element {struct utimbuf} time_t actime
|
||||||
@ -9,3 +10,4 @@ function int utime (const char*, const struct utimbuf*)
|
|||||||
|
|
||||||
allow utim_*
|
allow utim_*
|
||||||
allow *_t
|
allow *_t
|
||||||
|
#endif
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
type {struct utmpx}
|
type {struct utmpx}
|
||||||
|
|
||||||
element {struct utmpx} char ut_user []
|
element {struct utmpx} char ut_user []
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#if defined XPG3 || defined XPG4
|
||||||
macro va_alist
|
macro va_alist
|
||||||
macro va_dcl
|
macro va_dcl
|
||||||
type va_list
|
type va_list
|
||||||
@ -6,3 +7,4 @@ macro va_arg
|
|||||||
macro va_end
|
macro va_end
|
||||||
|
|
||||||
allow *_t
|
allow *_t
|
||||||
|
#endif
|
||||||
|
@ -1,19 +1,24 @@
|
|||||||
|
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4
|
||||||
type wchar_t
|
type wchar_t
|
||||||
type wint_t
|
type wint_t
|
||||||
# if !defined ISO && !defined POSIX && !defined POSIX2008
|
# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
|
||||||
type wctype_t
|
type wctype_t
|
||||||
#endif
|
# endif
|
||||||
type mbstate_t
|
type mbstate_t
|
||||||
|
# if !defined ISO99 && !defined ISO11
|
||||||
type FILE
|
type FILE
|
||||||
|
# else
|
||||||
|
# define FILE __FILE
|
||||||
|
# endif
|
||||||
type size_t
|
type size_t
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
type locale_t
|
type locale_t
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
function wint_t btowc (int)
|
function wint_t btowc (int)
|
||||||
function int fwprintf (FILE*, const wchar_t*, ...)
|
function int fwprintf (FILE*, const wchar_t*, ...)
|
||||||
function int fwscanf (FILE*, const wchar_t*, ...)
|
function int fwscanf (FILE*, const wchar_t*, ...)
|
||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
|
||||||
function int iswalnum (wint_t)
|
function int iswalnum (wint_t)
|
||||||
function int iswalpha (wint_t)
|
function int iswalpha (wint_t)
|
||||||
function int iswcntrl (wint_t)
|
function int iswcntrl (wint_t)
|
||||||
@ -26,7 +31,7 @@ function int iswspace (wint_t)
|
|||||||
function int iswupper (wint_t)
|
function int iswupper (wint_t)
|
||||||
function int iswxdigit (wint_t)
|
function int iswxdigit (wint_t)
|
||||||
function int iswctype (wint_t, wctype_t)
|
function int iswctype (wint_t, wctype_t)
|
||||||
#endif
|
# endif
|
||||||
function wint_t fgetwc (FILE*)
|
function wint_t fgetwc (FILE*)
|
||||||
function {wchar_t*} fgetws (wchar_t*, int, FILE*)
|
function {wchar_t*} fgetws (wchar_t*, int, FILE*)
|
||||||
function wint_t fputwc (wchar_t, FILE*)
|
function wint_t fputwc (wchar_t, FILE*)
|
||||||
@ -37,21 +42,21 @@ function wint_t getwchar (void)
|
|||||||
function int mbsinit (const mbstate_t*)
|
function int mbsinit (const mbstate_t*)
|
||||||
function size_t mbrlen (const char*, size_t, mbstate_t*)
|
function size_t mbrlen (const char*, size_t, mbstate_t*)
|
||||||
function size_t mbrtowc (wchar_t*, const char*, size_t, mbstate_t*)
|
function size_t mbrtowc (wchar_t*, const char*, size_t, mbstate_t*)
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
function size_t mbsnrtowcs (wchar_t*, const char**, size_t, size_t, mbstate_t*)
|
function size_t mbsnrtowcs (wchar_t*, const char**, size_t, size_t, mbstate_t*)
|
||||||
#endif
|
# endif
|
||||||
function size_t mbsrtowcs (wchar_t*, const char**, size_t, mbstate_t*)
|
function size_t mbsrtowcs (wchar_t*, const char**, size_t, mbstate_t*)
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
function {FILE*} open_wmemstream (wchar_t**, size_t*)
|
function {FILE*} open_wmemstream (wchar_t**, size_t*)
|
||||||
#endif
|
# endif
|
||||||
function wint_t putwc (wchar_t, FILE*)
|
function wint_t putwc (wchar_t, FILE*)
|
||||||
function wint_t putwchar (wchar_t)
|
function wint_t putwchar (wchar_t)
|
||||||
function int swprintf (wchar_t*, size_t, const wchar_t*, ...)
|
function int swprintf (wchar_t*, size_t, const wchar_t*, ...)
|
||||||
function int swscanf (const wchar_t*, const wchar_t*, ...)
|
function int swscanf (const wchar_t*, const wchar_t*, ...)
|
||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
|
||||||
function wint_t towlower (wint_t)
|
function wint_t towlower (wint_t)
|
||||||
function wint_t towupper (wint_t)
|
function wint_t towupper (wint_t)
|
||||||
#endif
|
# endif
|
||||||
function wint_t ungetwc (wint_t, FILE*)
|
function wint_t ungetwc (wint_t, FILE*)
|
||||||
function int vfwprintf (FILE*, const wchar_t*, __gnuc_va_list)
|
function int vfwprintf (FILE*, const wchar_t*, __gnuc_va_list)
|
||||||
function int vfwscanf (FILE*, const wchar_t*, __gnuc_va_list)
|
function int vfwscanf (FILE*, const wchar_t*, __gnuc_va_list)
|
||||||
@ -59,40 +64,40 @@ function int vwprintf (const wchar_t*, __gnuc_va_list)
|
|||||||
function int vwscanf (const wchar_t*, __gnuc_va_list)
|
function int vwscanf (const wchar_t*, __gnuc_va_list)
|
||||||
function int vswprintf (wchar_t*, size_t, const wchar_t*, __gnuc_va_list)
|
function int vswprintf (wchar_t*, size_t, const wchar_t*, __gnuc_va_list)
|
||||||
function int vswscanf (const wchar_t*, const wchar_t*, __gnuc_va_list)
|
function int vswscanf (const wchar_t*, const wchar_t*, __gnuc_va_list)
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
function {wchar_t*} wcpcpy (wchar_t*, const wchar_t*)
|
function {wchar_t*} wcpcpy (wchar_t*, const wchar_t*)
|
||||||
function {wchar_t*} wcpncpy (wchar_t*, const wchar_t*, size_t)
|
function {wchar_t*} wcpncpy (wchar_t*, const wchar_t*, size_t)
|
||||||
#endif
|
# endif
|
||||||
function size_t wcrtomb (char*, wchar_t, mbstate_t*)
|
function size_t wcrtomb (char*, wchar_t, mbstate_t*)
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
function int wcscasecmp(const wchar_t*, const wchar_t*)
|
function int wcscasecmp(const wchar_t*, const wchar_t*)
|
||||||
function int wcscasecmp_l(const wchar_t*, const wchar_t*, locale_t)
|
function int wcscasecmp_l(const wchar_t*, const wchar_t*, locale_t)
|
||||||
#endif
|
# endif
|
||||||
function {wchar_t*} wcscat (wchar_t*, const wchar_t*)
|
function {wchar_t*} wcscat (wchar_t*, const wchar_t*)
|
||||||
function {wchar_t*} wcschr (const wchar_t*, wchar_t)
|
function {wchar_t*} wcschr (const wchar_t*, wchar_t)
|
||||||
function int wcscmp (const wchar_t*, const wchar_t*)
|
function int wcscmp (const wchar_t*, const wchar_t*)
|
||||||
function int wcscoll (const wchar_t*, const wchar_t*)
|
function int wcscoll (const wchar_t*, const wchar_t*)
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
function int wcscoll_l (const wchar_t*, const wchar_t*, locale_t)
|
function int wcscoll_l (const wchar_t*, const wchar_t*, locale_t)
|
||||||
#endif
|
# endif
|
||||||
function {wchar_t*} wcscpy (wchar_t*, const wchar_t*)
|
function {wchar_t*} wcscpy (wchar_t*, const wchar_t*)
|
||||||
function size_t wcscspn (const wchar_t*, const wchar_t*)
|
function size_t wcscspn (const wchar_t*, const wchar_t*)
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
function {wchar_t*} wcsdup (const wchar_t*)
|
function {wchar_t*} wcsdup (const wchar_t*)
|
||||||
#endif
|
# endif
|
||||||
function size_t wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*)
|
function size_t wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*)
|
||||||
function size_t wcslen (const wchar_t*)
|
function size_t wcslen (const wchar_t*)
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
function int wcsncasecmp (const wchar_t*, const wchar_t*, size_t)
|
function int wcsncasecmp (const wchar_t*, const wchar_t*, size_t)
|
||||||
function int wcsncasecmp_l (const wchar_t*, const wchar_t*, size_t, locale_t)
|
function int wcsncasecmp_l (const wchar_t*, const wchar_t*, size_t, locale_t)
|
||||||
#endif
|
# endif
|
||||||
function {wchar_t*} wcsncat (wchar_t*, const wchar_t*, size_t)
|
function {wchar_t*} wcsncat (wchar_t*, const wchar_t*, size_t)
|
||||||
function int wcsncmp (const wchar_t*, const wchar_t*, size_t)
|
function int wcsncmp (const wchar_t*, const wchar_t*, size_t)
|
||||||
function {wchar_t*} wcsncpy (wchar_t*, const wchar_t*, size_t)
|
function {wchar_t*} wcsncpy (wchar_t*, const wchar_t*, size_t)
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
function size_t wcsnlen (const wchar_t*, size_t)
|
function size_t wcsnlen (const wchar_t*, size_t)
|
||||||
function size_t wcsnrtombs (char*, const wchar_t**, size_t, size_t, mbstate_t*)
|
function size_t wcsnrtombs (char*, const wchar_t**, size_t, size_t, mbstate_t*)
|
||||||
#endif
|
# endif
|
||||||
function {wchar_t*} wcspbrk (const wchar_t*, const wchar_t*)
|
function {wchar_t*} wcspbrk (const wchar_t*, const wchar_t*)
|
||||||
function {wchar_t*} wcsrchr (const wchar_t*, wchar_t)
|
function {wchar_t*} wcsrchr (const wchar_t*, wchar_t)
|
||||||
function size_t wcsrtombs (char*, const wchar_t**, size_t, mbstate_t*)
|
function size_t wcsrtombs (char*, const wchar_t**, size_t, mbstate_t*)
|
||||||
@ -102,21 +107,21 @@ function double wcstod (const wchar_t*, wchar_t**)
|
|||||||
function {wchar_t*} wcstok (wchar_t*, const wchar_t*, wchar_t**)
|
function {wchar_t*} wcstok (wchar_t*, const wchar_t*, wchar_t**)
|
||||||
function {long int} wcstol (const wchar_t*, wchar_t**, int)
|
function {long int} wcstol (const wchar_t*, wchar_t**, int)
|
||||||
function {unsigned long int} wcstoul (const wchar_t*, wchar_t**, int)
|
function {unsigned long int} wcstoul (const wchar_t*, wchar_t**, int)
|
||||||
#if defined UNIX98 || defined XOPEN2K
|
# if defined UNIX98 || defined XOPEN2K
|
||||||
function {wchar_t*} wcswcs (const wchar_t*, const wchar_t*)
|
function {wchar_t*} wcswcs (const wchar_t*, const wchar_t*)
|
||||||
#endif
|
# endif
|
||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
|
||||||
function int wcswidth (const wchar_t*, size_t)
|
function int wcswidth (const wchar_t*, size_t)
|
||||||
#endif
|
# endif
|
||||||
function size_t wcsxfrm (wchar_t*, const wchar_t*, size_t)
|
function size_t wcsxfrm (wchar_t*, const wchar_t*, size_t)
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
function size_t wcsxfrm_l (wchar_t*, const wchar_t*, size_t, locale_t)
|
function size_t wcsxfrm_l (wchar_t*, const wchar_t*, size_t, locale_t)
|
||||||
#endif
|
# endif
|
||||||
function int wctob (wint_t)
|
function int wctob (wint_t)
|
||||||
#if !defined ISO && !defined POSIX && !defined POSIX2008
|
# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
|
||||||
function wctype_t wctype (const char*)
|
function wctype_t wctype (const char*)
|
||||||
function int wcwidth (wchar_t)
|
function int wcwidth (wchar_t)
|
||||||
#endif
|
# endif
|
||||||
function {wchar_t*} wmemchr (const wchar_t*, wchar_t, size_t)
|
function {wchar_t*} wmemchr (const wchar_t*, wchar_t, size_t)
|
||||||
function int wmemcmp (const wchar_t*, const wchar_t*, size_t)
|
function int wmemcmp (const wchar_t*, const wchar_t*, size_t)
|
||||||
function {wchar_t*} wmemcpy (wchar_t*, const wchar_t*, size_t)
|
function {wchar_t*} wmemcpy (wchar_t*, const wchar_t*, size_t)
|
||||||
@ -140,3 +145,4 @@ allow-header time.h
|
|||||||
|
|
||||||
allow wcs*
|
allow wcs*
|
||||||
allow *_t
|
allow *_t
|
||||||
|
#endif
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
|
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4
|
||||||
type wint_t
|
type wint_t
|
||||||
type wctrans_t
|
type wctrans_t
|
||||||
type wctype_t
|
type wctype_t
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
type locale_t
|
type locale_t
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
function int iswalnum (wint_t)
|
function int iswalnum (wint_t)
|
||||||
function int iswalpha (wint_t)
|
function int iswalpha (wint_t)
|
||||||
@ -22,7 +23,7 @@ function wint_t towlower (wint_t)
|
|||||||
function wint_t towupper (wint_t)
|
function wint_t towupper (wint_t)
|
||||||
function wctrans_t wctrans (const char*)
|
function wctrans_t wctrans (const char*)
|
||||||
function wctype_t wctype (const char*)
|
function wctype_t wctype (const char*)
|
||||||
#if defined XOPEN2K8 || defined POSIX2008
|
# if defined XOPEN2K8 || defined POSIX2008
|
||||||
function int iswalnum_l (wint_t, locale_t)
|
function int iswalnum_l (wint_t, locale_t)
|
||||||
function int iswalpha_l (wint_t, locale_t)
|
function int iswalpha_l (wint_t, locale_t)
|
||||||
function int iswcntrl_l (wint_t, locale_t)
|
function int iswcntrl_l (wint_t, locale_t)
|
||||||
@ -40,7 +41,7 @@ function wint_t towlower_l (wint_t, locale_t)
|
|||||||
function wint_t towupper_l (wint_t, locale_t)
|
function wint_t towupper_l (wint_t, locale_t)
|
||||||
function wctrans_t wctrans_l (const char*, locale_t)
|
function wctrans_t wctrans_l (const char*, locale_t)
|
||||||
function wctype_t wctype_l (const char*, locale_t)
|
function wctype_t wctype_l (const char*, locale_t)
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
macro WEOF
|
macro WEOF
|
||||||
|
|
||||||
@ -56,3 +57,4 @@ allow-header wchar.h
|
|||||||
allow is*
|
allow is*
|
||||||
allow to*
|
allow to*
|
||||||
allow *_t
|
allow *_t
|
||||||
|
#endif
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#if !defined ISO && !defined ISO99 && !defined ISO11
|
||||||
type wordexp_t
|
type wordexp_t
|
||||||
|
|
||||||
element wordexp_t size_t we_wordc
|
element wordexp_t size_t we_wordc
|
||||||
@ -14,9 +15,9 @@ constant WRDE_UNDEF
|
|||||||
constant WRDE_BADCHAR
|
constant WRDE_BADCHAR
|
||||||
constant WRDE_CMDSUB
|
constant WRDE_CMDSUB
|
||||||
constant WRDE_NOSPACE
|
constant WRDE_NOSPACE
|
||||||
#if !defined XOPEN2K8 && !defined POSIX2008
|
# if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
|
||||||
constant WRDE_NOSYS
|
constant WRDE_NOSYS
|
||||||
#endif
|
# endif
|
||||||
constant WRDE_SYNTAX
|
constant WRDE_SYNTAX
|
||||||
|
|
||||||
function int wordexp (const char*, wordexp_t*, int)
|
function int wordexp (const char*, wordexp_t*, int)
|
||||||
@ -25,3 +26,4 @@ function void wordfree (wordexp_t*)
|
|||||||
allow WRDE_*
|
allow WRDE_*
|
||||||
allow we_*
|
allow we_*
|
||||||
allow *_t
|
allow *_t
|
||||||
|
#endif
|
||||||
|
30
conform/run-conformtest.sh
Normal file
30
conform/run-conformtest.sh
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
objpfx="$1"
|
||||||
|
perl="$2"
|
||||||
|
cc="$3"
|
||||||
|
includes="$4"
|
||||||
|
|
||||||
|
standards=("ISO" "ISO99" "ISO11" "POSIX" "XPG3" "XPG4" "UNIX98"
|
||||||
|
"XOPEN2K" "XOPEN2K8" "POSIX2008")
|
||||||
|
standards=("POSIX" "XPG3" "XPG4" "UNIX98"
|
||||||
|
"XOPEN2K" "XOPEN2K8" "POSIX2008")
|
||||||
|
|
||||||
|
exitval=0
|
||||||
|
> ${objpfx}run-conformtest.out
|
||||||
|
for s in ${standards[*]}; do
|
||||||
|
echo -n $s...
|
||||||
|
e=0
|
||||||
|
if ! $perl conformtest.pl --cc="$cc" --flags="$includes" --standard=$s > ${objpfx}conform-$s.out; then
|
||||||
|
e=1
|
||||||
|
fi
|
||||||
|
printf "\n%s\n" $s >> ${objpfx}run-conformtest.out
|
||||||
|
tail -n 4 ${objpfx}conform-$s.out >> ${objpfx}run-conformtest.out
|
||||||
|
echo
|
||||||
|
if [ $e -ne 0 ]; then
|
||||||
|
tail -n 3 ${objpfx}conform-$s.out
|
||||||
|
exitval=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
exit $exitval
|
@ -1,6 +1,7 @@
|
|||||||
#ifndef _AIO_H
|
#ifndef _AIO_H
|
||||||
#include <rt/aio.h>
|
#include <rt/aio.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
/* Now define the internal interfaces. */
|
/* Now define the internal interfaces. */
|
||||||
extern void __aio_init (const struct aioinit *__init);
|
extern void __aio_init (const struct aioinit *__init);
|
||||||
|
|
||||||
@ -8,5 +9,6 @@ extern void __aio_init (const struct aioinit *__init);
|
|||||||
lio_listio and we do not issue events for each individual list
|
lio_listio and we do not issue events for each individual list
|
||||||
element. */
|
element. */
|
||||||
#define LIO_NO_INDIVIDUAL_EVENT 128
|
#define LIO_NO_INDIVIDUAL_EVENT 128
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include <assert/assert.h>
|
#include <assert/assert.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
/* This prints an "Assertion failed" message and aborts.
|
/* This prints an "Assertion failed" message and aborts.
|
||||||
In installed assert.h this is only conditionally declared,
|
In installed assert.h this is only conditionally declared,
|
||||||
so it has to be repeated here. */
|
so it has to be repeated here. */
|
||||||
@ -19,7 +20,8 @@ extern void __assert_fail_base (const char *fmt, const char *assertion,
|
|||||||
const char *function)
|
const char *function)
|
||||||
__THROW __attribute__ ((__noreturn__));
|
__THROW __attribute__ ((__noreturn__));
|
||||||
|
|
||||||
#if !defined NOT_IN_libc || defined IS_IN_rtld
|
# if !defined NOT_IN_libc || defined IS_IN_rtld
|
||||||
hidden_proto (__assert_fail)
|
hidden_proto (__assert_fail)
|
||||||
hidden_proto (__assert_perror_fail)
|
hidden_proto (__assert_perror_fail)
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#ifndef _CTYPE_H
|
#ifndef _CTYPE_H
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
/* Initialize ctype locale data. */
|
/* Initialize ctype locale data. */
|
||||||
extern void __ctype_init (void);
|
extern void __ctype_init (void);
|
||||||
libc_hidden_proto (__ctype_init)
|
libc_hidden_proto (__ctype_init)
|
||||||
@ -46,9 +47,11 @@ __ctype_tolower_loc (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
# endif /* Not NOT_IN_libc. */
|
# endif /* Not NOT_IN_libc. */
|
||||||
|
#endif
|
||||||
|
|
||||||
# include <ctype/ctype.h>
|
#include <ctype/ctype.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
# if !defined __NO_CTYPE && !defined NOT_IN_libc
|
# if !defined __NO_CTYPE && !defined NOT_IN_libc
|
||||||
/* The spec says that isdigit must only match the decimal digits. We
|
/* The spec says that isdigit must only match the decimal digits. We
|
||||||
can check this without a memory access. */
|
can check this without a memory access. */
|
||||||
@ -59,5 +62,6 @@ __ctype_tolower_loc (void)
|
|||||||
# undef __isdigit_l
|
# undef __isdigit_l
|
||||||
# define __isdigit_l(c, l) ({ int __c = (c); __c >= '0' && __c <= '9'; })
|
# define __isdigit_l(c, l) ({ int __c = (c); __c >= '0' && __c <= '9'; })
|
||||||
# endif
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* ctype.h */
|
#endif /* ctype.h */
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#ifndef _DIRENT_H
|
#ifndef _DIRENT_H
|
||||||
# include <dirstream.h>
|
|
||||||
# include <dirent/dirent.h>
|
# include <dirent/dirent.h>
|
||||||
|
# ifndef _ISOMAC
|
||||||
|
# include <dirstream.h>
|
||||||
# include <sys/stat.h>
|
# include <sys/stat.h>
|
||||||
# include <stdbool.h>
|
# include <stdbool.h>
|
||||||
|
|
||||||
@ -44,5 +45,6 @@ extern void __scandir_cancel_handler (void *arg);
|
|||||||
libc_hidden_proto (rewinddir)
|
libc_hidden_proto (rewinddir)
|
||||||
libc_hidden_proto (scandirat)
|
libc_hidden_proto (scandirat)
|
||||||
libc_hidden_proto (scandirat64)
|
libc_hidden_proto (scandirat64)
|
||||||
|
# endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#ifndef _DLFCN_H
|
#ifndef _DLFCN_H
|
||||||
#include <dlfcn/dlfcn.h>
|
#include <dlfcn/dlfcn.h>
|
||||||
|
#ifndef _ISOMAC
|
||||||
#include <link.h> /* For ElfW. */
|
#include <link.h> /* For ElfW. */
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
@ -146,5 +147,6 @@ extern void __libc_register_dl_open_hook (struct link_map *map)
|
|||||||
extern void __libc_register_dlfcn_hook (struct link_map *map)
|
extern void __libc_register_dlfcn_hook (struct link_map *map)
|
||||||
attribute_hidden;
|
attribute_hidden;
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#ifndef _FCNTL_H
|
#ifndef _FCNTL_H
|
||||||
#include <io/fcntl.h>
|
#include <io/fcntl.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
/* Now define the internal interfaces. */
|
/* Now define the internal interfaces. */
|
||||||
extern int __open64 (const char *__file, int __oflag, ...);
|
extern int __open64 (const char *__file, int __oflag, ...);
|
||||||
libc_hidden_proto (__open64)
|
libc_hidden_proto (__open64)
|
||||||
@ -44,5 +45,6 @@ extern int __have_atfcts attribute_hidden;
|
|||||||
#ifdef O_CLOEXEC
|
#ifdef O_CLOEXEC
|
||||||
extern int __have_o_cloexec attribute_hidden;
|
extern int __have_o_cloexec attribute_hidden;
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
#include <posix/fnmatch.h>
|
#include <posix/fnmatch.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
libc_hidden_proto (fnmatch)
|
libc_hidden_proto (fnmatch)
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#ifndef _GLOB_H
|
#ifndef _GLOB_H
|
||||||
#include <posix/glob.h>
|
#include <posix/glob.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
libc_hidden_proto (glob)
|
libc_hidden_proto (glob)
|
||||||
libc_hidden_proto (glob64)
|
libc_hidden_proto (glob64)
|
||||||
libc_hidden_proto (globfree)
|
libc_hidden_proto (globfree)
|
||||||
@ -11,5 +12,6 @@ extern int __glob_pattern_p (const char *__pattern, int __quote);
|
|||||||
extern int __glob64 (const char *__pattern, int __flags,
|
extern int __glob64 (const char *__pattern, int __flags,
|
||||||
int (*__errfunc) (const char *, int),
|
int (*__errfunc) (const char *, int),
|
||||||
glob64_t *__pglob);
|
glob64_t *__pglob);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#ifndef _GRP_H
|
#ifndef _GRP_H
|
||||||
#include <grp/grp.h>
|
#include <grp/grp.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
libc_hidden_proto (setgroups)
|
libc_hidden_proto (setgroups)
|
||||||
|
|
||||||
/* Now define the internal interfaces. */
|
/* Now define the internal interfaces. */
|
||||||
@ -60,3 +61,4 @@ DECLARE_NSS_PROTOTYPES (nisplus)
|
|||||||
|
|
||||||
#undef DECLARE_NSS_PROTOTYPES
|
#undef DECLARE_NSS_PROTOTYPES
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include <libio/libio.h>
|
#include <libio/libio.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
#ifndef _LIBC_LIBIO_H
|
#ifndef _LIBC_LIBIO_H
|
||||||
#define _LIBC_LIBIO_H
|
#define _LIBC_LIBIO_H
|
||||||
|
|
||||||
@ -22,3 +23,4 @@ libc_hidden_proto (__wuflow)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#ifndef _LOCALE_H
|
#ifndef _LOCALE_H
|
||||||
#include <locale/locale.h>
|
#include <locale/locale.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
extern __typeof (uselocale) __uselocale;
|
extern __typeof (uselocale) __uselocale;
|
||||||
|
|
||||||
libc_hidden_proto (setlocale)
|
libc_hidden_proto (setlocale)
|
||||||
@ -22,3 +23,4 @@ extern struct lconv *__localeconv (void);
|
|||||||
extern const char *__current_locale_name (int category) attribute_hidden;
|
extern const char *__current_locale_name (int category) attribute_hidden;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include <math/math.h>
|
#include <math/math.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
/* Now define the internal interfaces. */
|
/* Now define the internal interfaces. */
|
||||||
extern int __matherr (struct exception *__exc);
|
extern int __matherr (struct exception *__exc);
|
||||||
|
|
||||||
@ -36,3 +37,4 @@ extern int __isinf_nsf (float);
|
|||||||
extern int __isinf_nsl (long double);
|
extern int __isinf_nsl (long double);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
@ -2,9 +2,11 @@
|
|||||||
|
|
||||||
# include_next <net/if.h>
|
# include_next <net/if.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
libc_hidden_proto (if_nametoindex)
|
libc_hidden_proto (if_nametoindex)
|
||||||
libc_hidden_proto (if_indextoname)
|
libc_hidden_proto (if_indextoname)
|
||||||
libc_hidden_proto (if_nameindex)
|
libc_hidden_proto (if_nameindex)
|
||||||
libc_hidden_proto (if_freenameindex)
|
libc_hidden_proto (if_freenameindex)
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#ifndef _NETDB_H
|
#ifndef _NETDB_H
|
||||||
#include <resolv/netdb.h>
|
#include <resolv/netdb.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
/* Macros for accessing h_errno from inside libc. */
|
/* Macros for accessing h_errno from inside libc. */
|
||||||
# undef h_errno
|
# undef h_errno
|
||||||
# ifdef _LIBC_REENTRANT
|
# ifdef _LIBC_REENTRANT
|
||||||
@ -280,5 +281,6 @@ DECLARE_NSS_PROTOTYPES (nis)
|
|||||||
DECLARE_NSS_PROTOTYPES (nisplus)
|
DECLARE_NSS_PROTOTYPES (nisplus)
|
||||||
|
|
||||||
#undef DECLARE_NSS_PROTOTYPES
|
#undef DECLARE_NSS_PROTOTYPES
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* !_NETDB_H */
|
#endif /* !_NETDB_H */
|
||||||
|
@ -2,8 +2,10 @@
|
|||||||
|
|
||||||
#include <inet/netinet/in.h>
|
#include <inet/netinet/in.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
libc_hidden_proto (bindresvport)
|
libc_hidden_proto (bindresvport)
|
||||||
libc_hidden_proto (in6addr_loopback)
|
libc_hidden_proto (in6addr_loopback)
|
||||||
libc_hidden_proto (in6addr_any)
|
libc_hidden_proto (in6addr_any)
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
#include_next <pthread.h>
|
#include_next <pthread.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
/* This function is called to initialize the pthread library. */
|
/* This function is called to initialize the pthread library. */
|
||||||
extern void __pthread_initialize (void) __attribute__ ((weak));
|
extern void __pthread_initialize (void) __attribute__ ((weak));
|
||||||
|
#endif
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#ifndef _PWD_H
|
#ifndef _PWD_H
|
||||||
#include <pwd/pwd.h>
|
#include <pwd/pwd.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
/* Now define the internal interfaces. */
|
/* Now define the internal interfaces. */
|
||||||
extern int __getpwent_r (struct passwd *__resultbuf, char *__buffer,
|
extern int __getpwent_r (struct passwd *__resultbuf, char *__buffer,
|
||||||
size_t __buflen, struct passwd **__result)
|
size_t __buflen, struct passwd **__result)
|
||||||
@ -51,5 +52,6 @@ DECLARE_NSS_PROTOTYPES (nis)
|
|||||||
DECLARE_NSS_PROTOTYPES (nisplus)
|
DECLARE_NSS_PROTOTYPES (nisplus)
|
||||||
|
|
||||||
#undef DECLARE_NSS_PROTOTYPES
|
#undef DECLARE_NSS_PROTOTYPES
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#ifndef _REGEX_H
|
#ifndef _REGEX_H
|
||||||
#include <posix/regex.h>
|
#include <posix/regex.h>
|
||||||
|
|
||||||
|
#ifndef _ISOMAC
|
||||||
/* Document internal interfaces. */
|
/* Document internal interfaces. */
|
||||||
extern reg_syntax_t __re_set_syntax (reg_syntax_t syntax);
|
extern reg_syntax_t __re_set_syntax (reg_syntax_t syntax);
|
||||||
|
|
||||||
@ -41,3 +42,4 @@ extern size_t __regerror (int __errcode, const regex_t *__preg,
|
|||||||
|
|
||||||
extern void __regfree (regex_t *__preg);
|
extern void __regfree (regex_t *__preg);
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user