mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-19 13:40:59 +08:00
Update.
2000-02-27 Ulrich Drepper <drepper@redhat.com> * conform/conformtest.pl (@headers): Add wordexp.h, wctype.h, wchar.h, varargs.h, utmpx.h, utime.h, unistd.h, ulimit.h, ucontext.h, time.h, termios.h, tar.h, sys/wait.h, sys/uio.h, sys/types.h, sys/times.h, sys/timeb.h, sys/time.h, sys/statvfs.h, sys/stat.h, sys/shm.h, sys/sem.h, and sys/resource.h. Implement handling of allow-header. * conform/data/fcntl.h-data: Correct various bugs. * conform/data/fnmatch.h-data: Likewise. * conform/data/math.h-data: Likewise. * conform/data/ndbm.h-data: Likewise. * conform/data/nl_types.h-data: Likewise. * conform/data/poll.h-data: Likewise. * conform/data/pthread.h-data: Likewise. * conform/data/semaphore.h-data: Likewise. * conform/data/setjmp.h-data: Likewise. * conform/data/signal.h-data: Likewise. * conform/data/stdarg.h-data: Likewise. * conform/data/stddef.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/syslog.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/tar.h-data: New file. * conform/data/termios.h-data: New file. * conform/data/time.h-data: New file. * conform/data/ucontext.h-data: New file. * conform/data/ulimit.h-data: New file. * conform/data/unistd.h-data: New file. * conform/data/utime.h-data: New file. * conform/data/utmpx.h-data: New file. * conform/data/varargs.h-data: New file. * conform/data/wchar.h-data: New file. * conform/data/wctype.h-data: New file. * conform/data/wordexp.h-data: New file. * conform/data/sys/resource.h-data: New file. * conform/data/sys/sem.h-data: New file. * conform/data/sys/shm.h-data: New file. * conform/data/sys/stat.h-data: New file. * conform/data/sys/statvfs.h-data: New file. * conform/data/sys/time.h-data: New file. * conform/data/sys/timeb.h-data: New file. * conform/data/sys/times.h-data: New file. * conform/data/sys/types.h-data: New file. * conform/data/sys/uio.h-data: New file. * conform/data/sys/wait.h-data: New file. * grp/grp.h (getgrent_r): Declare only if __USE_GNU. * include/sys/time.h (__itimes): Fix type of second parameter. * io/sys/stat.h (S_IFLNK): Define also if __USE_XOPEN. (S_ISVTX): Likewise. * io/sys/statvfs.h: Define fsblkcnt_t and fsfilcnt_t. * locale/langindo.h: Make ERA_YEAR, INT_CURR_SYMBOL, CURRENCY_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, INT_FRAC_DIGITS, FRAC_DIGITS, P_CS_PRECEDES, P_SEP_BY_SPACE, N_CS_PRECEDES, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN, DECIMAL_POINT, THOUSANDS_SEP, GROUPING, YESEXPR, NOEXPR, YESSTR, and NOSTR only available if __USE_GNU. * math/bits/mathcalls.h: Don't declare tgamma and scalbn if only __USE_XOPEN. * posix/unistd.h: Don't define ptrdiff_t. (sbrk): Correct type of parameter. * sysdeps/generic/sbrk.c: Likewise. * sysdeps/mach/hurd/sbrk.c: Likewise. * posix/sys/types.h: Allow id_t, suseconds_t, fsblkcnt_t, and fsfilcnt_t being defined elsewhere. * resource/sys/resource.h: Define id_t. If __USE_XOPEN use int for type of first parameter if getrlimit, getrlimit64, setrlimit, setrlimit64, getrusage, getpriority, and setpriority. * sysdeps/generic/getpriority.c: Fix type of second parameter. * sysdeps/generic/setpriority.c: Likewise. * sysdeps/mach/hurd/getpriority.c: Likewise. * sysdeps/mach/hurd/setpriority.c: Likewise. * sysdeps/unix/sysv/irix4/getpriority.c: Likewise. * sysdeps/unix/sysv/irix4/setpriority.c: Likewise. * sysdeps/unix/sysv/linux/getpriority.c: Likewise. * sysdeps/generic/utimes.c: Fix parameter of third parameter. * sysdeps/mach/hurd/utimes.c: Likewise. * sysdeps/posix/utimes.c: Likewise. * sysdeps/generic/bits/shm.h: Define shmatt_t type and use it in struct shmid_ds definition. * sysdeps/gnu/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise. * sysvipc/sys/shm.h: Define time_t. * sysvipc/sys/sem.h (struct sembuf): Make sem_num field unsigned. * sysdeps/gnu/bits/sem.h: Rename anonymous type struct sem_queue and struct sem_undo to struct __sem_queue and struct __sem_undo resp. * time/time.h: Define suseconds_t if not already done. * sysdeps/unix/sysv/linux/bits/statvfs.h: Rename f_spare to __f_spare. * sysdeps/unix/sysv/linux/fstatvfs64.c: Likewise. * sysdeps/unix/sysv/linux/statvfs64.c: Likewise. * sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise. * intl/bindtextdom.c: Use rwlock to avoid surprising results in multithreaded applications. * intl/dcigettext.c: Likewise. * intl/textdomain.c: Likewise. * intl/*.c: Update copyright. * sysdeps/generic/bits/libc-lock.h: Define __libc_rwlock_* stubs. 2000-02-27 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/configure.in: Treat also "/usr/" as prefix especially. 2000-02-27 Ulrich Drepper <drepper@redhat.com> * po/de.po: Update from translation team. * po/ko.po: Likewise.
This commit is contained in:
parent
919e98fa39
commit
0ed99ce46d
134
ChangeLog
134
ChangeLog
@ -1,3 +1,137 @@
|
||||
2000-02-27 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* conform/conformtest.pl (@headers): Add wordexp.h, wctype.h, wchar.h,
|
||||
varargs.h, utmpx.h, utime.h, unistd.h, ulimit.h, ucontext.h, time.h,
|
||||
termios.h, tar.h, sys/wait.h, sys/uio.h, sys/types.h, sys/times.h,
|
||||
sys/timeb.h, sys/time.h, sys/statvfs.h, sys/stat.h, sys/shm.h,
|
||||
sys/sem.h, and sys/resource.h.
|
||||
Implement handling of allow-header.
|
||||
* conform/data/fcntl.h-data: Correct various bugs.
|
||||
* conform/data/fnmatch.h-data: Likewise.
|
||||
* conform/data/math.h-data: Likewise.
|
||||
* conform/data/ndbm.h-data: Likewise.
|
||||
* conform/data/nl_types.h-data: Likewise.
|
||||
* conform/data/poll.h-data: Likewise.
|
||||
* conform/data/pthread.h-data: Likewise.
|
||||
* conform/data/semaphore.h-data: Likewise.
|
||||
* conform/data/setjmp.h-data: Likewise.
|
||||
* conform/data/signal.h-data: Likewise.
|
||||
* conform/data/stdarg.h-data: Likewise.
|
||||
* conform/data/stddef.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/syslog.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/tar.h-data: New file.
|
||||
* conform/data/termios.h-data: New file.
|
||||
* conform/data/time.h-data: New file.
|
||||
* conform/data/ucontext.h-data: New file.
|
||||
* conform/data/ulimit.h-data: New file.
|
||||
* conform/data/unistd.h-data: New file.
|
||||
* conform/data/utime.h-data: New file.
|
||||
* conform/data/utmpx.h-data: New file.
|
||||
* conform/data/varargs.h-data: New file.
|
||||
* conform/data/wchar.h-data: New file.
|
||||
* conform/data/wctype.h-data: New file.
|
||||
* conform/data/wordexp.h-data: New file.
|
||||
* conform/data/sys/resource.h-data: New file.
|
||||
* conform/data/sys/sem.h-data: New file.
|
||||
* conform/data/sys/shm.h-data: New file.
|
||||
* conform/data/sys/stat.h-data: New file.
|
||||
* conform/data/sys/statvfs.h-data: New file.
|
||||
* conform/data/sys/time.h-data: New file.
|
||||
* conform/data/sys/timeb.h-data: New file.
|
||||
* conform/data/sys/times.h-data: New file.
|
||||
* conform/data/sys/types.h-data: New file.
|
||||
* conform/data/sys/uio.h-data: New file.
|
||||
* conform/data/sys/wait.h-data: New file.
|
||||
|
||||
* grp/grp.h (getgrent_r): Declare only if __USE_GNU.
|
||||
|
||||
* include/sys/time.h (__itimes): Fix type of second parameter.
|
||||
|
||||
* io/sys/stat.h (S_IFLNK): Define also if __USE_XOPEN.
|
||||
(S_ISVTX): Likewise.
|
||||
|
||||
* io/sys/statvfs.h: Define fsblkcnt_t and fsfilcnt_t.
|
||||
|
||||
* locale/langindo.h: Make ERA_YEAR, INT_CURR_SYMBOL, CURRENCY_SYMBOL,
|
||||
MON_DECIMAL_POINT, MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN,
|
||||
NEGATIVE_SIGN, INT_FRAC_DIGITS, FRAC_DIGITS, P_CS_PRECEDES,
|
||||
P_SEP_BY_SPACE, N_CS_PRECEDES, N_SEP_BY_SPACE, P_SIGN_POSN,
|
||||
N_SIGN_POSN, DECIMAL_POINT, THOUSANDS_SEP, GROUPING, YESEXPR,
|
||||
NOEXPR, YESSTR, and NOSTR only available if __USE_GNU.
|
||||
|
||||
* math/bits/mathcalls.h: Don't declare tgamma and scalbn if only
|
||||
__USE_XOPEN.
|
||||
|
||||
* posix/unistd.h: Don't define ptrdiff_t.
|
||||
(sbrk): Correct type of parameter.
|
||||
* sysdeps/generic/sbrk.c: Likewise.
|
||||
* sysdeps/mach/hurd/sbrk.c: Likewise.
|
||||
|
||||
* posix/sys/types.h: Allow id_t, suseconds_t, fsblkcnt_t, and
|
||||
fsfilcnt_t being defined elsewhere.
|
||||
|
||||
* resource/sys/resource.h: Define id_t.
|
||||
If __USE_XOPEN use int for type of first parameter if getrlimit,
|
||||
getrlimit64, setrlimit, setrlimit64, getrusage, getpriority, and
|
||||
setpriority.
|
||||
* sysdeps/generic/getpriority.c: Fix type of second parameter.
|
||||
* sysdeps/generic/setpriority.c: Likewise.
|
||||
* sysdeps/mach/hurd/getpriority.c: Likewise.
|
||||
* sysdeps/mach/hurd/setpriority.c: Likewise.
|
||||
* sysdeps/unix/sysv/irix4/getpriority.c: Likewise.
|
||||
* sysdeps/unix/sysv/irix4/setpriority.c: Likewise.
|
||||
* sysdeps/unix/sysv/linux/getpriority.c: Likewise.
|
||||
|
||||
* sysdeps/generic/utimes.c: Fix parameter of third parameter.
|
||||
* sysdeps/mach/hurd/utimes.c: Likewise.
|
||||
* sysdeps/posix/utimes.c: Likewise.
|
||||
|
||||
* sysdeps/generic/bits/shm.h: Define shmatt_t type and use it in
|
||||
struct shmid_ds definition.
|
||||
* sysdeps/gnu/bits/shm.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/bits/shm.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
|
||||
|
||||
* sysvipc/sys/shm.h: Define time_t.
|
||||
|
||||
* sysvipc/sys/sem.h (struct sembuf): Make sem_num field unsigned.
|
||||
|
||||
* sysdeps/gnu/bits/sem.h: Rename anonymous type struct sem_queue and
|
||||
struct sem_undo to struct __sem_queue and struct __sem_undo resp.
|
||||
|
||||
* time/time.h: Define suseconds_t if not already done.
|
||||
|
||||
* sysdeps/unix/sysv/linux/bits/statvfs.h: Rename f_spare to __f_spare.
|
||||
* sysdeps/unix/sysv/linux/fstatvfs64.c: Likewise.
|
||||
* sysdeps/unix/sysv/linux/statvfs64.c: Likewise.
|
||||
* sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise.
|
||||
|
||||
* intl/bindtextdom.c: Use rwlock to avoid surprising results in
|
||||
multithreaded applications.
|
||||
* intl/dcigettext.c: Likewise.
|
||||
* intl/textdomain.c: Likewise.
|
||||
* intl/*.c: Update copyright.
|
||||
* sysdeps/generic/bits/libc-lock.h: Define __libc_rwlock_* stubs.
|
||||
|
||||
2000-02-27 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* sysdeps/unix/sysv/linux/configure.in: Treat also "/usr/" as
|
||||
prefix especially.
|
||||
|
||||
2000-02-27 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* po/de.po: Update from translation team.
|
||||
* po/ko.po: Likewise.
|
||||
|
||||
2000-02-25 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* math/Versions: Move fe* function to GLIBC_2.2. The patches have
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* libc-internal interface for mutex locks. Stub version.
|
||||
Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -29,9 +29,11 @@
|
||||
begins with a `*'), because its storage size will not be known outside
|
||||
of libc. */
|
||||
#define __libc_lock_define(CLASS,NAME)
|
||||
#define __libc_rwlock_define(CLASS,NAME)
|
||||
|
||||
/* Define an initialized lock variable NAME with storage class CLASS. */
|
||||
#define __libc_lock_define_initialized(CLASS,NAME)
|
||||
#define __libc_rwlock_define_initialized(CLASS,NAME)
|
||||
|
||||
/* Define an initialized recursive lock variable NAME with storage
|
||||
class CLASS. */
|
||||
@ -40,6 +42,7 @@
|
||||
/* Initialize the named lock variable, leaving it in a consistent, unlocked
|
||||
state. */
|
||||
#define __libc_lock_init(NAME)
|
||||
#define __libc_rwlock_init(NAME)
|
||||
|
||||
/* Same as last but this time we initialize a recursive mutex. */
|
||||
#define __libc_lock_init_recursive(NAME)
|
||||
@ -48,24 +51,30 @@
|
||||
used again until __libc_lock_init is called again on it. This must be
|
||||
called on a lock variable before the containing storage is reused. */
|
||||
#define __libc_lock_fini(NAME)
|
||||
#define __libc_rwlock_fini(NAME)
|
||||
|
||||
/* Finalize recursive named lock. */
|
||||
#define __libc_lock_fini_recursive(NAME)
|
||||
|
||||
/* Lock the named lock variable. */
|
||||
#define __libc_lock_lock(NAME)
|
||||
#define __libc_rwlock_rdlock(NAME)
|
||||
#define __libc_rwlock_wrlock(NAME)
|
||||
|
||||
/* Lock the recursive named lock variable. */
|
||||
#define __libc_lock_lock_recursive(NAME)
|
||||
|
||||
/* Try to lock the named lock variable. */
|
||||
#define __libc_lock_trylock(NAME) 0
|
||||
#define __libc_rwlock_tryrdlock(NAME) 0
|
||||
#define __libc_rwlock_trywrlock(NAME) 0
|
||||
|
||||
/* Try to lock the recursive named lock variable. */
|
||||
#define __libc_lock_trylock_recursive(NAME) 0
|
||||
|
||||
/* Unlock the named lock variable. */
|
||||
#define __libc_lock_unlock(NAME)
|
||||
#define __libc_rwlock_unlock(NAME)
|
||||
|
||||
/* Unlock the recursive named lock variable. */
|
||||
#define __libc_lock_unlock_recursive(NAME)
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -20,7 +20,7 @@
|
||||
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <bits/types.h>
|
||||
|
||||
/* Flags for `shmat'. */
|
||||
#define SHM_RDONLY 010000 /* attach read-only else read-write */
|
||||
@ -32,6 +32,9 @@
|
||||
#define SHM_UNLOCK 12 /* unlock segment (root only) */
|
||||
|
||||
|
||||
/* Type to count number of attaches. */
|
||||
typedef unsigned short int shmatt_t;
|
||||
|
||||
/* Data structure describing a set of semaphores. */
|
||||
struct shmid_ds
|
||||
{
|
||||
@ -42,5 +45,5 @@ struct shmid_ds
|
||||
__time_t sem_ctime; /* time of last change by shmctl() */
|
||||
__pid_t shm_cpid; /* pid of creator */
|
||||
__pid_t shm_lpid; /* pid of last shmop */
|
||||
unsigned short int shm_nattch; /* number of current attaches */
|
||||
shmatt_t shm_nattch; /* number of current attaches */
|
||||
};
|
||||
|
@ -4,7 +4,12 @@ $CC = "gcc";
|
||||
$CFLAGS = "-I. '-D__attribute__(x)=' -D_XOPEN_SOURCE=500";
|
||||
|
||||
# List of the headers we are testing.
|
||||
@headers = ("sys/msg.h", "sys/mman.h", "sys/ipc.h", "syslog.h",
|
||||
@headers = ("wordexp.h", "wctype.h", "wchar.h", "varargs.h", "utmpx.h",
|
||||
"utime.h", "unistd.h", "ulimit.h", "ucontext.h", "time.h",
|
||||
"termios.h", "tar.h", "sys/wait.h", "sys/uio.h", "sys/types.h",
|
||||
"sys/times.h", "sys/timeb.h", "sys/time.h", "sys/statvfs.h",
|
||||
"sys/stat.h", "sys/shm.h", "sys/sem.h", "sys/resource.h",
|
||||
"sys/msg.h", "sys/mman.h", "sys/ipc.h", "syslog.h",
|
||||
"stropts.h", "strings.h", "string.h", "stdlib.h", "stdio.h",
|
||||
"stddef.h", "stdarg.h", "signal.h", "setjmp.h", "semaphore.h",
|
||||
"search.h", "sched.h", "regex.h", "pwd.h", "pthread.h",
|
||||
@ -240,6 +245,7 @@ while ($#headers >= 0) {
|
||||
my($fnamebase) = "$tmpdir/$hf-test";
|
||||
my($missing);
|
||||
my(@allow) = ();
|
||||
my(@allowheader) = ();
|
||||
my($prepend) = $mustprepend{$h};
|
||||
|
||||
printf ("Testing <$h>\n");
|
||||
@ -539,6 +545,10 @@ while ($#headers >= 0) {
|
||||
my($pattern) = $1;
|
||||
push @allow, $pattern;
|
||||
next control;
|
||||
} elsif (/^allow-header *(.*)/) {
|
||||
my($pattern) = $1;
|
||||
push @allowheader, $pattern;
|
||||
next control;
|
||||
} else {
|
||||
# printf ("line is `%s'\n", $_);
|
||||
next control;
|
||||
@ -548,6 +558,51 @@ while ($#headers >= 0) {
|
||||
}
|
||||
close (CONTROL);
|
||||
|
||||
# Read the data files for the header files which are allowed to be included.
|
||||
while ($#allowheader >= 0) {
|
||||
my($ah) = pop @allowheader;
|
||||
|
||||
open (ALLOW, "$CC -E -D$dialect - < data/$ah-data |");
|
||||
acontrol: while (<ALLOW>) {
|
||||
next acontrol if (/^#/);
|
||||
next acontrol if (/^[ ]*$/);
|
||||
|
||||
if (/^element *({([^}]*)}|([^ ]*)) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
|
||||
push @allow, $7;
|
||||
} elsif (/^constant *([a-zA-Z0-9_]*) *([A-Za-z0-9_]*)?/) {
|
||||
push @allow, $1;
|
||||
} elsif (/^typed-constant *([a-zA-Z0-9_]*) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*)?/) {
|
||||
push @allow, 1;
|
||||
} elsif (/^type *({([^}]*)|([a-zA-Z0-9_]*))/) {
|
||||
my($type) = "$2$3";
|
||||
|
||||
# Remember that this name is allowed.
|
||||
if ($type =~ /^struct *(.*)/) {
|
||||
push @allow, $1;
|
||||
} elsif ($type =~ /^union *(.*)/) {
|
||||
push @allow, $1;
|
||||
} else {
|
||||
push @allow, $type;
|
||||
}
|
||||
} elsif (/^function *({([^}]*)}|([a-zA-Z0-9_]*)) [(][*]([a-zA-Z0-9_]*) ([(].*[)])/) {
|
||||
push @allow, $4;
|
||||
} elsif (/^function *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
|
||||
push @allow, $4;
|
||||
} elsif (/^variable *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*)/) {
|
||||
push @allow, $4;
|
||||
} elsif (/^macro-function *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
|
||||
push @allow, $4;
|
||||
} elsif (/^macro *([^ ]*)/) {
|
||||
push @allow, $1;
|
||||
} elsif (/^allow *(.*)/) {
|
||||
push @allow, $1;
|
||||
} elsif (/^allow-header *(.*)/) {
|
||||
push @allowheader, $1;
|
||||
}
|
||||
}
|
||||
close (ALLOW);
|
||||
}
|
||||
|
||||
# Now check the namespace.
|
||||
printf (" Checking the namespace of \"%s\"... ", $h);
|
||||
if ($missing) {
|
||||
|
@ -50,6 +50,9 @@ function int open (const char*, int, ...)
|
||||
allow-header sys/stat.h
|
||||
allow-header unistd.h
|
||||
|
||||
allow *_t
|
||||
allow l_*
|
||||
allow F_*
|
||||
allow O_*
|
||||
allow S_*
|
||||
allow *_t
|
||||
#endif
|
||||
|
@ -7,5 +7,6 @@ constant FNM_NOSYS
|
||||
|
||||
function int fnmatch (const char*, const char*, int)
|
||||
|
||||
allow FNM_*
|
||||
allow *_t
|
||||
#endif
|
||||
|
@ -32,6 +32,7 @@ function double frexp (double, int*)
|
||||
function double ldexp (double, int)
|
||||
function double log (double)
|
||||
function double log10 (double)
|
||||
function double modf (double, double*)
|
||||
function double pow (double, double)
|
||||
function double sin (double)
|
||||
function double sinh (double)
|
||||
|
@ -22,5 +22,7 @@ function datum dbm_nextkey (DBM*)
|
||||
function {DBM*} dbm_open (const char*, int, mode_t)
|
||||
function int dbm_store (DBM*, datum, datum, int)
|
||||
|
||||
allow dbm_*
|
||||
allow DBM_*
|
||||
allow *_t
|
||||
#endif
|
||||
|
@ -9,5 +9,6 @@ function int catclose (nl_catd)
|
||||
function {char*} catgets (nl_catd, int, int, const char*)
|
||||
function nl_catd catopen (const char*, int)
|
||||
|
||||
allow NL_*
|
||||
allow *_t
|
||||
#endif
|
||||
|
@ -19,5 +19,9 @@ constant POLLNVAL
|
||||
|
||||
function int poll (struct pollfd[], nfsd_t, int)
|
||||
|
||||
allow pd_*
|
||||
allow ph_*
|
||||
allow ps_*
|
||||
allow POLL*
|
||||
allow *_t
|
||||
#endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
#ifdef ISO
|
||||
#ifndef ISO
|
||||
constant PTHREAD_CANCEL_ASYNCHRONOUS
|
||||
constant PTHREAD_CANCEL_ENABLE
|
||||
constant PTHREAD_CANCEL_DEFERRED
|
||||
|
@ -20,4 +20,5 @@ allow-header sys/types.h
|
||||
|
||||
allow sem_*
|
||||
allow SEM_*
|
||||
allow *_t
|
||||
#endif
|
||||
|
@ -18,3 +18,5 @@ macro-function int sigsetjmp (sigjmp_buf, int)
|
||||
macro-function int _setjmp (jmp_buf)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
allow *_t
|
||||
|
@ -189,3 +189,14 @@ allow SI_*
|
||||
allow sigev_*
|
||||
allow SIGEV_*
|
||||
allow sival_*
|
||||
allow SA_*
|
||||
allow BUS_*
|
||||
allow CLD_*
|
||||
allow FPE_*
|
||||
allow ILL_*
|
||||
allow POLL_*
|
||||
allow SEGV_*
|
||||
allow SS_*
|
||||
allow SV_*
|
||||
allow TRAP_*
|
||||
allow *_t
|
||||
|
@ -5,3 +5,5 @@ macro va_start
|
||||
macro va_arg
|
||||
macro va_end
|
||||
macro va_copy
|
||||
|
||||
allow *_t
|
||||
|
@ -6,3 +6,5 @@ type ptrdiff_t
|
||||
type wchar_t
|
||||
type size_t
|
||||
type wint_t
|
||||
|
||||
allow *_t
|
||||
|
@ -100,4 +100,6 @@ variable int optind
|
||||
variable int optopt
|
||||
|
||||
allow-header stddef.h
|
||||
|
||||
allow *_t
|
||||
#endif
|
||||
|
@ -83,3 +83,6 @@ allow-header stddef.h
|
||||
allow-header limits.h
|
||||
allow-header math.h
|
||||
allow-header sys/wait.h
|
||||
|
||||
allow str*
|
||||
allow *_t
|
||||
|
@ -29,3 +29,7 @@ function {char*} strtok_r (char*, const char*, char**)
|
||||
function size_t strxfrm (char*, const char*, size_t)
|
||||
|
||||
allow-header stddef.h
|
||||
|
||||
allow str*
|
||||
allow wcs*
|
||||
allow *_t
|
||||
|
@ -8,3 +8,5 @@ function int strcasecmp (const char*, const char*)
|
||||
function int strncasecmp (const char*, const char*, size_t)
|
||||
|
||||
type size_t
|
||||
|
||||
allow *_t
|
||||
|
@ -121,3 +121,17 @@ function int fattach (int, const char*)
|
||||
function int fdetach (const char*)
|
||||
|
||||
allow-header unistd.h
|
||||
|
||||
allow bi_*
|
||||
allow ic_*
|
||||
allow l_*
|
||||
allow sl_*
|
||||
allow str_*
|
||||
allow FLUSH*
|
||||
allow I_*
|
||||
allow M_*
|
||||
allow MUXID_R*
|
||||
allow S_*
|
||||
allow SND*
|
||||
allow STR*
|
||||
allow *_t
|
||||
|
@ -22,3 +22,7 @@ constant IPC_SET
|
||||
constant IPC_STAT
|
||||
|
||||
function key_t ftok (const char*, int)
|
||||
|
||||
allow ipc_*
|
||||
allow IPC_*
|
||||
allow *_t
|
||||
|
@ -30,3 +30,10 @@ function int munlockall (void)
|
||||
function int munmap (void*, size_t)
|
||||
function int shm_open (const char*, int, mode_t)
|
||||
function int shm_unlink (const char*)
|
||||
|
||||
allow shm_*
|
||||
allow MAP_*
|
||||
allow MCL_*
|
||||
allow MS_*
|
||||
allow PROT_*
|
||||
allow *_t
|
||||
|
@ -26,3 +26,7 @@ function ssize_t msgrcv (int, void*, size_t, long int, int)
|
||||
function int msgsnd (int, const void*, size_t, int)
|
||||
|
||||
allow-header sys/ipc.h
|
||||
|
||||
allow msg*
|
||||
allow MSG*
|
||||
allow *_h
|
||||
|
50
conform/data/sys/resource.h-data
Normal file
50
conform/data/sys/resource.h-data
Normal file
@ -0,0 +1,50 @@
|
||||
constant PRIO_PROCESS
|
||||
constant PRIO_PGRP
|
||||
constant PRIO_USER
|
||||
|
||||
type rlim_t
|
||||
|
||||
constant RLIM_INFINITY
|
||||
constant RLIM_SAVED_MAX
|
||||
constant RLIM_SAVED_CUR
|
||||
|
||||
constant RUSAGE_SELF
|
||||
constant RUSAGE_CHILDREN
|
||||
|
||||
type {struct rlimit}
|
||||
|
||||
element {struct rlimit} rlim_t rlim_cur
|
||||
element {struct rlimit} rlim_t rlim_max
|
||||
|
||||
type {struct rusage}
|
||||
|
||||
element {struct rusage} {struct timeval} ru_utime
|
||||
element {struct rusage} {struct timeval} ru_stime
|
||||
|
||||
type {struct timeval}
|
||||
|
||||
constant RLIMIT_CORE
|
||||
constant RLIMIT_CPU
|
||||
constant RLIMIT_DATA
|
||||
constant RLIMIT_FSIZE
|
||||
constant RLIMIT_NOFILE
|
||||
constant RLIMIT_STACK
|
||||
constant RLIMIT_AS
|
||||
|
||||
function int getpriority (int, id_t)
|
||||
function int getrlimit (int, struct rlimit*)
|
||||
function int getrusage (int, struct rusage*)
|
||||
function int setpriority (int, id_t, int)
|
||||
function int setrlimit (int, const struct rlimit*)
|
||||
|
||||
type id_t
|
||||
|
||||
allow-header sys/time.h
|
||||
|
||||
allow rlim_*
|
||||
allow ru_*
|
||||
allow PRIO_*
|
||||
allow RLIM_*
|
||||
allow RLIMIT_*
|
||||
allow RUSAGE_*
|
||||
allow *_t
|
37
conform/data/sys/sem.h-data
Normal file
37
conform/data/sys/sem.h-data
Normal file
@ -0,0 +1,37 @@
|
||||
constant SEM_UNDO
|
||||
|
||||
constant GETNCNT
|
||||
constant GETPID
|
||||
constant GETVAL
|
||||
constant GETALL
|
||||
constant GETZCNT
|
||||
constant SETVAL
|
||||
constant SETALL
|
||||
|
||||
type {struct semid_ds}
|
||||
|
||||
element {struct semid_ds} {struct ipc_perm} sem_perm
|
||||
element {struct semid_ds} {unsigned short int} sem_nsems
|
||||
element {struct semid_ds} time_t sem_otime
|
||||
element {struct semid_ds} time_t sem_ctime
|
||||
|
||||
type pid_t
|
||||
type time_t
|
||||
type key_t
|
||||
type size_t
|
||||
|
||||
type {struct sembuf}
|
||||
|
||||
element {struct sembuf} {unsigned short int} sem_num
|
||||
element {struct sembuf} {short int} sem_op
|
||||
element {struct sembuf} {short int} sem_flg
|
||||
|
||||
function int semctl (int, int, int, ...)
|
||||
function int semget (key_t, int, int)
|
||||
function int semop (int, struct sembuf*, size_t)
|
||||
|
||||
allow-header sys/ipc.h
|
||||
|
||||
allow sem*
|
||||
allow SEM_*
|
||||
allow *_t
|
32
conform/data/sys/shm.h-data
Normal file
32
conform/data/sys/shm.h-data
Normal file
@ -0,0 +1,32 @@
|
||||
constant SHM_RDONLY
|
||||
constant SHMLBA
|
||||
constant SHM_RND
|
||||
|
||||
type shmatt_t
|
||||
|
||||
type {struct shmid_ds}
|
||||
|
||||
element {struct shmid_ds} {struct ipc_perm} shm_perm
|
||||
element {struct shmid_ds} size_t shm_segsz
|
||||
element {struct shmid_ds} pid_t shm_lpid
|
||||
element {struct shmid_ds} pid_t shm_cpid
|
||||
element {struct shmid_ds} shmatt_t shm_nattch
|
||||
element {struct shmid_ds} time_t shm_atime
|
||||
element {struct shmid_ds} time_t shm_dtime
|
||||
element {struct shmid_ds} time_t shm_ctime
|
||||
|
||||
type pid_t
|
||||
type time_t
|
||||
type key_t
|
||||
type size_t
|
||||
|
||||
function {void*} shmat (int, const void*, int)
|
||||
function int shmctl (int, int, struct shmid_ds*)
|
||||
function int shmdt (const void*)
|
||||
function int shmget (key_t, size_t, int)
|
||||
|
||||
allow-header sys/ipc.h
|
||||
|
||||
allow shm*
|
||||
allow SHM*
|
||||
allow *_t
|
75
conform/data/sys/stat.h-data
Normal file
75
conform/data/sys/stat.h-data
Normal file
@ -0,0 +1,75 @@
|
||||
type {struct stat}
|
||||
|
||||
element {struct stat} dev_t st_dev
|
||||
element {struct stat} ino_t st_ino
|
||||
element {struct stat} mode_t st_mode
|
||||
element {struct stat} nlink_t st_nlink
|
||||
element {struct stat} uid_t st_uid
|
||||
element {struct stat} gid_t st_gid
|
||||
element {struct stat} dev_t st_rdev
|
||||
element {struct stat} off_t st_size
|
||||
element {struct stat} time_t st_atime
|
||||
element {struct stat} time_t st_mtime
|
||||
element {struct stat} time_t st_ctime
|
||||
element {struct stat} blksize_t st_blksize
|
||||
element {struct stat} blkcnt_t st_blocks
|
||||
|
||||
type blkcnt_t
|
||||
type blksize_t
|
||||
type dev_t
|
||||
type ino_t
|
||||
type mode_t
|
||||
type nlink_t
|
||||
type uid_t
|
||||
type gid_t
|
||||
type off_t
|
||||
type time_t
|
||||
|
||||
constant S_IFMT
|
||||
constant S_IFBLK
|
||||
constant S_IFCHR
|
||||
constant S_IFIFO
|
||||
constant S_IFREG
|
||||
constant S_IFDIR
|
||||
constant S_IFLNK
|
||||
|
||||
constant S_IRWXU
|
||||
constant S_IRUSR
|
||||
constant S_IWUSR
|
||||
constant S_IXUSR
|
||||
constant S_IRWXG
|
||||
constant S_IWGRP
|
||||
constant S_IXGRP
|
||||
constant S_IRWXO
|
||||
constant S_IROTH
|
||||
constant S_IWOTH
|
||||
constant S_IXOTH
|
||||
constant S_ISUID
|
||||
constant S_ISGID
|
||||
constant S_ISVTX
|
||||
|
||||
macro S_ISBLK
|
||||
macro S_ISCHR
|
||||
macro S_ISDIR
|
||||
macro S_ISFIFO
|
||||
macro S_ISREG
|
||||
macro S_ISLNK
|
||||
|
||||
# How to represent optional tests?
|
||||
# macro S_TYPEISMQ
|
||||
# macro S_TYPEISSEM
|
||||
# macro S_TYPEISSHM
|
||||
|
||||
function int chmod (const char*, mode_t)
|
||||
function int fchmod (int, mode_t)
|
||||
function int fstat (int, struct stat*)
|
||||
function int lstat (const char*, struct stat*)
|
||||
function int mkdir (const char*, mode_t)
|
||||
function int mkfifo (const char*, mode_t)
|
||||
function int mknod (const char*, mode_t, dev_t)
|
||||
function int stat (const char*, struct stat*)
|
||||
function mode_t umask (mode_t)
|
||||
|
||||
allow st_*
|
||||
allow S_*
|
||||
allow *_t
|
26
conform/data/sys/statvfs.h-data
Normal file
26
conform/data/sys/statvfs.h-data
Normal file
@ -0,0 +1,26 @@
|
||||
type {struct statvfs}
|
||||
|
||||
element {struct statvfs} {unsigned long} f_bsize
|
||||
element {struct statvfs} {unsigned long} f_frsize
|
||||
element {struct statvfs} fsblkcnt_t f_blocks
|
||||
element {struct statvfs} fsblkcnt_t f_bfree
|
||||
element {struct statvfs} fsblkcnt_t f_bavail
|
||||
element {struct statvfs} fsfilcnt_t f_files
|
||||
element {struct statvfs} fsfilcnt_t f_ffree
|
||||
element {struct statvfs} fsfilcnt_t f_favail
|
||||
element {struct statvfs} {unsigned long} f_fsid
|
||||
element {struct statvfs} {unsigned long} f_flag
|
||||
element {struct statvfs} {unsigned long} f_namemax
|
||||
|
||||
type fsblkcnt_t
|
||||
type fsfilcnt_t
|
||||
|
||||
constant ST_RDONLY
|
||||
constant ST_NOSUID
|
||||
|
||||
function int statvfs (const char*, struct statvfs*)
|
||||
function int fstatvfs (int, struct statvfs*)
|
||||
|
||||
allow f_*
|
||||
allow ST_*
|
||||
allow *_t
|
40
conform/data/sys/time.h-data
Normal file
40
conform/data/sys/time.h-data
Normal file
@ -0,0 +1,40 @@
|
||||
type {struct timeval}
|
||||
|
||||
element {struct timeval} time_t tv_sec
|
||||
element {struct timeval} suseconds_t tv_usec
|
||||
|
||||
type {struct itimerval}
|
||||
|
||||
element {struct itimerval} {struct timeval} it_interval
|
||||
element {struct itimerval} {struct timeval} it_value
|
||||
|
||||
type time_t
|
||||
type suseconds_t
|
||||
|
||||
type {struct fd_set}
|
||||
|
||||
element {struct fd_set} long fds_bits []
|
||||
|
||||
constant ITIMER_REAL
|
||||
constant ITIMER_VIRTUAL
|
||||
constant ITIMER_PROF
|
||||
|
||||
macro FD_CLR
|
||||
macro FD_ISSET
|
||||
macro FD_SET
|
||||
macro FD_ZERO
|
||||
|
||||
constant FD_SETSIZE
|
||||
|
||||
function int getitimer (int, struct itimerval*)
|
||||
function int setitimer (int, const struct itimerval*, struct itimerval*)
|
||||
function int gettimeofday (struct timeval*, void*)
|
||||
function int select (int, fd_set*, fd_set*, fd_set*, struct timeval*)
|
||||
function int utimes (const char*, const struct timeval [2])
|
||||
|
||||
allow fds_*
|
||||
allow it_*
|
||||
allow tv_*
|
||||
allow FD_*
|
||||
allow ITIMER_*
|
||||
allow *_t
|
12
conform/data/sys/timeb.h-data
Normal file
12
conform/data/sys/timeb.h-data
Normal file
@ -0,0 +1,12 @@
|
||||
type {struct timeb}
|
||||
|
||||
element {struct timeb} time_t time
|
||||
element {struct timeb} {unsigned short} millitm
|
||||
element {struct timeb} short timezone
|
||||
element {struct timeb} short dstflag
|
||||
|
||||
type time_t
|
||||
|
||||
function int ftime (struct timeb*)
|
||||
|
||||
allow *_t
|
13
conform/data/sys/times.h-data
Normal file
13
conform/data/sys/times.h-data
Normal file
@ -0,0 +1,13 @@
|
||||
type {struct tms}
|
||||
|
||||
element {struct tms} clock_t tms_utime
|
||||
element {struct tms} clock_t tms_stime
|
||||
element {struct tms} clock_t tms_cutime
|
||||
element {struct tms} clock_t tms_cstime
|
||||
|
||||
type clock_t
|
||||
|
||||
function clock_t times (struct tms*)
|
||||
|
||||
allow tms_*
|
||||
allow *_t
|
34
conform/data/sys/types.h-data
Normal file
34
conform/data/sys/types.h-data
Normal file
@ -0,0 +1,34 @@
|
||||
type blkcnt_t
|
||||
type blksize_t
|
||||
type clock_t
|
||||
type clockid_t
|
||||
type dev_t
|
||||
type fsblkcnt_t
|
||||
type fsfilcnt_t
|
||||
type gid_t
|
||||
type id_t
|
||||
type ino_t
|
||||
type key_t
|
||||
type mode_t
|
||||
type nlink_t
|
||||
type off_t
|
||||
type pid_t
|
||||
type pthread_attr_t
|
||||
type pthread_cond_t
|
||||
type pthread_condattr_t
|
||||
type pthread_key_t
|
||||
type pthread_mutex_t
|
||||
type pthread_mutexattr_t
|
||||
type pthread_once_t
|
||||
type pthread_rwlock_t
|
||||
type pthread_rwlockattr_t
|
||||
type pthread_t
|
||||
type size_t
|
||||
type ssize_t
|
||||
type suseconds_t
|
||||
type time_t
|
||||
type timer_t
|
||||
type uid_t
|
||||
type useconds_t
|
||||
|
||||
allow *_t
|
11
conform/data/sys/uio.h-data
Normal file
11
conform/data/sys/uio.h-data
Normal file
@ -0,0 +1,11 @@
|
||||
type {struct iovec}
|
||||
|
||||
element {struct iovec} {void*} iov_base
|
||||
element {struct iovec} size_t iov_len
|
||||
|
||||
function ssize_t readv (int, const struct iovec*, int)
|
||||
function ssize_t writev (int, const struct iovec*, int)
|
||||
|
||||
allow iov_*
|
||||
allow IOV_*
|
||||
allow *_t
|
64
conform/data/sys/wait.h-data
Normal file
64
conform/data/sys/wait.h-data
Normal file
@ -0,0 +1,64 @@
|
||||
constant WNOHANG
|
||||
constant WUNTRACED
|
||||
|
||||
macro WEXITSTATUS
|
||||
macro WIFCONTINUED
|
||||
macro WIFEXITED
|
||||
macro WIFSIGNALED
|
||||
macro WIFSTOPPED
|
||||
macro WSTOPSIG
|
||||
macro WTERMSIG
|
||||
|
||||
constant WEXITED
|
||||
constant WSTOPPED
|
||||
constant WCONTINUED
|
||||
constant WNOHANG
|
||||
constant WNOWAIT
|
||||
|
||||
type idtype_t
|
||||
|
||||
constant P_ALL
|
||||
constant P_PID
|
||||
constant P_PGID
|
||||
|
||||
type id_t
|
||||
|
||||
type siginfo_t
|
||||
|
||||
element siginfo_t int si_signo
|
||||
element siginfo_t int si_errno
|
||||
element siginfo_t int si_code
|
||||
element siginfo_t pid_t si_pid
|
||||
element siginfo_t uid_t si_uid
|
||||
element siginfo_t {void*} si_addr
|
||||
element siginfo_t int si_status
|
||||
element siginfo_t long si_band
|
||||
element siginfo_t {union sigval} si_value
|
||||
|
||||
type {struct rusage}
|
||||
|
||||
element {struct rusage} {struct timeval} ru_utime
|
||||
element {struct rusage} {struct timeval} ru_stime
|
||||
|
||||
type pid_t
|
||||
|
||||
function pid_t wait (int*)
|
||||
function pid_t wait3 (int*, int, struct rusage*)
|
||||
function int waitid (idtype_t, id_t, siginfo_t*, int)
|
||||
function pid_t waitpid (pid_t, int*, int)
|
||||
|
||||
allow-header signal.h
|
||||
allow-header sys/resource.h
|
||||
|
||||
allow si_*
|
||||
allow W*
|
||||
allow P_*
|
||||
allow BUS_
|
||||
allow CLD_
|
||||
allow FPE_
|
||||
allow ILL_
|
||||
allow POLL_
|
||||
allow SEGV_
|
||||
allow SI_
|
||||
allow TRAP_
|
||||
allow *_t
|
@ -37,3 +37,6 @@ function void closelog (void)
|
||||
function void openlog (const char*, int, int)
|
||||
function int setlogmask (int)
|
||||
function void syslog (int, const char*, ...)
|
||||
|
||||
allow LOG_*
|
||||
allow *_t
|
||||
|
29
conform/data/tar.h-data
Normal file
29
conform/data/tar.h-data
Normal file
@ -0,0 +1,29 @@
|
||||
constant TMAGIC
|
||||
constant TMAGLEN
|
||||
constant TVERSION
|
||||
constant TVERSLEN
|
||||
|
||||
constant REGTYPE
|
||||
constant AREGTYPE
|
||||
constant LNKTYPE
|
||||
constant SYMTYPE
|
||||
constant CHRTYPE
|
||||
constant BLKTYPE
|
||||
constant DIRTYPE
|
||||
constant FIFOTYPE
|
||||
constant CONTTYPE
|
||||
|
||||
constant TSUID
|
||||
constant TSGID
|
||||
constant TSVTX
|
||||
constant TUREAD
|
||||
constant TUWRITE
|
||||
constant TUEXEC
|
||||
constant TGREAD
|
||||
constant TGWRITE
|
||||
constant TGEXEC
|
||||
constant TOREAD
|
||||
constant TOWRITE
|
||||
constant TOEXEC
|
||||
|
||||
allow *_t
|
159
conform/data/termios.h-data
Normal file
159
conform/data/termios.h-data
Normal file
@ -0,0 +1,159 @@
|
||||
type cc_t
|
||||
type speed_t
|
||||
type tcflag_t
|
||||
|
||||
type {struct termios}
|
||||
|
||||
element {struct termios} tcflag_t c_iflag
|
||||
element {struct termios} tcflag_t c_oflag
|
||||
element {struct termios} tcflag_t c_cflag
|
||||
element {struct termios} tcflag_t c_lflag
|
||||
element {struct termios} cc_t c_cc[NCCS]
|
||||
|
||||
constant NCCS
|
||||
|
||||
constant VEOF
|
||||
constant VEOL
|
||||
constant VERASE
|
||||
constant VINTR
|
||||
constant VKILL
|
||||
constant VMIN
|
||||
constant VQUIT
|
||||
constant VSTART
|
||||
constant VSTOP
|
||||
constant VSUSP
|
||||
constant VTIME
|
||||
|
||||
constant BRKINT
|
||||
constant ICRNL
|
||||
constant IGNBRK
|
||||
constant IGNCR
|
||||
constant IGNPAR
|
||||
constant INLCR
|
||||
constant INPCK
|
||||
constant ISTRIP
|
||||
constant IUCLC
|
||||
constant IXANY
|
||||
constant IXOFF
|
||||
constant IXON
|
||||
constant PARMRK
|
||||
|
||||
constant OPOST
|
||||
constant OLCUC
|
||||
constant ONLCR
|
||||
constant OCRNL
|
||||
constant ONOCR
|
||||
constant ONLRET
|
||||
constant OFILL
|
||||
constant NLDLY
|
||||
constant NL0
|
||||
constant NL1
|
||||
constant CRDLY
|
||||
constant CR0
|
||||
constant CR1
|
||||
constant CR2
|
||||
constant CR3
|
||||
constant TABDLY
|
||||
constant TAB0
|
||||
constant TAB1
|
||||
constant TAB2
|
||||
constant TAB3
|
||||
constant BSDLY
|
||||
constant BS0
|
||||
constant BS1
|
||||
constant VTDLY
|
||||
constant VT0
|
||||
constant VT1
|
||||
constant FFDLY
|
||||
constant FF0
|
||||
constant FF1
|
||||
|
||||
constant B0
|
||||
constant B50
|
||||
constant B75
|
||||
constant B110
|
||||
constant B134
|
||||
constant B150
|
||||
constant B200
|
||||
constant B300
|
||||
constant B600
|
||||
constant B1200
|
||||
constant B1800
|
||||
constant B2400
|
||||
constant B4800
|
||||
constant B9600
|
||||
constant B19200
|
||||
constant B38400
|
||||
|
||||
constant CSIZE
|
||||
constant CS5
|
||||
constant CS6
|
||||
constant CS7
|
||||
constant CS8
|
||||
constant CSTOPB
|
||||
constant CREAD
|
||||
constant PARENB
|
||||
constant PARODD
|
||||
constant HUPCL
|
||||
constant CLOCAL
|
||||
|
||||
constant ECHO
|
||||
constant ECHOE
|
||||
constant ECHOK
|
||||
constant ECHONL
|
||||
constant ICANON
|
||||
constant IEXTEN
|
||||
constant ISIG
|
||||
constant NOFLSH
|
||||
constant TOSTOP
|
||||
constant XCASE
|
||||
|
||||
constant TCSANOW
|
||||
constant TCSADRAIN
|
||||
constant TCSAFLUSH
|
||||
|
||||
constant TCIFLUSH
|
||||
constant TCIOFLUSH
|
||||
|
||||
constant TCIOFF
|
||||
constant TCION
|
||||
constant TCOOFF
|
||||
constant TCOON
|
||||
|
||||
function speed_t cfgetispeed (const struct termios*)
|
||||
function speed_t cfgetospeed (const struct termios*)
|
||||
function int cfsetispeed (struct termios*, speed_t)
|
||||
function int cfsetospeed (struct termios*, speed_t)
|
||||
function int tcdrain (int)
|
||||
function int tcflow (int, int)
|
||||
function int tcflush (int, int)
|
||||
function int tcgetattr (int, struct termios*)
|
||||
function pid_t tcgetsid (int)
|
||||
function int tcsendbreak (int, int)
|
||||
function int tcsetattr (int, int, struct termios*)
|
||||
|
||||
allow CBAUD
|
||||
allow DEFECHO
|
||||
allow ECHOCTL
|
||||
allow ECHOKE
|
||||
allow ECHOPRT
|
||||
allow EXTA
|
||||
allow EXTB
|
||||
allow FLUSHO
|
||||
allow LOBLK
|
||||
allow PENDIN
|
||||
allow SWTCH
|
||||
allow VDISCARD
|
||||
allow VDSUSP
|
||||
allow VLNEXT
|
||||
allow VREPRINT
|
||||
allow VSTATUS
|
||||
allow VWERASE
|
||||
|
||||
allow c_*
|
||||
allow V*
|
||||
allow I*
|
||||
allow O*
|
||||
allow TC*
|
||||
allow B*
|
||||
allow *_t
|
75
conform/data/time.h-data
Normal file
75
conform/data/time.h-data
Normal file
@ -0,0 +1,75 @@
|
||||
type {struct tm}
|
||||
|
||||
element {struct tm} int tm_sec
|
||||
element {struct tm} int tm_min
|
||||
element {struct tm} int tm_hour
|
||||
element {struct tm} int tm_mday
|
||||
element {struct tm} int tm_mon
|
||||
element {struct tm} int tm_year
|
||||
element {struct tm} int tm_wday
|
||||
element {struct tm} int tm_yday
|
||||
element {struct tm} int tm_isdst
|
||||
|
||||
constant NULL
|
||||
constant CLK_TCK
|
||||
constant CLOCKS_PER_SEC
|
||||
|
||||
type {struct timespec}
|
||||
|
||||
element {struct timespec} time_t tv_sec
|
||||
element {struct timespec} long tv_nsec
|
||||
|
||||
type {struct itimerspec}
|
||||
|
||||
element {struct itimerspec} {struct timespec} it_interval
|
||||
element {struct itimerspec} {struct timespec} it_value
|
||||
|
||||
constant CLOCK_REALTIME
|
||||
constant TIME_ABSTIME
|
||||
|
||||
type clock_t
|
||||
type clockid_t
|
||||
type size_t
|
||||
type time_t
|
||||
type timer_t
|
||||
|
||||
variable int getdate_err
|
||||
|
||||
function {char*} asctime (const struct tm*)
|
||||
function {char*} asctime_r (const struct tm*, char*)
|
||||
function clock_t clock (void)
|
||||
function int clock_getres (clockid_t, struct timespec*)
|
||||
function int clock_gettime (clockid_t, 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 double difftime (time_t, time_t)
|
||||
function {struct tm*} getdate (const char*)
|
||||
function {struct tm*} gmtime (const time_t*)
|
||||
function {struct tm*} gmtime_t (const time_t*, struct tm*)
|
||||
function {struct tm*} localtime (const time_t*)
|
||||
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 size_t strftime (char*, size_t, const char*, const struct tm*)
|
||||
function {char*} strptime (const char*, const char*, struct tm*)
|
||||
function time_t time (time_t*)
|
||||
function int timer_create (clockid_t, struct sigevent*, timer_t*)
|
||||
function int timer_delete (timer_t)
|
||||
function int timer_gettime (timer_t, struct itimerspec*)
|
||||
function int timer_getoverrun (timer_t)
|
||||
function int timer_settime (timer_t, int, const struct itimerspec*, struct itimerspec*)
|
||||
function void tzset (void)
|
||||
|
||||
variable int daylight
|
||||
variable {long int} timezone
|
||||
# variable {char*} tzname []
|
||||
|
||||
allow tm_*
|
||||
allow clock_*
|
||||
allow timer_*
|
||||
allow it_*
|
||||
allow tv_*
|
||||
allow CLOCK_*
|
||||
allow TIMER_*
|
||||
allow *_t
|
20
conform/data/ucontext.h-data
Normal file
20
conform/data/ucontext.h-data
Normal file
@ -0,0 +1,20 @@
|
||||
type mcontext_t
|
||||
|
||||
type ucontext_t
|
||||
|
||||
element {struct ucontext_t} {ucontext_t*} uc_link
|
||||
element {struct ucontext_t} sigset_t uc_sigmask
|
||||
element {struct ucontext_t} stack_t uc_stack
|
||||
element {struct ucontext_t} mcontext_t uc_mcontext
|
||||
|
||||
type sigset_t
|
||||
type stack_t
|
||||
|
||||
function int getcontext (ucontext_t*)
|
||||
function int setcontext (const ucontext_t*)
|
||||
function void makecontext (ucontext_t*, void(*)(void), int, ...)
|
||||
function int swapcontext (ucontext_t*, const ucontext_t*)
|
||||
|
||||
allow uc_*
|
||||
allow SS_*
|
||||
allow *_t
|
7
conform/data/ulimit.h-data
Normal file
7
conform/data/ulimit.h-data
Normal file
@ -0,0 +1,7 @@
|
||||
constant UL_GETFSIZE
|
||||
constant UL_SETFSIZE
|
||||
|
||||
function {long int} ulimit (int, ...)
|
||||
|
||||
allow UL_*
|
||||
allow *_t
|
308
conform/data/unistd.h-data
Normal file
308
conform/data/unistd.h-data
Normal file
@ -0,0 +1,308 @@
|
||||
constant _POSIX_VERSION
|
||||
constant _POSIX2_VERSION
|
||||
constant _POSIX2_C_VERSION
|
||||
constant _XOPEN_VERSION
|
||||
constant _XOPEN_XCU_VERSION
|
||||
|
||||
constant _POSIX2_C_BIND
|
||||
constant _POSIX2_CHAR_TERM
|
||||
constant _POSIX2_LOCALDEF
|
||||
constant _POSIX2_UPE
|
||||
constant _POSIX2_VERSION
|
||||
|
||||
constant _XOPEN_XPG2
|
||||
constant _XOPEN_XPG3
|
||||
constant _XOPEN_XPG4
|
||||
constant _XOPEN_UNIX
|
||||
|
||||
constant _POSIX_CHOWN_RESTRICTED
|
||||
constant _POSIX_NO_TRUNC
|
||||
constant _POSIX_VDISABLE
|
||||
constant _POSIX_SAVED_IDS
|
||||
constant _POSIX_JOB_CONTROL
|
||||
|
||||
constant _POSIX_THREADS
|
||||
constant _POSIX_THREAD_ATTR_STACKADDR
|
||||
constant _POSIX_THREAD_ATTR_STACKSIZE
|
||||
constant _POSIX_THREAD_PROCESS_SHARED
|
||||
constant _POSIX_THREAD_SAFE_FUNCTIONS
|
||||
|
||||
constant _POSIX2_C_DEV
|
||||
constant _POSIX2_FORT_DEV
|
||||
constant _POSIX2_FORT_RUN
|
||||
constant _POSIX2_SW_DEV
|
||||
constant _XOPEN_CRYPT
|
||||
constant _XOPEN_ENH_I18N
|
||||
constant _XOPEN_LEGACY
|
||||
constant _XOPEN_REALTIME
|
||||
constant _XOPEN_REALTIME_THREADS
|
||||
constant _XOPEN_SHM
|
||||
allow _XBS5_ILP32_OFF32
|
||||
allow _XBS5_ILP32_OFBIG
|
||||
allow _XBS5_LP64_OFF64
|
||||
allow _XBS5_LPBIG_OFFBIG
|
||||
constant _POSIX_ASYNCHRONOUS_IO
|
||||
constant _POSIX_MEMLOCK
|
||||
constant _POSIX_MEMLOCK_RANGE
|
||||
constant _POSIX_MESSAGE_PASSING
|
||||
constant _POSIX_PRIORITY_SCHEDULING
|
||||
constant _POSIX_REALTIME_SIGNALS
|
||||
constant _POSIX_SEMAPHORES
|
||||
constant _POSIX_SHARED_MEMORY_OBJECTS
|
||||
constant _POSIX_SYNCHRONIZED_IO
|
||||
constant _POSIX_TIMERS
|
||||
|
||||
constant _POSIX_FSYNC
|
||||
constant _POSIX_MAPPED_FILES
|
||||
constant _POSIX_MEMORY_PROTECTION
|
||||
|
||||
constant _POSIX_PRIORITIZED_IO
|
||||
|
||||
constant _POSIX_THREAD_PRIORITY_SCHEDULING
|
||||
constant _POSIX_THREAD_PRIO_INHERIT
|
||||
constant _POSIX_THREAD_PRIO_PROTECT
|
||||
|
||||
constant _POSIX_ASYNC_IO
|
||||
constant _POSIX_PRIO_IO
|
||||
constant _POSIX_SYNC_IO
|
||||
|
||||
constant NULL
|
||||
|
||||
constant R_OK
|
||||
constant W_OK
|
||||
constant X_OK
|
||||
constant F_OK
|
||||
|
||||
constant _CS_PATH
|
||||
constant _CS_XBS5_ILP32_OFF32_CFLAGS
|
||||
constant _CS_XBS5_ILP32_OFF32_LDFLAGS
|
||||
constant _CS_XBS5_ILP32_OFF32_LIBS
|
||||
constant _CS_XBS5_ILP32_OFF32_LINTFLAGS
|
||||
constant _CS_XBS5_ILP32_OFFBIG_CFLAGS
|
||||
constant _CS_XBS5_ILP32_OFFBIG_LDFLAGS
|
||||
constant _CS_XBS5_ILP32_OFFBIG_LIBS
|
||||
constant _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
|
||||
constant _CS_XBS5_LP64_OFF64_CFLAGS
|
||||
constant _CS_XBS5_LP64_OFF64_LDFLAGS
|
||||
constant _CS_XBS5_LP64_OFF64_LIBS
|
||||
constant _CS_XBS5_LP64_OFF64_LINTFLAGS
|
||||
constant _CS_XBS5_LPBIG_OFFBIG_CFLAGS
|
||||
constant _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
|
||||
constant _CS_XBS5_LPBIG_OFFBIG_LIBS
|
||||
constant _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
|
||||
|
||||
constant SEEK_SET
|
||||
constant SEEK_CUR
|
||||
constant SEEK_END
|
||||
|
||||
constant _SC_2_C_BIND
|
||||
constant _SC_2_C_DEV
|
||||
constant _SC_2_C_VERSION
|
||||
constant _SC_2_FORT_DEV
|
||||
constant _SC_2_FORT_RUN
|
||||
constant _SC_2_LOCALEDEF
|
||||
constant _SC_2_SW_DEV
|
||||
constant _SC_2_UPE
|
||||
constant _SC_2_VERSION
|
||||
constant _SC_ARG_MAX
|
||||
constant _SC_AIO_LISTIO_MAX
|
||||
constant _SC_AIO_MAX
|
||||
constant _SC_AIO_PRIO_DELTA_MAX
|
||||
constant _SC_ASYNCHRONOUS_IO
|
||||
constant _SC_ATEXIT_MAX
|
||||
constant _SC_BC_BASE_MAX
|
||||
constant _SC_BC_DIM_MAX
|
||||
constant _SC_BC_SCALE_MAX
|
||||
constant _SC_BC_STRING_MAX
|
||||
constant _SC_CHILD_MAX
|
||||
constant _SC_CLK_TCK
|
||||
constant _SC_COLL_WEIGHTS_MAX
|
||||
constant _SC_DELAYTIMER_MAX
|
||||
constant _SC_EXPR_NEST_MAX
|
||||
constant _SC_FSYNC
|
||||
constant _SC_GETGR_R_SIZE_MAX
|
||||
constant _SC_GETPW_R_SIZE_MAX
|
||||
constant _SC_IOV_MAX
|
||||
constant _SC_JOB_CONTROL
|
||||
constant _SC_LINE_MAX
|
||||
constant _SC_LOGIN_NAME_MAX
|
||||
constant _SC_MAPPED_FILES
|
||||
constant _SC_MEMLOCK
|
||||
constant _SC_MEMLOCK_RANGE
|
||||
constant _SC_MQ_OPEN_MAX
|
||||
constant _SC_MQ_PRIO_MAX
|
||||
constant _SC_NGROUPS_MAX
|
||||
constant _SC_OPEN_MAX
|
||||
constant _SC_PAGESIZE
|
||||
constant _SC_PAGE_SIZE
|
||||
constant _SC_PASS_MAX
|
||||
constant _SC_PRIORITIZED_IO
|
||||
constant _SC_PRIORITY_SCHEDULING
|
||||
constant _SC_RE_DUP_MAX
|
||||
constant _SC_REALTIME_SIGNALS
|
||||
constant _SC_RTSIG_MAX
|
||||
constant _SC_SAVED_IDS
|
||||
constant _SC_SEMAPHORES
|
||||
constant _SC_SEM_NSEMS_MAX
|
||||
constant _SC_SEM_VALUE_MAX
|
||||
constant _SC_SHARED_MEMORY_OBJECTS
|
||||
constant _SC_SIGQUEUE_MAX
|
||||
constant _SC_STREAM_MAX
|
||||
constant _SC_SYNCHRONIZED_IO
|
||||
constant _SC_THREADS
|
||||
constant _SC_THREAD_ATTR_STACKADDR
|
||||
constant _SC_THREAD_ATTR_STACKSIZE
|
||||
constant _SC_THREAD_DESTRUCTOR_ITERATIONS
|
||||
constant _SC_THREAD_KEYS_MAX
|
||||
constant _SC_THREAD_PRIORITY_SCHEDULING
|
||||
constant _SC_THREAD_PRIO_INHERIT
|
||||
constant _SC_THREAD_PRIO_PROTECT
|
||||
constant _SC_THREAD_PROCESS_SHARED
|
||||
constant _SC_THREAD_SAFE_FUNCTIONS
|
||||
constant _SC_THREAD_STACK_MIN
|
||||
constant _SC_THREAD_THREADS_MAX
|
||||
constant _SC_TIMERS
|
||||
constant _SC_TIMER_MAX
|
||||
constant _SC_TTY_NAME_MAX
|
||||
constant _SC_TZNAME_MAX
|
||||
constant _SC_VERSION
|
||||
constant _SC_XOPEN_VERSION
|
||||
constant _SC_XOPEN_CRYPT
|
||||
constant _SC_XOPEN_ENH_I18N
|
||||
constant _SC_XOPEN_SHM
|
||||
constant _SC_XOPEN_UNIX
|
||||
constant _SC_XOPEN_XCU_VERSION
|
||||
constant _SC_XOPEN_LEGACY
|
||||
constant _SC_XOPEN_REALTIME
|
||||
constant _SC_XOPEN_REALTIME_THREADS
|
||||
constant _SC_XBS5_ILP32_OFF32
|
||||
constant _SC_XBS5_ILP32_OFFBIG
|
||||
constant _SC_XBS5_ILP64_OFF64
|
||||
constant _SC_XBS5_ILPIBIG_OFFBIG
|
||||
|
||||
constant F_LOCK
|
||||
constant F_ULOCK
|
||||
constant F_TEST
|
||||
constant F_TLOCK
|
||||
|
||||
constant _PC_ASYNC_IO
|
||||
constant _PC_CHOWN_RESTRICTED
|
||||
constant _PC_FILESIZEBITS
|
||||
constant _PC_LINK_MAX
|
||||
constant _PC_MAX_CANON
|
||||
constant _PC_MAX_INPUT
|
||||
constant _PC_NAME_MAX
|
||||
constant _PC_NO_TRUNC
|
||||
constant _PC_PATH_MAX
|
||||
constant _PC_PIPE_BUF
|
||||
constant _PC_PRIO_IO
|
||||
constant _PC_SYNC_IO
|
||||
constant _PC_VDISABLE
|
||||
|
||||
constant STDIN_FILENO
|
||||
constant STDOUT_FILENO
|
||||
constant STDERR_FILENO
|
||||
|
||||
type size_t
|
||||
type ssize_t
|
||||
type uid_t
|
||||
type gid_t
|
||||
type uid_t
|
||||
type pid_t
|
||||
|
||||
type useconds_t
|
||||
|
||||
type intptr_t
|
||||
|
||||
function int access (const char*, int)
|
||||
function {unsigned int} alarm (unsigned int)
|
||||
function int brk (void*)
|
||||
function int chdir (const char*)
|
||||
function int chroot (const char*)
|
||||
function int chown (const char*, uid_t, gid_t)
|
||||
function int close (int)
|
||||
function size_t confstr (int, char*, size_t)
|
||||
function {char*} crypt (const char*, const char*)
|
||||
function {char*} ctermid (char*)
|
||||
function {char*} cuserid (char*)
|
||||
function int dup (int)
|
||||
function int dup2 (int, int)
|
||||
function void encrypt (char[64], int)
|
||||
function int execl (const char*, const char*, ...)
|
||||
function int execle (const char*, const char*, ...)
|
||||
function int execlp (const char*, const char*, ...)
|
||||
function int execv (const char*, char *const[])
|
||||
function int execve (const char*, char *const[])
|
||||
function int execvp (const char*, char *const[])
|
||||
function void _exit (int)
|
||||
function int fchown (int, uid_t, gid_t)
|
||||
function int fchdir (int)
|
||||
function int fdatasync (int)
|
||||
function pid_t fork (void)
|
||||
function {long int} fpathconf (int, int)
|
||||
function int fsync (int)
|
||||
function int ftruncate (int, off_t)
|
||||
function {char*} getcwd (char*, size_t)
|
||||
function int getdtablesize (void)
|
||||
function gid_t getegid (void)
|
||||
function uid_t geteuid (void)
|
||||
function gid_t getgid (void)
|
||||
function int getgroups (int, gid_t[])
|
||||
function long gethostid (void)
|
||||
function {char*} getlogin (void)
|
||||
function int getlogin_r (char*, size_t)
|
||||
function int getopt (int, char*const[], const char*)
|
||||
function int getpagesize (void)
|
||||
function {char*} getpass (const char*)
|
||||
function pid_t getpgid (pid_t)
|
||||
function pid_t getpgrp (void)
|
||||
function pid_t getpid (void)
|
||||
function pid_t getppid (void)
|
||||
function pid_t getsid (void)
|
||||
function uid_t getuid (void)
|
||||
function {char*} getwd (char*)
|
||||
function int isatty (int)
|
||||
function int lchown (const char*, uid_t, gid_t)
|
||||
function int link (const char*, const char*)
|
||||
function int lockf (int, int, off_t)
|
||||
function off_t lseek (int, off_t, int)
|
||||
function int nice (int)
|
||||
function {long int} pathconf (const char*, int)
|
||||
function int pause (void)
|
||||
function int pipe (int[2])
|
||||
function ssize_t pread (int, void*, size_t, off_t)
|
||||
function int pthread_atfork (void(*)(void), void(*)(void), void(*)(void))
|
||||
function ssize_t pwrite (int, const void*, size_t, off_t)
|
||||
function ssize_t read (int, void*, size_t)
|
||||
function int readlink (const char*, char*, size_t)
|
||||
function int rmdir (const char*)
|
||||
function {void*} sbrk (intptr_t)
|
||||
function int setgid (gid_t)
|
||||
function int setpgid (pid_t, pid_t)
|
||||
function pid_t setpgrp (void)
|
||||
function int setregid (gid_t, gid_t)
|
||||
function int setreuid (uid_t, uid_t)
|
||||
function pid_t setsid (void)
|
||||
function int setuid (uid_t)
|
||||
function {unsigned int} sleep (unsigned int)
|
||||
function void swab (const char*, void*, ssize_t)
|
||||
function int symlink (const char*, const char*)
|
||||
function void sync (void)
|
||||
function {long int} sysconf (int)
|
||||
function pid_t tcgetpgrp (int)
|
||||
function int tcsetpgrp (int, pid_t)
|
||||
function int truncate (const char*, off_t)
|
||||
function {char*} ttyname (int)
|
||||
function int ttyname_r (int, char*, size_t)
|
||||
function useconds_t ualarm (useconds_t, useconds_t)
|
||||
function int unlink (const char*)
|
||||
function int usleep (useconds_t)
|
||||
function pid_t vfork (void)
|
||||
function ssize_t write (int, const void*, size_t)
|
||||
|
||||
variable {char*} optarg
|
||||
variable int optind
|
||||
variable int opterr
|
||||
variable int optopt
|
||||
|
||||
allow *_t
|
11
conform/data/utime.h-data
Normal file
11
conform/data/utime.h-data
Normal file
@ -0,0 +1,11 @@
|
||||
type {struct utimbuf}
|
||||
|
||||
element {struct utimbuf} time_t actime
|
||||
element {struct utimbuf} time_t modtime
|
||||
|
||||
type time_t
|
||||
|
||||
function int utime (const char*, const struct utimbuf*)
|
||||
|
||||
allow utim_*
|
||||
allow *_t
|
36
conform/data/utmpx.h-data
Normal file
36
conform/data/utmpx.h-data
Normal file
@ -0,0 +1,36 @@
|
||||
type {struct utmpx}
|
||||
|
||||
element {struct utmpx} char ut_user []
|
||||
element {struct utmpx} char ut_id []
|
||||
element {struct utmpx} char ut_line []
|
||||
element {struct utmpx} pid_t ut_pid
|
||||
element {struct utmpx} {short int} ut_type
|
||||
element {struct utmpx} {struct timeval} ut_tv
|
||||
|
||||
type pid_t
|
||||
|
||||
type {struct timeval}
|
||||
|
||||
element {struct timeval} time_t tv_sec
|
||||
element {struct timeval} suseconds_t tv_usec
|
||||
|
||||
constant EMPTY
|
||||
constant BOOT_TIME
|
||||
constant OLD_TIME
|
||||
constant NEW_TIME
|
||||
constant USER_PROCESS
|
||||
constant INIT_PROCESS
|
||||
constant LOGIN_PROCESS
|
||||
constant DEAD_PROCESS
|
||||
|
||||
function void endutxent (void)
|
||||
function {struct utmpx*} getutxent (void)
|
||||
function {struct utmpx*} getutxid (const struct utmpx*)
|
||||
function {struct utmpx*} getutxline (const struct utmpx*)
|
||||
function {struct utmpx*} pututxline (const struct utmpx*)
|
||||
function void setutxent (void)
|
||||
|
||||
allow-header sys/time.h
|
||||
|
||||
allow ut_*
|
||||
allow *_t
|
8
conform/data/varargs.h-data
Normal file
8
conform/data/varargs.h-data
Normal file
@ -0,0 +1,8 @@
|
||||
macro va_alist
|
||||
macro va_dcl
|
||||
type va_list
|
||||
macro va_start
|
||||
macro va_arg
|
||||
macro va_end
|
||||
|
||||
allow *_t
|
95
conform/data/wchar.h-data
Normal file
95
conform/data/wchar.h-data
Normal file
@ -0,0 +1,95 @@
|
||||
type wchar_t
|
||||
type wint_t
|
||||
type wctype_t
|
||||
type mbstate_t
|
||||
type FILE
|
||||
type size_t
|
||||
|
||||
function wint_t btowc (int)
|
||||
function int fwprintf (FILE*, const wchar_t*, ...)
|
||||
function int fwscanf (FILE*, const wchar_t*, ...)
|
||||
#if !ISO
|
||||
function int iswalnum (wint_t)
|
||||
function int iswalpha (wint_t)
|
||||
function int iswcntrl (wint_t)
|
||||
function int iswdigit (wint_t)
|
||||
function int iswgraph (wint_t)
|
||||
function int iswlower (wint_t)
|
||||
function int iswprint (wint_t)
|
||||
function int iswpunct (wint_t)
|
||||
function int iswspace (wint_t)
|
||||
function int iswupper (wint_t)
|
||||
function int iswxdigit (wint_t)
|
||||
function int iswctype (wint_t, wctype_t)
|
||||
#endif
|
||||
function wint_t fgetwc (FILE*)
|
||||
function {wchar_t*} fgetws (wchar_t*, int, FILE*)
|
||||
function wint_t fputwc (wchar_t, FILE*)
|
||||
function int fputws (const wchar_t*, FILE*)
|
||||
function int fwide (FILE*, int)
|
||||
function wint_t getwc (FILE*)
|
||||
function wint_t getwchar (void)
|
||||
function int mbsinit (const mbstate_t*)
|
||||
function size_t mbrlen (const char*, size_t, mbstate_t*)
|
||||
function size_t mbrtowc (wchar_t*, const char*, size_t, mbstate_*)
|
||||
function size_t mbsrtowcs (wchar_t*, const char**, size_t, mbstate_t*)
|
||||
function wint_t putwc (wchar_t, FILE*)
|
||||
function wint_t putwchar (wchar_t)
|
||||
function int swprintf (wchar_t*, size_t, const wchar_t*, ...)
|
||||
function int swscanf (const wchar_t*, const wchar_t*, ...)
|
||||
function wint_t towlower (wint_t)
|
||||
function wint_t towupper (wint_t)
|
||||
function wint_t ungetwc (wint_t, FILE*)
|
||||
function int vfwprintf (FILE, const wchar_t*, va_list)
|
||||
function int vwprintf (const wchar_t*, va_list)
|
||||
function int vswprintf (wchar_t*, size_t, const wchar_t*, va_list)
|
||||
function size_t wcrtomb (char*, wchar_t, mbstate_t*)
|
||||
function {wchar_t*} wcscat (wchar_t*, const wchar_t*)
|
||||
function {wchar_t*} wcschr (const wchar_t*, wchar_t)
|
||||
function int wcscmp (const wchar_t*, const wchar_t*)
|
||||
function int wcscoll (const 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 wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*)
|
||||
function size_t wcslen (const wchar_t*)
|
||||
function {wchar_t*} wcsncat (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*} wcspbrk (const wchar_t*, const 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 wcsspn (const wchar_t*, const wchar_t*)
|
||||
function {wchar_t*} wcsstr (const wchar_t*, const wchar_t*)
|
||||
function double wcstod (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 {unsigned long int} wcstoul (const wchar_t*, wchar_t**, int)
|
||||
function {wchar_t*} wcswcs (const wchar_t*, const wchar_t*)
|
||||
function int wcswidth (const wchar_t*, size_t)
|
||||
function size_t wcsxfrm (wchar_t*, const wchar_t*, size_t)
|
||||
function int wctob (wint_t)
|
||||
function wctype_t wctype (const char*)
|
||||
function int wcwidth (wchar_t)
|
||||
function {wchar_t*} wmemchr (const wchar_t*, 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*} wmemmove (wchar_t*, const wchar_t*, size_t)
|
||||
function {wchar_t*} wmemset (wchar_t*, wchar_t, size_t)
|
||||
function int wprintf (const wchar_t*, ...)
|
||||
function int wscanf (const wchar_t*, ...)
|
||||
|
||||
macro WCHAR_MAX
|
||||
macro WCHAR_MIN
|
||||
macro WEOF
|
||||
macro NULL
|
||||
|
||||
allow-header ctype.h
|
||||
allow-header stdio.h
|
||||
allow-header stdarg.h
|
||||
allow-header stdlib.h
|
||||
allow-header string.h
|
||||
allow-header stddef.h
|
||||
allow-header time.h
|
||||
|
||||
allow wcs*
|
||||
allow *_t
|
36
conform/data/wctype.h-data
Normal file
36
conform/data/wctype.h-data
Normal file
@ -0,0 +1,36 @@
|
||||
type wint_t
|
||||
type wctrans_t
|
||||
type wctype_t
|
||||
|
||||
function int iswalnum (wint_t)
|
||||
function int iswalpha (wint_t)
|
||||
function int iswcntrl (wint_t)
|
||||
function int iswdigit (wint_t)
|
||||
function int iswgraph (wint_t)
|
||||
function int iswlower (wint_t)
|
||||
function int iswprint (wint_t)
|
||||
function int iswpunct (wint_t)
|
||||
function int iswspace (wint_t)
|
||||
function int iswupper (wint_t)
|
||||
function int iswxdigit (wint_t)
|
||||
function int iswctype (wint_t, wctype_t)
|
||||
function wint_t towctrans (wint_t, wctrans_t)
|
||||
function wint_t towlower (wint_t)
|
||||
function wint_t towupper (wint_t)
|
||||
function wctrans_t wctrans (const char*)
|
||||
function wctype_t wctype (const char*)
|
||||
|
||||
macro WEOF
|
||||
|
||||
allow-header ctype.h
|
||||
allow-header stdio.h
|
||||
allow-header stdarg.h
|
||||
allow-header stdlib.h
|
||||
allow-header string.h
|
||||
allow-header stddef.h
|
||||
allow-header time.h
|
||||
allow-header wchar.h
|
||||
|
||||
allow is*
|
||||
allow to*
|
||||
allow *_t
|
25
conform/data/wordexp.h-data
Normal file
25
conform/data/wordexp.h-data
Normal file
@ -0,0 +1,25 @@
|
||||
type wordexp_t
|
||||
|
||||
element wordexp_t size_t we_wordc
|
||||
element wordexp_t {char**} we_wordv
|
||||
element wordexp_t size_t we_offs
|
||||
|
||||
constant WRDE_APPEND
|
||||
constant WRDE_DOOFS
|
||||
constant WRDE_NOCMD
|
||||
constant WRDE_REUSE
|
||||
constant WRDE_SHOWERR
|
||||
constant WRDE_UNDEF
|
||||
|
||||
constant WRDE_BADCHAR
|
||||
constant WRDE_CMDSUB
|
||||
constant WRDE_NOSPACE
|
||||
constant WRDE_NOSYS
|
||||
constant WRDE_SYNTAX
|
||||
|
||||
function int wordexp (const char*, wordexp_t*, int)
|
||||
function void wordfree (wordexp_t*)
|
||||
|
||||
allow WRDE_*
|
||||
allow we_*
|
||||
allow *_t
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 92, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991,92,95,96,97,98,99,2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -99,7 +99,7 @@ extern struct group *getgrnam (__const char *__name) __THROW;
|
||||
other reentrant functions so the chances are good this is what the
|
||||
POSIX people would choose. */
|
||||
|
||||
# if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED
|
||||
# ifdef __USE_GNU
|
||||
extern int getgrent_r (struct group *__restrict __resultbuf,
|
||||
char *__restrict __buffer, size_t __buflen,
|
||||
struct group **__restrict __result) __THROW;
|
||||
|
@ -13,5 +13,5 @@ extern int __getitimer (enum __itimer_which __which,
|
||||
extern int __setitimer (enum __itimer_which __which,
|
||||
__const struct itimerval *__new,
|
||||
struct itimerval *__old);
|
||||
extern int __utimes (__const char *__file, struct timeval __tvp[2]);
|
||||
extern int __utimes (__const char *__file, const struct timeval __tvp[2]);
|
||||
#endif
|
||||
|
@ -1,8 +1,5 @@
|
||||
/* Implementation of the bindtextdomain(3) function
|
||||
Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
@ -50,6 +47,16 @@ void free ();
|
||||
#include "gettext.h"
|
||||
#include "gettextP.h"
|
||||
|
||||
#ifdef _LIBC
|
||||
/* We have to handle multi-threaded applications. */
|
||||
# include <bits/libc-lock.h>
|
||||
#else
|
||||
/* Provide dummy implementation if this is outside glibc. */
|
||||
# define __libc_lock_define_initialized (CLASS, NAME)
|
||||
# define __libc_lock_lock(NAME)
|
||||
# define __libc_lock_unlock(NAME)
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
/* Contains the default location of the message catalogs. */
|
||||
@ -58,6 +65,9 @@ extern const char _nl_default_dirname[];
|
||||
/* List with bindings of specific domains. */
|
||||
extern struct binding *_nl_domain_bindings;
|
||||
|
||||
/* Lock variable to protect the global data in the gettext implementation. */
|
||||
__libc_rwlock_define (extern, _nl_state_lock)
|
||||
|
||||
|
||||
/* Names for the libintl functions are a problem. They must not clash
|
||||
with existing names and they should follow ANSI C. But this source
|
||||
@ -80,11 +90,14 @@ BINDTEXTDOMAIN (domainname, dirname)
|
||||
const char *dirname;
|
||||
{
|
||||
struct binding *binding;
|
||||
char *result;
|
||||
|
||||
/* Some sanity checks. */
|
||||
if (domainname == NULL || domainname[0] == '\0')
|
||||
return NULL;
|
||||
|
||||
__libc_rwlock_wrlock (_nl_state_lock);
|
||||
|
||||
for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
|
||||
{
|
||||
int compare = strcmp (domainname, binding->domainname);
|
||||
@ -101,104 +114,97 @@ BINDTEXTDOMAIN (domainname, dirname)
|
||||
|
||||
if (dirname == NULL)
|
||||
/* The current binding has be to returned. */
|
||||
return binding == NULL ? (char *) _nl_default_dirname : binding->dirname;
|
||||
|
||||
if (binding != NULL)
|
||||
result = binding == NULL ? (char *) _nl_default_dirname : binding->dirname;
|
||||
else if (binding != NULL)
|
||||
{
|
||||
/* The domain is already bound. If the new value and the old
|
||||
one are equal we simply do nothing. Otherwise replace the
|
||||
old binding. */
|
||||
if (strcmp (dirname, binding->dirname) != 0)
|
||||
result = binding->dirname;
|
||||
if (strcmp (dirname, result) != 0)
|
||||
{
|
||||
char *new_dirname;
|
||||
|
||||
if (strcmp (dirname, _nl_default_dirname) == 0)
|
||||
new_dirname = (char *) _nl_default_dirname;
|
||||
result = (char *) _nl_default_dirname;
|
||||
else
|
||||
{
|
||||
#if defined _LIBC || defined HAVE_STRDUP
|
||||
new_dirname = strdup (dirname);
|
||||
if (new_dirname == NULL)
|
||||
return NULL;
|
||||
result = strdup (dirname);
|
||||
#else
|
||||
size_t len = strlen (dirname) + 1;
|
||||
new_dirname = (char *) malloc (len);
|
||||
if (new_dirname == NULL)
|
||||
return NULL;
|
||||
|
||||
memcpy (new_dirname, dirname, len);
|
||||
result = (char *) malloc (len);
|
||||
if (result != NULL)
|
||||
memcpy (result, dirname, len);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (binding->dirname != _nl_default_dirname)
|
||||
free (binding->dirname);
|
||||
if (result != NULL)
|
||||
{
|
||||
if (binding->dirname != _nl_default_dirname)
|
||||
free (binding->dirname);
|
||||
|
||||
binding->dirname = new_dirname;
|
||||
binding->dirname = result;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* We have to create a new binding. */
|
||||
#if !defined _LIBC && !defined HAVE_STRDUP
|
||||
size_t len;
|
||||
#endif
|
||||
size_t len = strlen (domainname) + 1;
|
||||
struct binding *new_binding =
|
||||
(struct binding *) malloc (sizeof (*new_binding));
|
||||
(struct binding *) malloc (sizeof (*new_binding) + len);
|
||||
|
||||
if (new_binding == NULL)
|
||||
return NULL;
|
||||
|
||||
#if defined _LIBC || defined HAVE_STRDUP
|
||||
new_binding->domainname = strdup (domainname);
|
||||
if (new_binding->domainname == NULL)
|
||||
return NULL;
|
||||
#else
|
||||
len = strlen (domainname) + 1;
|
||||
new_binding->domainname = (char *) malloc (len);
|
||||
if (new_binding->domainname == NULL)
|
||||
return NULL;
|
||||
memcpy (new_binding->domainname, domainname, len);
|
||||
#endif
|
||||
|
||||
if (strcmp (dirname, _nl_default_dirname) == 0)
|
||||
new_binding->dirname = (char *) _nl_default_dirname;
|
||||
result = NULL;
|
||||
else
|
||||
{
|
||||
memcpy (new_binding->domainname, domainname, len);
|
||||
|
||||
if (strcmp (dirname, _nl_default_dirname) == 0)
|
||||
result = new_binding->dirname = (char *) _nl_default_dirname;
|
||||
else
|
||||
{
|
||||
#if defined _LIBC || defined HAVE_STRDUP
|
||||
new_binding->dirname = strdup (dirname);
|
||||
if (new_binding->dirname == NULL)
|
||||
return NULL;
|
||||
result = new_binding->dirname = strdup (dirname);
|
||||
#else
|
||||
len = strlen (dirname) + 1;
|
||||
new_binding->dirname = (char *) malloc (len);
|
||||
if (new_binding->dirname == NULL)
|
||||
return NULL;
|
||||
memcpy (new_binding->dirname, dirname, len);
|
||||
len = strlen (dirname) + 1;
|
||||
result = new_binding->dirname = (char *) malloc (len);
|
||||
if (result != NULL)
|
||||
memcpy (new_binding->dirname, dirname, len);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
/* Now enqueue it. */
|
||||
if (_nl_domain_bindings == NULL
|
||||
|| strcmp (domainname, _nl_domain_bindings->domainname) < 0)
|
||||
if (result != NULL)
|
||||
{
|
||||
new_binding->next = _nl_domain_bindings;
|
||||
_nl_domain_bindings = new_binding;
|
||||
}
|
||||
else
|
||||
{
|
||||
binding = _nl_domain_bindings;
|
||||
while (binding->next != NULL
|
||||
&& strcmp (domainname, binding->next->domainname) > 0)
|
||||
binding = binding->next;
|
||||
/* Now enqueue it. */
|
||||
if (_nl_domain_bindings == NULL
|
||||
|| strcmp (domainname, _nl_domain_bindings->domainname) < 0)
|
||||
{
|
||||
new_binding->next = _nl_domain_bindings;
|
||||
_nl_domain_bindings = new_binding;
|
||||
}
|
||||
else
|
||||
{
|
||||
binding = _nl_domain_bindings;
|
||||
while (binding->next != NULL
|
||||
&& strcmp (domainname, binding->next->domainname) > 0)
|
||||
binding = binding->next;
|
||||
|
||||
new_binding->next = binding->next;
|
||||
binding->next = new_binding;
|
||||
new_binding->next = binding->next;
|
||||
binding->next = new_binding;
|
||||
}
|
||||
}
|
||||
|
||||
binding = new_binding;
|
||||
else if (new_binding != NULL)
|
||||
free (new_binding);
|
||||
}
|
||||
|
||||
return binding->dirname;
|
||||
/* For a succesful call we flush the caches. */
|
||||
if (result != NULL)
|
||||
++_nl_msg_cat_cntr;
|
||||
|
||||
__libc_rwlock_unlock (_nl_state_lock);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#ifdef _LIBC
|
||||
|
@ -1,9 +1,6 @@
|
||||
/* Implementation of the dcgettext(3) function.
|
||||
Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
|
@ -1,9 +1,6 @@
|
||||
/* Implementation of the internal dcigettext function.
|
||||
Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
@ -99,6 +96,11 @@ void free ();
|
||||
/* Thread safetyness. */
|
||||
#ifdef _LIBC
|
||||
# include <bits/libc-lock.h>
|
||||
#else
|
||||
/* Provide dummy implementation if this is outside glibc. */
|
||||
# define __libc_lock_define_initialized (CLASS, NAME)
|
||||
# define __libc_lock_lock(NAME)
|
||||
# define __libc_lock_unlock(NAME)
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
@ -306,6 +308,9 @@ struct block_list
|
||||
# define DCIGETTEXT dcigettext__
|
||||
#endif
|
||||
|
||||
/* Lock variable to protect the global data in the gettext implementation. */
|
||||
__libc_rwlock_define_initialized (, _nl_state_lock)
|
||||
|
||||
/* Checking whether the binaries runs SUID must be done and glibc provides
|
||||
easier methods therefore we make a difference here. */
|
||||
#ifdef _LIBC
|
||||
@ -358,6 +363,8 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
|
||||
if (msgid1 == NULL)
|
||||
return NULL;
|
||||
|
||||
__libc_rwlock_rdlock (_nl_state_lock);
|
||||
|
||||
#if defined HAVE_TSEARCH || defined _LIBC
|
||||
if (plural == 0)
|
||||
{
|
||||
@ -372,7 +379,10 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
|
||||
|
||||
foundp = (struct known_translation_t **) tfind (search, &root, transcmp);
|
||||
if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)
|
||||
return (char *) (*foundp)->translation;
|
||||
{
|
||||
__libc_rwlock_unlock (_nl_state_lock);
|
||||
return (char *) (*foundp)->translation;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -501,6 +511,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
|
||||
|| strcmp (single_locale, "POSIX") == 0)
|
||||
{
|
||||
FREE_BLOCKS (block_list);
|
||||
__libc_rwlock_unlock (_nl_state_lock);
|
||||
__set_errno (saved_errno);
|
||||
return (plural == 0
|
||||
? (char *) msgid1
|
||||
@ -539,7 +550,10 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
|
||||
foundp = (struct known_translation_t **) tfind (search, &root,
|
||||
transcmp);
|
||||
if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)
|
||||
return (char *) (*foundp)->translation;
|
||||
{
|
||||
__libc_rwlock_unlock (_nl_state_lock);
|
||||
return (char *) (*foundp)->translation;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -596,6 +610,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
|
||||
(*foundp)->translation = retval;
|
||||
}
|
||||
#endif
|
||||
__libc_rwlock_unlock (_nl_state_lock);
|
||||
return retval;
|
||||
}
|
||||
}
|
||||
@ -981,12 +996,9 @@ free_mem (void)
|
||||
struct binding *runp;
|
||||
|
||||
for (runp = _nl_domain_bindings; runp != NULL; runp = runp->next)
|
||||
{
|
||||
free (runp->domainname);
|
||||
if (runp->dirname != _nl_default_dirname)
|
||||
/* Yes, this is a pointer comparison. */
|
||||
free (runp->dirname);
|
||||
}
|
||||
if (runp->dirname != _nl_default_dirname)
|
||||
/* Yes, this is a pointer comparison. */
|
||||
free (runp->dirname);
|
||||
|
||||
if (_nl_current_default_domain != _nl_default_default_domain)
|
||||
/* Yes, again a pointer comparison. */
|
||||
|
@ -1,9 +1,6 @@
|
||||
/* Implementation of the dcngettext(3) function.
|
||||
Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
|
@ -1,8 +1,5 @@
|
||||
/* Implementation of the dgettext(3) function.
|
||||
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
|
@ -1,9 +1,6 @@
|
||||
/* Implementation of the dngettext(3) function.
|
||||
Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
|
@ -1,9 +1,6 @@
|
||||
/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
|
@ -1,10 +1,7 @@
|
||||
/* Handle list of needed message catalogs
|
||||
Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
|
||||
Written by Ulrich Drepper <drepper@gnu.org>, 1995.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
|
@ -1,9 +1,6 @@
|
||||
/* Implementation of gettext(3) function.
|
||||
Copyright (C) 1995, 1997, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
|
@ -1,8 +1,5 @@
|
||||
/* Internal header for GNU gettext internationalization functions.
|
||||
Copyright (C) 1995, 1997 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
Copyright (C) 1995, 1997, 2000 Free Software Foundation, Inc.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
|
@ -136,8 +136,12 @@ struct loaded_domain
|
||||
struct binding
|
||||
{
|
||||
struct binding *next;
|
||||
char *domainname;
|
||||
char *dirname;
|
||||
#ifdef __GNUC__
|
||||
char domainname[0];
|
||||
#else
|
||||
char domainname[1];
|
||||
#endif
|
||||
};
|
||||
|
||||
extern int _nl_msg_cat_cntr;
|
||||
|
@ -1,8 +1,5 @@
|
||||
/* Implements a string hashing function.
|
||||
Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
Copyright (C) 1995, 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
|
@ -1,9 +1,6 @@
|
||||
/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
|
||||
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
|
@ -2,9 +2,6 @@
|
||||
Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
|
||||
This file is derived from the file libgettext.h in the GNU gettext package.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
|
@ -1,9 +1,6 @@
|
||||
/* Load needed message catalogs.
|
||||
Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
|
@ -1,8 +1,5 @@
|
||||
/* Handle aliases for locale names.
|
||||
Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
|
@ -1,9 +1,6 @@
|
||||
/* Implementation of ngettext(3) function.
|
||||
Copyright (C) 1995, 1997, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
|
@ -1,8 +1,5 @@
|
||||
/* Implementation of the textdomain(3) function.
|
||||
Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however. The master source lives in /gd/gnu/lib.
|
||||
Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
@ -41,6 +38,18 @@
|
||||
#else
|
||||
# include "libgettext.h"
|
||||
#endif
|
||||
#include "gettext.h"
|
||||
#include "gettextP.h"
|
||||
|
||||
#ifdef _LIBC
|
||||
/* We have to handle multi-threaded applications. */
|
||||
# include <bits/libc-lock.h>
|
||||
#else
|
||||
/* Provide dummy implementation if this is outside glibc. */
|
||||
# define __libc_lock_define_initialized (CLASS, NAME)
|
||||
# define __libc_lock_lock(NAME)
|
||||
# define __libc_lock_unlock(NAME)
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
@ -64,6 +73,9 @@ extern const char *_nl_current_default_domain;
|
||||
# define TEXTDOMAIN textdomain__
|
||||
#endif
|
||||
|
||||
/* Lock variable to protect the global data in the gettext implementation. */
|
||||
__libc_rwlock_define (extern, _nl_state_lock)
|
||||
|
||||
/* Set the current default message catalog to DOMAINNAME.
|
||||
If DOMAINNAME is null, return the current default.
|
||||
If DOMAINNAME is "", reset to the default of "messages". */
|
||||
@ -71,38 +83,60 @@ char *
|
||||
TEXTDOMAIN (domainname)
|
||||
const char *domainname;
|
||||
{
|
||||
char *old;
|
||||
char *new_domain;
|
||||
char *old_domain;
|
||||
|
||||
/* A NULL pointer requests the current setting. */
|
||||
if (domainname == NULL)
|
||||
return (char *) _nl_current_default_domain;
|
||||
|
||||
old = (char *) _nl_current_default_domain;
|
||||
__libc_rwlock_wrlock (_nl_state_lock);
|
||||
|
||||
old_domain = (char *) _nl_current_default_domain;
|
||||
|
||||
/* If domain name is the null string set to default domain "messages". */
|
||||
if (domainname[0] == '\0'
|
||||
|| strcmp (domainname, _nl_default_default_domain) == 0)
|
||||
_nl_current_default_domain = _nl_default_default_domain;
|
||||
{
|
||||
_nl_current_default_domain = _nl_default_default_domain;
|
||||
new_domain = (char *) _nl_current_default_domain;
|
||||
}
|
||||
else if (strcmp (domainname, old_domain) == 0)
|
||||
/* This can happen and people will use it to signal that some
|
||||
environment variable changed. */
|
||||
new_domain = old_domain;
|
||||
else
|
||||
{
|
||||
/* If the following malloc fails `_nl_current_default_domain'
|
||||
will be NULL. This value will be returned and so signals we
|
||||
are out of core. */
|
||||
#if defined _LIBC || defined HAVE_STRDUP
|
||||
_nl_current_default_domain = strdup (domainname);
|
||||
new_domain = strdup (domainname);
|
||||
#else
|
||||
size_t len = strlen (domainname) + 1;
|
||||
char *cp = (char *) malloc (len);
|
||||
if (cp != NULL)
|
||||
memcpy (cp, domainname, len);
|
||||
_nl_current_default_domain = cp;
|
||||
new_domain = (char *) malloc (len);
|
||||
if (new_domain != NULL)
|
||||
memcpy (new_domain, domainname, len);
|
||||
#endif
|
||||
|
||||
if (new_domain != NULL)
|
||||
_nl_current_default_domain = new_domain;
|
||||
}
|
||||
|
||||
if (old != _nl_default_default_domain)
|
||||
free (old);
|
||||
/* We use this possibility to signal a change of the loaded catalogs
|
||||
since this is most likely the case and there is no other easy we
|
||||
to do it. Do it only when the call was successful. */
|
||||
if (new_domain != NULL)
|
||||
{
|
||||
++_nl_msg_cat_cntr;
|
||||
|
||||
return (char *) _nl_current_default_domain;
|
||||
if (old_domain != new_domain && old_domain != _nl_default_default_domain)
|
||||
free (old_domain);
|
||||
}
|
||||
|
||||
__libc_rwlock_unlock (_nl_state_lock);
|
||||
|
||||
return new_domain;
|
||||
}
|
||||
|
||||
#ifdef _LIBC
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 92, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991, 92, 1995-1999, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -106,13 +106,11 @@ __BEGIN_DECLS
|
||||
# ifdef __S_IFIFO
|
||||
# define S_IFIFO __S_IFIFO
|
||||
# endif
|
||||
# if defined __USE_BSD || defined __USE_MISC
|
||||
# ifdef __S_IFLNK
|
||||
# define S_IFLNK __S_IFLNK
|
||||
# endif
|
||||
# ifdef __S_IFSOCK
|
||||
# define S_IFSOCK __S_IFSOCK
|
||||
# endif
|
||||
# ifdef __S_IFLNK
|
||||
# define S_IFLNK __S_IFLNK
|
||||
# endif
|
||||
# if (defined __USE_BSD || defined __USE_MISC) && !defined __S_IFSOCK
|
||||
# define S_IFSOCK __S_IFSOCK
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@ -127,11 +125,12 @@ __BEGIN_DECLS
|
||||
#ifdef __S_IFIFO
|
||||
# define S_ISFIFO(mode) __S_ISTYPE((mode), __S_IFIFO)
|
||||
#endif
|
||||
#ifdef __S_IFLNK
|
||||
# define S_ISLNK(mode) __S_ISTYPE((mode), __S_IFLNK)
|
||||
#endif
|
||||
|
||||
#ifdef __USE_BSD
|
||||
# ifdef __S_IFLNK
|
||||
# define S_ISLNK(mode) __S_ISTYPE((mode), __S_IFLNK)
|
||||
# else
|
||||
# ifndef __S_IFLNK
|
||||
# define S_ISLNK(mode) 0
|
||||
# endif
|
||||
# ifdef __S_IFSOCK
|
||||
@ -145,7 +144,7 @@ __BEGIN_DECLS
|
||||
#define S_ISUID __S_ISUID /* Set user ID on execution. */
|
||||
#define S_ISGID __S_ISGID /* Set group ID on execution. */
|
||||
|
||||
#if defined __USE_BSD || defined __USE_MISC
|
||||
#if defined __USE_BSD || defined __USE_MISC || defined __USE_XOPEN
|
||||
/* Save swapped text after use (sticky bit). This is pretty well obsolete. */
|
||||
# define S_ISVTX __S_ISVTX
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Definitions for getting information about a filesystem.
|
||||
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -25,6 +25,26 @@
|
||||
/* Get the system-specific definition of `struct statfs'. */
|
||||
#include <bits/statvfs.h>
|
||||
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
# ifndef __fsblkcnt_t_defined
|
||||
typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks. */
|
||||
# define __fsblkcnt_t_defined
|
||||
# endif
|
||||
# ifndef __fsfilcnt_t_defined
|
||||
typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes. */
|
||||
# define __fsfilcnt_t_defined
|
||||
# endif
|
||||
#else
|
||||
# ifndef __fsblkcnt_t_defined
|
||||
typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks. */
|
||||
# define __fsblkcnt_t_defined
|
||||
# endif
|
||||
# ifndef __fsfilcnt_t_defined
|
||||
typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes. */
|
||||
# define __fsfilcnt_t_defined
|
||||
# endif
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Return information about the filesystem on which FILE resides. */
|
||||
|
@ -1,8 +1,15 @@
|
||||
2000-02-27 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* rwlock.c: Define __* variants of the functions and make old names
|
||||
aliases.
|
||||
* Versions [GLIBC_2.2]: Export the __pthread_rwlock_* functions.
|
||||
* sysdeps/pthread/bits/libc-lock.h: Define __libc_rwlock_* macros.
|
||||
|
||||
2000-02-25 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* Versions: Export pread, __pread64, pread64, pwrite, __pwrite64,
|
||||
pwrite64, lseek64, open64, and __open64 with version 2.2.
|
||||
|
||||
pwrite64, lseek64, open64, and __open64 with version 2.2.
|
||||
|
||||
2000-02-22 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* semaphore.h (SEM_FAILED): Use 0 not NULL.
|
||||
|
@ -124,5 +124,10 @@ libpthread {
|
||||
open64; __open64;
|
||||
|
||||
__res_state;
|
||||
|
||||
# Names used internally.
|
||||
__pthread_rwlock_init; __pthread_rwlock_destroy; __pthread_rwlock_rdlock;
|
||||
__pthread_rwlock_tryrdlock; __pthread_rwlock_wrlock;
|
||||
__pthread_rwlock_trywrlock; __pthread_rwlock_unlock;
|
||||
}
|
||||
}
|
||||
|
@ -183,7 +183,7 @@ rwlock_have_already(pthread_descr *pself, pthread_rwlock_t *rwlock,
|
||||
}
|
||||
|
||||
int
|
||||
pthread_rwlock_init (pthread_rwlock_t *rwlock,
|
||||
__pthread_rwlock_init (pthread_rwlock_t *rwlock,
|
||||
const pthread_rwlockattr_t *attr)
|
||||
{
|
||||
__pthread_init_lock(&rwlock->__rw_lock);
|
||||
@ -205,10 +205,11 @@ pthread_rwlock_init (pthread_rwlock_t *rwlock,
|
||||
|
||||
return 0;
|
||||
}
|
||||
strong_alias (__pthread_init_lock, pthread_init_lock)
|
||||
|
||||
|
||||
int
|
||||
pthread_rwlock_destroy (pthread_rwlock_t *rwlock)
|
||||
__pthread_rwlock_destroy (pthread_rwlock_t *rwlock)
|
||||
{
|
||||
int readers;
|
||||
_pthread_descr writer;
|
||||
@ -223,16 +224,17 @@ pthread_rwlock_destroy (pthread_rwlock_t *rwlock)
|
||||
|
||||
return 0;
|
||||
}
|
||||
strong_alias (__pthread_rwlock_destroy, pthread_rwlock_destroy)
|
||||
|
||||
int
|
||||
pthread_rwlock_rdlock (pthread_rwlock_t *rwlock)
|
||||
__pthread_rwlock_rdlock (pthread_rwlock_t *rwlock)
|
||||
{
|
||||
pthread_descr self = NULL;
|
||||
pthread_readlock_info *existing;
|
||||
int out_of_mem, have_lock_already;
|
||||
|
||||
have_lock_already = rwlock_have_already(&self, rwlock,
|
||||
&existing, &out_of_mem);
|
||||
&existing, &out_of_mem);
|
||||
|
||||
for (;;)
|
||||
{
|
||||
@ -262,9 +264,10 @@ pthread_rwlock_rdlock (pthread_rwlock_t *rwlock)
|
||||
|
||||
return 0;
|
||||
}
|
||||
strong_alias (__pthread_rwlock_rdlock, pthread_rwlock_rdlock)
|
||||
|
||||
int
|
||||
pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
|
||||
__pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
|
||||
{
|
||||
pthread_descr self = thread_self();
|
||||
pthread_readlock_info *existing;
|
||||
@ -303,10 +306,11 @@ pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
|
||||
|
||||
return retval;
|
||||
}
|
||||
strong_alias (__pthread_rwlock_tryrdlock, pthread_rwlock_tryrdlock)
|
||||
|
||||
|
||||
int
|
||||
pthread_rwlock_wrlock (pthread_rwlock_t *rwlock)
|
||||
__pthread_rwlock_wrlock (pthread_rwlock_t *rwlock)
|
||||
{
|
||||
pthread_descr self = thread_self ();
|
||||
|
||||
@ -326,10 +330,11 @@ pthread_rwlock_wrlock (pthread_rwlock_t *rwlock)
|
||||
suspend (self); /* This is not a cancellation point */
|
||||
}
|
||||
}
|
||||
strong_alias (__pthread_rwlock_wrlock, pthread_rwlock_wrlock)
|
||||
|
||||
|
||||
int
|
||||
pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
|
||||
__pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
|
||||
{
|
||||
int result = EBUSY;
|
||||
|
||||
@ -343,10 +348,11 @@ pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
|
||||
|
||||
return result;
|
||||
}
|
||||
strong_alias (__pthread_rwlock_trywrlock, pthread_rwlock_trywrlock)
|
||||
|
||||
|
||||
int
|
||||
pthread_rwlock_unlock (pthread_rwlock_t *rwlock)
|
||||
__pthread_rwlock_unlock (pthread_rwlock_t *rwlock)
|
||||
{
|
||||
pthread_descr torestart;
|
||||
pthread_descr th;
|
||||
@ -425,6 +431,7 @@ pthread_rwlock_unlock (pthread_rwlock_t *rwlock)
|
||||
|
||||
return 0;
|
||||
}
|
||||
strong_alias (__pthread_rwlock_unlock, pthread_rwlock_unlock)
|
||||
|
||||
|
||||
|
||||
@ -439,10 +446,11 @@ pthread_rwlockattr_init (pthread_rwlockattr_t *attr)
|
||||
|
||||
|
||||
int
|
||||
pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr)
|
||||
__pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
strong_alias (__pthread_rwlockattr_destroy, pthread_rwlockattr_destroy)
|
||||
|
||||
|
||||
int
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* libc-internal interface for mutex locks. LinuxThreads version.
|
||||
Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -25,8 +25,10 @@
|
||||
/* Mutex type. */
|
||||
#ifdef _LIBC
|
||||
typedef pthread_mutex_t __libc_lock_t;
|
||||
typedef pthread_rwlock_t __libc_rwlock_t;
|
||||
#else
|
||||
typedef struct __libc_lock_opaque__ __libc_lock_t;
|
||||
typedef struct __libc_rwlock_opaque__ __libc_rwlock_t;
|
||||
#endif
|
||||
|
||||
/* Type for key to thread-specific data. */
|
||||
@ -41,6 +43,8 @@ typedef pthread_key_t __libc_key_t;
|
||||
of libc. */
|
||||
#define __libc_lock_define(CLASS,NAME) \
|
||||
CLASS __libc_lock_t NAME;
|
||||
#define __libc_rwlock_define(CLASS,NAME) \
|
||||
CLASS __libc_rwlock_t NAME;
|
||||
|
||||
/* Define an initialized lock variable NAME with storage class CLASS.
|
||||
|
||||
@ -50,6 +54,8 @@ typedef pthread_key_t __libc_key_t;
|
||||
section. */
|
||||
#define __libc_lock_define_initialized(CLASS,NAME) \
|
||||
CLASS __libc_lock_t NAME;
|
||||
#define __libc_rwlock_define_initialized(CLASS,NAME) \
|
||||
CLASS __libc_rwlock_t NAME = PTHREAD_RWLOCK_INITIALIZER;
|
||||
|
||||
/* Define an initialized recursive lock variable NAME with storage
|
||||
class CLASS. */
|
||||
@ -60,6 +66,8 @@ typedef pthread_key_t __libc_key_t;
|
||||
state. */
|
||||
#define __libc_lock_init(NAME) \
|
||||
(__pthread_mutex_init != NULL ? __pthread_mutex_init (&(NAME), NULL) : 0);
|
||||
#define __libc_rwlock_init(NAME) \
|
||||
(__pthread_rwlock_init != NULL ? __pthread_rwlock_init (&(NAME), NULL) : 0);
|
||||
|
||||
/* Same as last but this time we initialize a recursive mutex. */
|
||||
#define __libc_lock_init_recursive(NAME) \
|
||||
@ -79,6 +87,8 @@ typedef pthread_key_t __libc_key_t;
|
||||
called on a lock variable before the containing storage is reused. */
|
||||
#define __libc_lock_fini(NAME) \
|
||||
(__pthread_mutex_destroy != NULL ? __pthread_mutex_destroy (&(NAME)) : 0);
|
||||
#define __libc_rwlock_fini(NAME) \
|
||||
(__pthread_rwlock_destroy != NULL ? __pthread_rwlock_destroy (&(NAME)) : 0);
|
||||
|
||||
/* Finalize recursive named lock. */
|
||||
#define __libc_lock_fini_recursive(NAME) __libc_lock_fini (NAME)
|
||||
@ -86,6 +96,10 @@ typedef pthread_key_t __libc_key_t;
|
||||
/* Lock the named lock variable. */
|
||||
#define __libc_lock_lock(NAME) \
|
||||
(__pthread_mutex_lock != NULL ? __pthread_mutex_lock (&(NAME)) : 0);
|
||||
#define __libc_rwlock_rdlock(NAME) \
|
||||
(__pthread_rwlock_rdlock != NULL ? __pthread_rwlock_rdlock (&(NAME)) : 0);
|
||||
#define __libc_rwlock_wrlock(NAME) \
|
||||
(__pthread_rwlock_wrlock != NULL ? __pthread_rwlock_wrlock (&(NAME)) : 0);
|
||||
|
||||
/* Lock the recursive named lock variable. */
|
||||
#define __libc_lock_lock_recursive(NAME) __libc_lock_lock (NAME)
|
||||
@ -93,6 +107,12 @@ typedef pthread_key_t __libc_key_t;
|
||||
/* Try to lock the named lock variable. */
|
||||
#define __libc_lock_trylock(NAME) \
|
||||
(__pthread_mutex_trylock != NULL ? __pthread_mutex_trylock (&(NAME)) : 0)
|
||||
#define __libc_rwlock_tryrdlock(NAME) \
|
||||
(__pthread_rwlock_tryrdlock != NULL \
|
||||
? __pthread_rwlock_tryrdlock (&(NAME)) : 0)
|
||||
#define __libc_rwlock_trywrlock(NAME) \
|
||||
(__pthread_rwlock_trywrlock != NULL \
|
||||
? __pthread_rwlock_trywrlock (&(NAME)) : 0)
|
||||
|
||||
/* Try to lock the recursive named lock variable. */
|
||||
#define __libc_lock_trylock_recursive(NAME) __libc_lock_trylock (NAME)
|
||||
@ -100,6 +120,8 @@ typedef pthread_key_t __libc_key_t;
|
||||
/* Unlock the named lock variable. */
|
||||
#define __libc_lock_unlock(NAME) \
|
||||
(__pthread_mutex_unlock != NULL ? __pthread_mutex_unlock (&(NAME)) : 0);
|
||||
#define __libc_rwlock_unlock(NAME) \
|
||||
(__pthread_rwlock_unlock != NULL ? __pthread_rwlock_unlock (&(NAME)) : 0);
|
||||
|
||||
/* Unlock the recursive named lock variable. */
|
||||
#define __libc_lock_unlock_recursive(NAME) __libc_lock_unlock (NAME)
|
||||
@ -187,6 +209,21 @@ extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *__attr);
|
||||
extern int __pthread_mutexattr_settype (pthread_mutexattr_t *__attr,
|
||||
int __kind);
|
||||
|
||||
extern int __pthread_rwlock_init (pthread_rwlock_t *__rwlock,
|
||||
__const pthread_rwlockattr_t *__attr);
|
||||
|
||||
extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock);
|
||||
|
||||
extern int __pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock);
|
||||
|
||||
extern int __pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock);
|
||||
|
||||
extern int __pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock);
|
||||
|
||||
extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock);
|
||||
|
||||
extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock);
|
||||
|
||||
extern int __pthread_key_create (pthread_key_t *__key,
|
||||
void (*__destr_function) (void *));
|
||||
|
||||
@ -216,6 +253,13 @@ weak_extern (__pthread_mutex_unlock)
|
||||
weak_extern (__pthread_mutexattr_init)
|
||||
weak_extern (__pthread_mutexattr_destroy)
|
||||
weak_extern (__pthread_mutexattr_settype)
|
||||
weak_extern (__pthread_rwlock_init)
|
||||
weak_extern (__pthread_rwlock_destroy)
|
||||
weak_extern (__pthread_rwlock_rdlock)
|
||||
weak_extern (__pthread_rwlock_tryrdlock)
|
||||
weak_extern (__pthread_rwlock_wrlock)
|
||||
weak_extern (__pthread_rwlock_trywrlock)
|
||||
weak_extern (__pthread_rwlock_unlock)
|
||||
weak_extern (__pthread_key_create)
|
||||
weak_extern (__pthread_setspecific)
|
||||
weak_extern (__pthread_getspecific)
|
||||
@ -233,6 +277,12 @@ weak_extern (_pthread_cleanup_pop_restore)
|
||||
# pragma weak __pthread_mutexattr_init
|
||||
# pragma weak __pthread_mutexattr_destroy
|
||||
# pragma weak __pthread_mutexattr_settype
|
||||
# pragna weak __pthread_rwlock_destroy
|
||||
# pragma weak __pthread_rwlock_rdlock
|
||||
# pragma weak __pthread_rwlock_tryrdlock
|
||||
# pragma weak __pthread_rwlock_wrlock
|
||||
# pragma weak __pthread_rwlock_trywrlock
|
||||
# pragma weak __pthread_rwlock_unlock
|
||||
# pragma weak __pthread_key_create
|
||||
# pragma weak __pthread_setspecific
|
||||
# pragma weak __pthread_getspecific
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Iterate over a process's threads.
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "thread_dbP.h"
|
||||
|
||||
#include <alloca.h>
|
||||
|
||||
static int
|
||||
handle_descr (const td_thragent_t *ta, td_thr_iter_f *callback,
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Iterate over a process's thread-specific data.
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "thread_dbP.h"
|
||||
|
||||
#include <alloca.h>
|
||||
|
||||
td_err_e
|
||||
td_ta_tsd_iter (const td_thragent_t *ta, td_key_iter_f *callback,
|
||||
|
@ -144,8 +144,10 @@ enum
|
||||
|
||||
ERA, /* Alternate era. */
|
||||
#define ERA ERA
|
||||
ERA_YEAR, /* Year in alternate era format. */
|
||||
#define ERA_YEAR ERA_YEAR
|
||||
__ERA_YEAR, /* Year in alternate era format. */
|
||||
#ifdef __USE_GNU
|
||||
# define ERA_YEAR __ERA_YEAR
|
||||
#endif
|
||||
ERA_D_FMT, /* Date in alternate era format. */
|
||||
#define ERA_D_FMT ERA_D_FMT
|
||||
ALT_DIGITS, /* Alternate symbols for digits. */
|
||||
@ -320,36 +322,66 @@ enum
|
||||
/* LC_MONETARY category: formatting of monetary quantities.
|
||||
These items each correspond to a member of `struct lconv',
|
||||
defined in <locale.h>. */
|
||||
INT_CURR_SYMBOL = _NL_ITEM (LC_MONETARY, 0),
|
||||
#define INT_CURR_SYMBOL INT_CURR_SYMBOL
|
||||
CURRENCY_SYMBOL,
|
||||
#define CURRENCY_SYMBOL CURRENCY_SYMBOL
|
||||
MON_DECIMAL_POINT,
|
||||
#define MON_DECIMAL_POINT MON_DECIMAL_POINT
|
||||
MON_THOUSANDS_SEP,
|
||||
#define MON_THOUSANDS_SEP MON_THOUSANDS_SEP
|
||||
MON_GROUPING,
|
||||
#define MON_GROUPING MON_GROUPING
|
||||
POSITIVE_SIGN,
|
||||
#define POSITIVE_SIGN POSITIVE_SIGN
|
||||
NEGATIVE_SIGN,
|
||||
#define NEGATIVE_SIGN NEGATIVE_SIGN
|
||||
INT_FRAC_DIGITS,
|
||||
#define INT_FRAC_DIGITS INT_FRAC_DIGITS
|
||||
FRAC_DIGITS,
|
||||
#define FRAC_DIGITS FRAC_DIGITS
|
||||
P_CS_PRECEDES,
|
||||
#define P_CS_PRECEDES P_CS_PRECEDES
|
||||
P_SEP_BY_SPACE,
|
||||
#define P_SEP_BY_SPACE P_SEP_BY_SPACE
|
||||
N_CS_PRECEDES,
|
||||
#define N_CS_PRECEDES N_CS_PRECEDES
|
||||
N_SEP_BY_SPACE,
|
||||
#define N_SEP_BY_SPACE N_SEP_BY_SPACE
|
||||
P_SIGN_POSN,
|
||||
#define P_SIGN_POSN P_SIGN_POSN
|
||||
N_SIGN_POSN,
|
||||
#define N_SIGN_POSN N_SIGN_POSN
|
||||
__INT_CURR_SYMBOL = _NL_ITEM (LC_MONETARY, 0),
|
||||
#ifdef __USE_GNU
|
||||
# define INT_CURR_SYMBOL __INT_CURR_SYMBOL
|
||||
#endif
|
||||
__CURRENCY_SYMBOL,
|
||||
#ifdef __USE_GNU
|
||||
# define CURRENCY_SYMBOL __CURRENCY_SYMBOL
|
||||
#endif
|
||||
__MON_DECIMAL_POINT,
|
||||
#ifdef __USE_GNU
|
||||
# define MON_DECIMAL_POINT __MON_DECIMAL_POINT
|
||||
#endif
|
||||
__MON_THOUSANDS_SEP,
|
||||
#ifdef __USE_GNU
|
||||
# define MON_THOUSANDS_SEP __MON_THOUSANDS_SEP
|
||||
#endif
|
||||
__MON_GROUPING,
|
||||
#ifdef __USE_GNU
|
||||
# define MON_GROUPING __MON_GROUPING
|
||||
#endif
|
||||
__POSITIVE_SIGN,
|
||||
#ifdef __USE_GNU
|
||||
# define POSITIVE_SIGN __POSITIVE_SIGN
|
||||
#endif
|
||||
__NEGATIVE_SIGN,
|
||||
#ifdef __USE_GNU
|
||||
# define NEGATIVE_SIGN __NEGATIVE_SIGN
|
||||
#endif
|
||||
__INT_FRAC_DIGITS,
|
||||
#ifdef __USE_GNU
|
||||
# define INT_FRAC_DIGITS __INT_FRAC_DIGITS
|
||||
#endif
|
||||
__FRAC_DIGITS,
|
||||
#ifdef __USE_GNU
|
||||
# define FRAC_DIGITS __FRAC_DIGITS
|
||||
#endif
|
||||
__P_CS_PRECEDES,
|
||||
#ifdef __USE_GNU
|
||||
# define P_CS_PRECEDES __P_CS_PRECEDES
|
||||
#endif
|
||||
__P_SEP_BY_SPACE,
|
||||
#ifdef __USE_GNU
|
||||
# define P_SEP_BY_SPACE __P_SEP_BY_SPACE
|
||||
#endif
|
||||
__N_CS_PRECEDES,
|
||||
#ifdef __USE_GNU
|
||||
# define N_CS_PRECEDES __N_CS_PRECEDES
|
||||
#endif
|
||||
__N_SEP_BY_SPACE,
|
||||
#ifdef __USE_GNU
|
||||
# define N_SEP_BY_SPACE __N_SEP_BY_SPACE
|
||||
#endif
|
||||
__P_SIGN_POSN,
|
||||
#ifdef __USE_GNU
|
||||
# define P_SIGN_POSN __P_SIGN_POSN
|
||||
#endif
|
||||
__N_SIGN_POSN,
|
||||
#ifdef __USE_GNU
|
||||
# define N_SIGN_POSN __N_SIGN_POSN
|
||||
#endif
|
||||
_NL_MONETARY_CRNCYSTR,
|
||||
#ifdef __USE_XOPEN
|
||||
# define CRNCYSTR __CRNCYSTR
|
||||
@ -387,32 +419,46 @@ enum
|
||||
|
||||
/* LC_NUMERIC category: formatting of numbers.
|
||||
These also correspond to members of `struct lconv'; see <locale.h>. */
|
||||
DECIMAL_POINT = _NL_ITEM (LC_NUMERIC, 0),
|
||||
#define DECIMAL_POINT DECIMAL_POINT
|
||||
__DECIMAL_POINT = _NL_ITEM (LC_NUMERIC, 0),
|
||||
#ifdef __USE_GNU
|
||||
# define DECIMAL_POINT __DECIMAL_POINT
|
||||
#endif
|
||||
#ifdef __USE_XOPEN
|
||||
RADIXCHAR = DECIMAL_POINT,
|
||||
RADIXCHAR = __DECIMAL_POINT,
|
||||
# define RADIXCHAR RADIXCHAR
|
||||
#endif
|
||||
THOUSANDS_SEP,
|
||||
#define THOUSANDS_SEP THOUSANDS_SEP
|
||||
#ifdef __USE_XOPEN
|
||||
THOUSEP = THOUSANDS_SEP,
|
||||
# define THOUSANDS_SEP THOUSANDS_SEP
|
||||
__THOUSANDS_SEP,
|
||||
#ifdef __USE_GNU
|
||||
# define THOUSANDS_SEP __THOUSANDS_SEP
|
||||
#endif
|
||||
#ifdef __USE_XOPEN
|
||||
THOUSEP = __THOUSANDS_SEP,
|
||||
# define THOUSANDS_SEP __THOUSANDS_SEP
|
||||
#endif
|
||||
__GROUPING,
|
||||
#ifdef __USE_GNU
|
||||
# define GROUPING __GROUPING
|
||||
#endif
|
||||
GROUPING,
|
||||
#define GROUPING GROUPING
|
||||
_NL_NUMERIC_DECIMAL_POINT_WC,
|
||||
_NL_NUMERIC_THOUSANDS_SEP_WC,
|
||||
_NL_NUM_LC_NUMERIC,
|
||||
|
||||
YESEXPR = _NL_ITEM (LC_MESSAGES, 0), /* Regex matching ``yes'' input. */
|
||||
#define YESEXPR YESEXPR
|
||||
NOEXPR, /* Regex matching ``no'' input. */
|
||||
#define NOEXPR NOEXPR
|
||||
YESSTR, /* Output string for ``yes''. */
|
||||
#define YESSTR YESSTR
|
||||
NOSTR, /* Output string for ``no''. */
|
||||
#define NOSTR NOSTR
|
||||
__YESEXPR = _NL_ITEM (LC_MESSAGES, 0), /* Regex matching ``yes'' input. */
|
||||
#ifdef __USE_GNU
|
||||
# define YESEXPR __YESEXPR
|
||||
#endif
|
||||
__NOEXPR, /* Regex matching ``no'' input. */
|
||||
#ifdef __USE_GNU
|
||||
# define NOEXPR __NOEXPR
|
||||
#endif
|
||||
__YESSTR, /* Output string for ``yes''. */
|
||||
#ifdef __USE_GNU
|
||||
# define YESSTR __YESSTR
|
||||
#endif
|
||||
__NOSTR, /* Output string for ``no''. */
|
||||
#ifdef __USE_GNU
|
||||
# define NOSTR __NOSTR
|
||||
#endif
|
||||
_NL_NUM_LC_MESSAGES,
|
||||
|
||||
_NL_PAPER_HEIGHT = _NL_ITEM (LC_PAPER, 0),
|
||||
|
@ -165,7 +165,7 @@ endif
|
||||
endif
|
||||
|
||||
# The fdlibm code generates a lot of these warnings but is otherwise clean.
|
||||
override CFLAGS += -Wno-uninitialized -Wno-write-strings
|
||||
override CFLAGS += -Wno-uninitialized
|
||||
|
||||
# The -lieee library is actually an object file.
|
||||
# The module just defines the _LIB_VERSION_ variable.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Prototype declarations for math functions; helper file for <math.h>.
|
||||
Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -235,6 +235,9 @@ __MATHCALL (yn,, (int, _Mdouble_));
|
||||
__MATHCALL (erf,, (_Mdouble_));
|
||||
__MATHCALL (erfc,, (_Mdouble_));
|
||||
__MATHCALL (lgamma,, (_Mdouble_));
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
__MATHCALL (tgamma,, (_Mdouble_));
|
||||
#endif
|
||||
|
||||
@ -270,8 +273,10 @@ __MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y));
|
||||
__MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n));
|
||||
# endif
|
||||
|
||||
# if defined __USE_MISC || defined __USE_ISOC99
|
||||
/* Return X times (2 to the Nth power). */
|
||||
__MATHCALL (scalbn,, (_Mdouble_ __x, int __n));
|
||||
# endif
|
||||
|
||||
/* Return the binary exponent of X, which must be nonzero. */
|
||||
__MATHDECL (int,ilogb,, (_Mdouble_ __x));
|
||||
|
24
po/de.po
24
po/de.po
@ -3205,15 +3205,16 @@ msgstr "
|
||||
#: locale/programs/ld-monetary.c:369 locale/programs/ld-numeric.c:193
|
||||
#, c-format
|
||||
msgid "`-1' must be last entry in `%s' field in `%s' category"
|
||||
msgstr "»-1« muß der letzte Eintrag im »%s«-Feld in der »%s«-Kategorie sein"
|
||||
msgstr "»-1« muß der letzte Eintrag im »%s«-Feld der »%s«-Kategorie sein"
|
||||
|
||||
#: locale/programs/ld-collate.c:1670
|
||||
msgid "`...' must only be used in `...' and `UNDEFINED' entries"
|
||||
msgstr "»...« darf nur in »...« und »UNDEFINED« Einträgen verwendet werden"
|
||||
msgstr "»...« darf nur in »...« und »UNDEFINED«-Einträgen verwendet werden"
|
||||
|
||||
# Alternative: ... muss ... nach ... kommen
|
||||
#: locale/programs/locfile.c:674
|
||||
msgid "`from' expected after first argument to `collating-element'"
|
||||
msgstr "»from« erwartet nach dem ersten Argument von »collating-element«"
|
||||
msgstr "»from« wird nach dem ersten Argument von »collating-element« erwartet"
|
||||
|
||||
#: locale/programs/ld-collate.c:1122
|
||||
msgid "`from' string in collation element declaration contains unknown character"
|
||||
@ -3306,7 +3307,7 @@ msgstr "Kann die Abk
|
||||
#: sunrpc/svc_simple.c:75
|
||||
#, c-format
|
||||
msgid "can't reassign procedure number %d\n"
|
||||
msgstr "Kann die Prozedurnummer %d nicht erneut zuweisen\n"
|
||||
msgstr "Kann die Nummer der Prozedur %d nicht erneut zuweisen\n"
|
||||
|
||||
#: locale/programs/localedef.c:276
|
||||
#, c-format
|
||||
@ -3325,10 +3326,11 @@ msgstr "Kann keinen internen Deskriptor erzeugen"
|
||||
msgid "cannot create internal descriptors"
|
||||
msgstr "Kann keine internen Deskriptoren erzeugen"
|
||||
|
||||
# ;-)
|
||||
#: nscd/connections.c:183
|
||||
#, c-format
|
||||
msgid "cannot enable socket to accept connections: %s"
|
||||
msgstr "Der Socken kann nicht zum Annehmen von Verbindungen aktiviert werden: %s"
|
||||
msgstr "Der Socket kann nicht zum Annehmen von Verbindungen aktiviert werden: %s"
|
||||
|
||||
#: sunrpc/rpc_main.c:341
|
||||
#, c-format
|
||||
@ -3750,12 +3752,13 @@ msgstr "Die Datei
|
||||
|
||||
#: locale/programs/locfile.c:683
|
||||
msgid "from-value of `collating-element' must be a string"
|
||||
msgstr "Der »From«-Wert eines Sortierelementes muß ein String sein"
|
||||
msgstr "Der »From«-Wert eines Sortierelementes muß eine Zeichenkette sein"
|
||||
|
||||
#: inet/rcmd.c:324
|
||||
msgid "fstat failed"
|
||||
msgstr "Fehler beim Holen des Datei-Status mit »fstat«"
|
||||
|
||||
# Gut! ;-)
|
||||
#: locale/programs/linereader.c:333
|
||||
msgid "garbage at end of character code specification"
|
||||
msgstr "Murks am Ende einer Zeichensatzspezifikation"
|
||||
@ -4073,7 +4076,7 @@ msgstr "netname2user: der Principal-Name
|
||||
|
||||
#: nis/nss_nisplus/nisplus-publickey.c:374
|
||||
msgid "netname2user: should not have uid 0"
|
||||
msgstr "netname2user: Sollte nicht die Benutzernummer 0 haben"
|
||||
msgstr "netname2user: sollte nicht die Benutzernummer 0 haben"
|
||||
|
||||
#: sunrpc/svc_simple.c:158
|
||||
#, c-format
|
||||
@ -4178,9 +4181,10 @@ msgstr "Fehler beim Aufruf des Pr
|
||||
msgid "print list of count paths and their number of use"
|
||||
msgstr "Gib eine Liste der gezählten Pfade und der Anzahl der Benutzung aus"
|
||||
|
||||
# So sonst oft.
|
||||
#: iconv/iconv_prog.c:61
|
||||
msgid "print progress information"
|
||||
msgstr "Gebe Informationen über den Bearbeitungsstand aus"
|
||||
msgstr "Gib Informationen über den Bearbeitungsstand aus"
|
||||
|
||||
#: db2/makedb.c:345
|
||||
#, c-format
|
||||
@ -4466,7 +4470,7 @@ msgstr "Syntaxfehler im Prolog: %s"
|
||||
#: locale/programs/repertoire.c:272
|
||||
#, c-format
|
||||
msgid "syntax error in repertoire map definition: %s"
|
||||
msgstr "Syntaxfehler in der »epertoire« Map-Definition: %s"
|
||||
msgstr "Syntaxfehler in der »repertoire« Map-Definition: %s"
|
||||
|
||||
#: locale/programs/locfile.c:985
|
||||
msgid "syntax error in time locale definition"
|
||||
@ -4625,7 +4629,7 @@ msgstr "Syntax: %s Eingabedatei\n"
|
||||
|
||||
#: timezone/zic.c:2109
|
||||
msgid "use of 2/29 in non leap-year"
|
||||
msgstr "Der 29. Februar wurde in einem nicht-Schaltjahr verwendet"
|
||||
msgstr "Der 29. Februar wurde in einem Jahr verwendet, das kein Schaltjahr ist"
|
||||
|
||||
#: locale/programs/charmap.c:521 locale/programs/charmap.c:575
|
||||
#, c-format
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991,92,94,95,96,97,98,99 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991,92,94,95,96,97,98,99,2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -97,8 +97,9 @@ typedef __pid_t pid_t;
|
||||
# define __pid_t_defined
|
||||
#endif
|
||||
|
||||
#if defined __USE_SVID || defined __USE_XOPEN
|
||||
#if (defined __USE_SVID || defined __USE_XOPEN) && !defined __id_t_defined
|
||||
typedef __id_t id_t;
|
||||
# define __id_t_defined
|
||||
#endif
|
||||
|
||||
#ifndef __ssize_t_defined
|
||||
@ -127,7 +128,10 @@ typedef __key_t key_t;
|
||||
typedef __useconds_t useconds_t;
|
||||
# define __useconds_t_defined
|
||||
# endif
|
||||
# ifndef __suseconds_t_defined
|
||||
typedef __suseconds_t suseconds_t;
|
||||
# define __suseconds_t_defined
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define __need_size_t
|
||||
@ -218,15 +222,27 @@ typedef __blksize_t blksize_t;
|
||||
typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks. */
|
||||
# define __blkcnt_t_defined
|
||||
# endif
|
||||
# ifndef __fsblkcnt_t_defined
|
||||
typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks. */
|
||||
# define __fsblkcnt_t_defined
|
||||
# endif
|
||||
# ifndef __fsfilcnt_t_defined
|
||||
typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes. */
|
||||
# define __fsfilcnt_t_defined
|
||||
# endif
|
||||
#else
|
||||
# ifndef __blkcnt_t_defined
|
||||
typedef __blkcnt64_t blkcnt_t; /* Type to count number of disk blocks. */
|
||||
# define __blkcnt_t_defined
|
||||
# endif
|
||||
# ifndef __fsblkcnt_t_defined
|
||||
typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks. */
|
||||
# define __fsblkcnt_t_defined
|
||||
# endif
|
||||
# ifndef __fsfilcnt_t_defined
|
||||
typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes. */
|
||||
# define __fsfilcnt_t_defined
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
|
@ -864,15 +864,12 @@ extern int getdtablesize (void) __THROW;
|
||||
Returns zero on success and -1 for errors (with errno set). */
|
||||
extern int brk (void *__addr) __THROW;
|
||||
|
||||
# define __need_ptrdiff_t
|
||||
# include <stddef.h>
|
||||
|
||||
/* Increase or decrease the end of accessible data space by DELTA bytes.
|
||||
If successful, returns the address the previous end of data space
|
||||
(i.e. the beginning of the new space, if DELTA > 0);
|
||||
returns (void *) -1 for errors (with errno set). */
|
||||
extern void *__sbrk (ptrdiff_t __delta) __THROW;
|
||||
extern void *sbrk (ptrdiff_t __delta) __THROW;
|
||||
extern void *__sbrk (intptr_t __delta) __THROW;
|
||||
extern void *sbrk (intptr_t __delta) __THROW;
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1992, 94, 96, 97, 98, 99 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1992, 94, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -24,16 +24,35 @@
|
||||
/* Get the system-dependent definitions of structures and bit values. */
|
||||
#include <bits/resource.h>
|
||||
|
||||
#ifndef __id_t_defined
|
||||
typedef __id_t id_t;
|
||||
# define __id_t_defined
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* The X/Open standard defines that all the functions below must use
|
||||
`int' as the type for the first argument. When we are compiling with
|
||||
GNU extensions we change this slightly to provide better error
|
||||
checking. */
|
||||
#ifdef __USE_GNU
|
||||
typedef enum __rlimit_resource __rlimit_resource_t;
|
||||
typedef enum __rusage_who __rusage_who_t;
|
||||
typedef enum __priority_which __priority_which_t;
|
||||
#else
|
||||
typedef int __rlimit_resource_t;
|
||||
typedef int __rusage_who_t;
|
||||
typedef int __priority_which_t;
|
||||
#endif
|
||||
|
||||
/* Put the soft and hard limits for RESOURCE in *RLIMITS.
|
||||
Returns 0 if successful, -1 if not (and sets errno). */
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
extern int getrlimit (enum __rlimit_resource __resource,
|
||||
extern int getrlimit (__rlimit_resource_t __resource,
|
||||
struct rlimit *__rlimits) __THROW;
|
||||
#else
|
||||
# ifdef __REDIRECT
|
||||
extern int __REDIRECT (getrlimit, (enum __rlimit_resource __resource,
|
||||
extern int __REDIRECT (getrlimit, (__rlimit_resource_t __resource,
|
||||
struct rlimit *__rlimits) __THROW,
|
||||
getrlimit64);
|
||||
# else
|
||||
@ -41,7 +60,7 @@ extern int __REDIRECT (getrlimit, (enum __rlimit_resource __resource,
|
||||
# endif
|
||||
#endif
|
||||
#ifdef __USE_LARGEFILE64
|
||||
extern int getrlimit64 (enum __rlimit_resource __resource,
|
||||
extern int getrlimit64 (__rlimit_resource_t __resource,
|
||||
struct rlimit64 *__rlimits) __THROW;
|
||||
#endif
|
||||
|
||||
@ -49,11 +68,11 @@ extern int getrlimit64 (enum __rlimit_resource __resource,
|
||||
Only the super-user can increase hard limits.
|
||||
Return 0 if successful, -1 if not (and sets errno). */
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
extern int setrlimit (enum __rlimit_resource __resource,
|
||||
extern int setrlimit (__rlimit_resource_t __resource,
|
||||
__const struct rlimit *__rlimits) __THROW;
|
||||
#else
|
||||
# ifdef __REDIRECT
|
||||
extern int __REDIRECT (setrlimit, (enum __rlimit_resource __resource,
|
||||
extern int __REDIRECT (setrlimit, (__rlimit_resource_t __resource,
|
||||
__const struct rlimit *__rlimits) __THROW,
|
||||
setrlimit64);
|
||||
# else
|
||||
@ -61,23 +80,23 @@ extern int __REDIRECT (setrlimit, (enum __rlimit_resource __resource,
|
||||
# endif
|
||||
#endif
|
||||
#ifdef __USE_LARGEFILE64
|
||||
extern int setrlimit64 (enum __rlimit_resource __resource,
|
||||
extern int setrlimit64 (__rlimit_resource_t __resource,
|
||||
__const struct rlimit64 *__rlimits) __THROW;
|
||||
#endif
|
||||
|
||||
/* Return resource usage information on process indicated by WHO
|
||||
and put it in *USAGE. Returns 0 for success, -1 for failure. */
|
||||
extern int getrusage (enum __rusage_who __who, struct rusage *__usage) __THROW;
|
||||
extern int getrusage (__rusage_who_t __who, struct rusage *__usage) __THROW;
|
||||
|
||||
/* Return the highest priority of any process specified by WHICH and WHO
|
||||
(see above); if WHO is zero, the current process, process group, or user
|
||||
(as specified by WHO) is used. A lower priority number means higher
|
||||
priority. Priorities range from PRIO_MIN to PRIO_MAX (above). */
|
||||
extern int getpriority (enum __priority_which __which, int __who) __THROW;
|
||||
extern int getpriority (__priority_which_t __which, id_t __who) __THROW;
|
||||
|
||||
/* Set the priority of all processes specified by WHICH and WHO (see above)
|
||||
to PRIO. Returns 0 on success, -1 on errors. */
|
||||
extern int setpriority (enum __priority_which __which, int __who, int __prio)
|
||||
extern int setpriority (__priority_which_t __which, id_t __who, int __prio)
|
||||
__THROW;
|
||||
|
||||
__END_DECLS
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* libc-internal interface for mutex locks. Stub version.
|
||||
Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -29,9 +29,11 @@
|
||||
begins with a `*'), because its storage size will not be known outside
|
||||
of libc. */
|
||||
#define __libc_lock_define(CLASS,NAME)
|
||||
#define __libc_rwlock_define(CLASS,NAME)
|
||||
|
||||
/* Define an initialized lock variable NAME with storage class CLASS. */
|
||||
#define __libc_lock_define_initialized(CLASS,NAME)
|
||||
#define __libc_rwlock_define_initialized(CLASS,NAME)
|
||||
|
||||
/* Define an initialized recursive lock variable NAME with storage
|
||||
class CLASS. */
|
||||
@ -40,6 +42,7 @@
|
||||
/* Initialize the named lock variable, leaving it in a consistent, unlocked
|
||||
state. */
|
||||
#define __libc_lock_init(NAME)
|
||||
#define __libc_rwlock_init(NAME)
|
||||
|
||||
/* Same as last but this time we initialize a recursive mutex. */
|
||||
#define __libc_lock_init_recursive(NAME)
|
||||
@ -48,24 +51,30 @@
|
||||
used again until __libc_lock_init is called again on it. This must be
|
||||
called on a lock variable before the containing storage is reused. */
|
||||
#define __libc_lock_fini(NAME)
|
||||
#define __libc_rwlock_fini(NAME)
|
||||
|
||||
/* Finalize recursive named lock. */
|
||||
#define __libc_lock_fini_recursive(NAME)
|
||||
|
||||
/* Lock the named lock variable. */
|
||||
#define __libc_lock_lock(NAME)
|
||||
#define __libc_rwlock_rdlock(NAME)
|
||||
#define __libc_rwlock_wrlock(NAME)
|
||||
|
||||
/* Lock the recursive named lock variable. */
|
||||
#define __libc_lock_lock_recursive(NAME)
|
||||
|
||||
/* Try to lock the named lock variable. */
|
||||
#define __libc_lock_trylock(NAME) 0
|
||||
#define __libc_rwlock_tryrdlock(NAME) 0
|
||||
#define __libc_rwlock_trywrlock(NAME) 0
|
||||
|
||||
/* Try to lock the recursive named lock variable. */
|
||||
#define __libc_lock_trylock_recursive(NAME) 0
|
||||
|
||||
/* Unlock the named lock variable. */
|
||||
#define __libc_lock_unlock(NAME)
|
||||
#define __libc_rwlock_unlock(NAME)
|
||||
|
||||
/* Unlock the recursive named lock variable. */
|
||||
#define __libc_lock_unlock_recursive(NAME)
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -20,7 +20,7 @@
|
||||
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <bits/types.h>
|
||||
|
||||
/* Flags for `shmat'. */
|
||||
#define SHM_RDONLY 010000 /* attach read-only else read-write */
|
||||
@ -32,6 +32,9 @@
|
||||
#define SHM_UNLOCK 12 /* unlock segment (root only) */
|
||||
|
||||
|
||||
/* Type to count number of attaches. */
|
||||
typedef unsigned short int shmatt_t;
|
||||
|
||||
/* Data structure describing a set of semaphores. */
|
||||
struct shmid_ds
|
||||
{
|
||||
@ -42,5 +45,5 @@ struct shmid_ds
|
||||
__time_t sem_ctime; /* time of last change by shmctl() */
|
||||
__pid_t shm_cpid; /* pid of creator */
|
||||
__pid_t shm_lpid; /* pid of last shmop */
|
||||
unsigned short int shm_nattch; /* number of current attaches */
|
||||
shmatt_t shm_nattch; /* number of current attaches */
|
||||
};
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -26,7 +26,7 @@
|
||||
int
|
||||
getpriority (which, who)
|
||||
enum __priority_which which;
|
||||
int who;
|
||||
id_t who;
|
||||
{
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -29,7 +29,7 @@ extern int __libc_multiple_libcs; /* Defined in init-first.c. */
|
||||
If INCREMENT is negative, shrink data space by - INCREMENT.
|
||||
Return start of new space allocated, or -1 for errors. */
|
||||
void *
|
||||
__sbrk (ptrdiff_t increment)
|
||||
__sbrk (intptr_t increment)
|
||||
{
|
||||
void *oldbrk;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -24,7 +24,7 @@
|
||||
int
|
||||
setpriority (which, who, prio)
|
||||
enum __priority_which which;
|
||||
int who;
|
||||
id_t who;
|
||||
int prio;
|
||||
{
|
||||
__set_errno (ENOSYS);
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -25,7 +25,7 @@
|
||||
int
|
||||
__utimes (file, tvp)
|
||||
const char *file;
|
||||
struct timeval tvp[2];
|
||||
const struct timeval tvp[2];
|
||||
{
|
||||
if (file == NULL || tvp == NULL)
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -42,9 +42,9 @@ struct semid_ds
|
||||
__time_t sem_otime; /* last semop() time */
|
||||
__time_t sem_ctime; /* last time changed by semctl() */
|
||||
struct sem *__sembase; /* ptr to first semaphore in array */
|
||||
struct sem_queue *__sem_pending; /* pending operations */
|
||||
struct sem_queue *__sem_pending_last; /* last pending operation */
|
||||
struct sem_undo *__undo; /* ondo requests on this array */
|
||||
struct __sem_queue *__sem_pending; /* pending operations */
|
||||
struct __sem_queue *__sem_pending_last;/* last pending operation */
|
||||
struct __sem_undo *__undo; /* ondo requests on this array */
|
||||
unsigned short int sem_nsems; /* number of semaphores in set */
|
||||
};
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -20,7 +20,7 @@
|
||||
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <bits/types.h>
|
||||
|
||||
/* Permission flag for shmget. */
|
||||
#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
|
||||
@ -36,6 +36,9 @@
|
||||
#define SHM_UNLOCK 12 /* unlock segment (root only) */
|
||||
|
||||
|
||||
/* Type to count number of attaches. */
|
||||
typedef unsigned short int shmatt_t;
|
||||
|
||||
/* Data structure describing a set of semaphores. */
|
||||
struct shmid_ds
|
||||
{
|
||||
@ -46,7 +49,7 @@ struct shmid_ds
|
||||
__time_t shm_ctime; /* time of last change by shmctl() */
|
||||
__ipc_pid_t shm_cpid; /* pid of creator */
|
||||
__ipc_pid_t shm_lpid; /* pid of last shmop */
|
||||
unsigned short int shm_nattch; /* number of current attaches */
|
||||
shmatt_t shm_nattch; /* number of current attaches */
|
||||
unsigned short int __shm_npages; /* size of segment (pages) */
|
||||
unsigned long int *__shm_pages; /* array of ptrs to frames -> SHMMAX */
|
||||
struct vm_area_struct *__attaches; /* descriptors for attaches */
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1994, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -25,7 +25,7 @@
|
||||
or user (as specified by WHO) is used. A lower priority number means higher
|
||||
priority. Priorities range from PRIO_MIN to PRIO_MAX. */
|
||||
int
|
||||
getpriority (enum __priority_which which, int who)
|
||||
getpriority (enum __priority_which which, id_t who)
|
||||
{
|
||||
error_t err, onerr;
|
||||
int maxpri = INT_MIN;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 94, 95, 97, 98 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991, 94, 95, 97, 98, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -24,7 +24,7 @@
|
||||
If INCREMENT is negative, shrink data space by - INCREMENT.
|
||||
Return the address of the start of the new data space, or -1 for errors. */
|
||||
void *
|
||||
__sbrk (int increment)
|
||||
__sbrk (intptr_t increment)
|
||||
{
|
||||
void *result;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1994, 1995, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1994, 1995, 1997, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -22,7 +22,7 @@
|
||||
/* Set the priority of all processes specified by WHICH and WHO
|
||||
to PRIO. Returns 0 on success, -1 on errors. */
|
||||
int
|
||||
setpriority (enum __priority_which which, int who, int prio)
|
||||
setpriority (enum __priority_which which, id_t who, int prio)
|
||||
{
|
||||
error_t err;
|
||||
error_t pidloser, priloser;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 92, 93, 94, 95, 97, 99 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991-1995, 97, 99, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -26,7 +26,7 @@
|
||||
int
|
||||
__utimes (file, tvp)
|
||||
const char *file;
|
||||
struct timeval tvp[2];
|
||||
const struct timeval tvp[2];
|
||||
{
|
||||
struct timeval timevals[2];
|
||||
error_t err;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1995, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995, 1997, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -24,7 +24,7 @@
|
||||
/* Change the access time of FILE to TVP[0] and
|
||||
the modification time of FILE to TVP[1]. */
|
||||
int
|
||||
__utimes (const char *file, struct timeval tvp[2])
|
||||
__utimes (const char *file, const struct timeval tvp[2])
|
||||
{
|
||||
struct utimbuf buf, *times;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1994, 1996, 1997, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -29,7 +29,7 @@ extern int __sysmp __P ((int, ...));
|
||||
int
|
||||
getpriority (which, who)
|
||||
enum __priority_which which;
|
||||
int who;
|
||||
id_t who;
|
||||
{
|
||||
switch (which)
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1994, 1996, 1997, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -23,7 +23,7 @@
|
||||
int
|
||||
setpriority (which, who, prio)
|
||||
enum __priority_which which;
|
||||
int who;
|
||||
id_t who;
|
||||
int prio;
|
||||
{
|
||||
switch (which)
|
||||
|
@ -20,7 +20,7 @@
|
||||
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <bits/types.h>
|
||||
|
||||
/* Permission flag for shmget. */
|
||||
#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
|
||||
@ -36,6 +36,9 @@
|
||||
#define SHM_UNLOCK 12 /* unlock segment (root only) */
|
||||
|
||||
|
||||
/* Type to count number of attaches. */
|
||||
typedef unsigned long int shmatt_t;
|
||||
|
||||
/* Data structure describing a set of semaphores. */
|
||||
struct shmid_ds
|
||||
{
|
||||
@ -44,9 +47,9 @@ struct shmid_ds
|
||||
__time_t shm_atime; /* time of last shmat() */
|
||||
__time_t shm_dtime; /* time of last shmdt() */
|
||||
__time_t shm_ctime; /* time of last change by shmctl() */
|
||||
pid_t shm_cpid; /* pid of creator */
|
||||
pid_t shm_lpid; /* pid of last shmop */
|
||||
unsigned long int shm_nattch; /* number of current attaches */
|
||||
__pid_t shm_cpid; /* pid of creator */
|
||||
__pid_t shm_lpid; /* pid of last shmop */
|
||||
shmatt_t shm_nattch; /* number of current attaches */
|
||||
unsigned long int __unused1;
|
||||
unsigned long int __unused2;
|
||||
};
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user