mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03: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:
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>
|
2000-02-25 Andreas Jaeger <aj@suse.de>
|
||||||
|
|
||||||
* math/Versions: Move fe* function to GLIBC_2.2. The patches have
|
* math/Versions: Move fe* function to GLIBC_2.2. The patches have
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* libc-internal interface for mutex locks. Stub version.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -29,9 +29,11 @@
|
|||||||
begins with a `*'), because its storage size will not be known outside
|
begins with a `*'), because its storage size will not be known outside
|
||||||
of libc. */
|
of libc. */
|
||||||
#define __libc_lock_define(CLASS,NAME)
|
#define __libc_lock_define(CLASS,NAME)
|
||||||
|
#define __libc_rwlock_define(CLASS,NAME)
|
||||||
|
|
||||||
/* Define an initialized lock variable NAME with storage class CLASS. */
|
/* Define an initialized lock variable NAME with storage class CLASS. */
|
||||||
#define __libc_lock_define_initialized(CLASS,NAME)
|
#define __libc_lock_define_initialized(CLASS,NAME)
|
||||||
|
#define __libc_rwlock_define_initialized(CLASS,NAME)
|
||||||
|
|
||||||
/* Define an initialized recursive lock variable NAME with storage
|
/* Define an initialized recursive lock variable NAME with storage
|
||||||
class CLASS. */
|
class CLASS. */
|
||||||
@ -40,6 +42,7 @@
|
|||||||
/* Initialize the named lock variable, leaving it in a consistent, unlocked
|
/* Initialize the named lock variable, leaving it in a consistent, unlocked
|
||||||
state. */
|
state. */
|
||||||
#define __libc_lock_init(NAME)
|
#define __libc_lock_init(NAME)
|
||||||
|
#define __libc_rwlock_init(NAME)
|
||||||
|
|
||||||
/* Same as last but this time we initialize a recursive mutex. */
|
/* Same as last but this time we initialize a recursive mutex. */
|
||||||
#define __libc_lock_init_recursive(NAME)
|
#define __libc_lock_init_recursive(NAME)
|
||||||
@ -48,24 +51,30 @@
|
|||||||
used again until __libc_lock_init is called again on it. This must be
|
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. */
|
called on a lock variable before the containing storage is reused. */
|
||||||
#define __libc_lock_fini(NAME)
|
#define __libc_lock_fini(NAME)
|
||||||
|
#define __libc_rwlock_fini(NAME)
|
||||||
|
|
||||||
/* Finalize recursive named lock. */
|
/* Finalize recursive named lock. */
|
||||||
#define __libc_lock_fini_recursive(NAME)
|
#define __libc_lock_fini_recursive(NAME)
|
||||||
|
|
||||||
/* Lock the named lock variable. */
|
/* Lock the named lock variable. */
|
||||||
#define __libc_lock_lock(NAME)
|
#define __libc_lock_lock(NAME)
|
||||||
|
#define __libc_rwlock_rdlock(NAME)
|
||||||
|
#define __libc_rwlock_wrlock(NAME)
|
||||||
|
|
||||||
/* Lock the recursive named lock variable. */
|
/* Lock the recursive named lock variable. */
|
||||||
#define __libc_lock_lock_recursive(NAME)
|
#define __libc_lock_lock_recursive(NAME)
|
||||||
|
|
||||||
/* Try to lock the named lock variable. */
|
/* Try to lock the named lock variable. */
|
||||||
#define __libc_lock_trylock(NAME) 0
|
#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. */
|
/* Try to lock the recursive named lock variable. */
|
||||||
#define __libc_lock_trylock_recursive(NAME) 0
|
#define __libc_lock_trylock_recursive(NAME) 0
|
||||||
|
|
||||||
/* Unlock the named lock variable. */
|
/* Unlock the named lock variable. */
|
||||||
#define __libc_lock_unlock(NAME)
|
#define __libc_lock_unlock(NAME)
|
||||||
|
#define __libc_rwlock_unlock(NAME)
|
||||||
|
|
||||||
/* Unlock the recursive named lock variable. */
|
/* Unlock the recursive named lock variable. */
|
||||||
#define __libc_lock_unlock_recursive(NAME)
|
#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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -20,7 +20,7 @@
|
|||||||
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
|
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <bits/types.h>
|
||||||
|
|
||||||
/* Flags for `shmat'. */
|
/* Flags for `shmat'. */
|
||||||
#define SHM_RDONLY 010000 /* attach read-only else read-write */
|
#define SHM_RDONLY 010000 /* attach read-only else read-write */
|
||||||
@ -32,6 +32,9 @@
|
|||||||
#define SHM_UNLOCK 12 /* unlock segment (root only) */
|
#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. */
|
/* Data structure describing a set of semaphores. */
|
||||||
struct shmid_ds
|
struct shmid_ds
|
||||||
{
|
{
|
||||||
@ -42,5 +45,5 @@ struct shmid_ds
|
|||||||
__time_t sem_ctime; /* time of last change by shmctl() */
|
__time_t sem_ctime; /* time of last change by shmctl() */
|
||||||
__pid_t shm_cpid; /* pid of creator */
|
__pid_t shm_cpid; /* pid of creator */
|
||||||
__pid_t shm_lpid; /* pid of last shmop */
|
__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";
|
$CFLAGS = "-I. '-D__attribute__(x)=' -D_XOPEN_SOURCE=500";
|
||||||
|
|
||||||
# List of the headers we are testing.
|
# 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",
|
"stropts.h", "strings.h", "string.h", "stdlib.h", "stdio.h",
|
||||||
"stddef.h", "stdarg.h", "signal.h", "setjmp.h", "semaphore.h",
|
"stddef.h", "stdarg.h", "signal.h", "setjmp.h", "semaphore.h",
|
||||||
"search.h", "sched.h", "regex.h", "pwd.h", "pthread.h",
|
"search.h", "sched.h", "regex.h", "pwd.h", "pthread.h",
|
||||||
@ -240,6 +245,7 @@ while ($#headers >= 0) {
|
|||||||
my($fnamebase) = "$tmpdir/$hf-test";
|
my($fnamebase) = "$tmpdir/$hf-test";
|
||||||
my($missing);
|
my($missing);
|
||||||
my(@allow) = ();
|
my(@allow) = ();
|
||||||
|
my(@allowheader) = ();
|
||||||
my($prepend) = $mustprepend{$h};
|
my($prepend) = $mustprepend{$h};
|
||||||
|
|
||||||
printf ("Testing <$h>\n");
|
printf ("Testing <$h>\n");
|
||||||
@ -539,6 +545,10 @@ while ($#headers >= 0) {
|
|||||||
my($pattern) = $1;
|
my($pattern) = $1;
|
||||||
push @allow, $pattern;
|
push @allow, $pattern;
|
||||||
next control;
|
next control;
|
||||||
|
} elsif (/^allow-header *(.*)/) {
|
||||||
|
my($pattern) = $1;
|
||||||
|
push @allowheader, $pattern;
|
||||||
|
next control;
|
||||||
} else {
|
} else {
|
||||||
# printf ("line is `%s'\n", $_);
|
# printf ("line is `%s'\n", $_);
|
||||||
next control;
|
next control;
|
||||||
@ -548,6 +558,51 @@ while ($#headers >= 0) {
|
|||||||
}
|
}
|
||||||
close (CONTROL);
|
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.
|
# Now check the namespace.
|
||||||
printf (" Checking the namespace of \"%s\"... ", $h);
|
printf (" Checking the namespace of \"%s\"... ", $h);
|
||||||
if ($missing) {
|
if ($missing) {
|
||||||
|
@ -50,6 +50,9 @@ function int open (const char*, int, ...)
|
|||||||
allow-header sys/stat.h
|
allow-header sys/stat.h
|
||||||
allow-header unistd.h
|
allow-header unistd.h
|
||||||
|
|
||||||
allow *_t
|
|
||||||
allow l_*
|
allow l_*
|
||||||
|
allow F_*
|
||||||
|
allow O_*
|
||||||
|
allow S_*
|
||||||
|
allow *_t
|
||||||
#endif
|
#endif
|
||||||
|
@ -7,5 +7,6 @@ constant FNM_NOSYS
|
|||||||
|
|
||||||
function int fnmatch (const char*, const char*, int)
|
function int fnmatch (const char*, const char*, int)
|
||||||
|
|
||||||
|
allow FNM_*
|
||||||
allow *_t
|
allow *_t
|
||||||
#endif
|
#endif
|
||||||
|
@ -32,6 +32,7 @@ function double frexp (double, int*)
|
|||||||
function double ldexp (double, int)
|
function double ldexp (double, int)
|
||||||
function double log (double)
|
function double log (double)
|
||||||
function double log10 (double)
|
function double log10 (double)
|
||||||
|
function double modf (double, double*)
|
||||||
function double pow (double, double)
|
function double pow (double, double)
|
||||||
function double sin (double)
|
function double sin (double)
|
||||||
function double sinh (double)
|
function double sinh (double)
|
||||||
|
@ -22,5 +22,7 @@ function datum dbm_nextkey (DBM*)
|
|||||||
function {DBM*} dbm_open (const char*, int, mode_t)
|
function {DBM*} dbm_open (const char*, int, mode_t)
|
||||||
function int dbm_store (DBM*, datum, datum, int)
|
function int dbm_store (DBM*, datum, datum, int)
|
||||||
|
|
||||||
|
allow dbm_*
|
||||||
|
allow DBM_*
|
||||||
allow *_t
|
allow *_t
|
||||||
#endif
|
#endif
|
||||||
|
@ -9,5 +9,6 @@ function int catclose (nl_catd)
|
|||||||
function {char*} catgets (nl_catd, int, int, const char*)
|
function {char*} catgets (nl_catd, int, int, const char*)
|
||||||
function nl_catd catopen (const char*, int)
|
function nl_catd catopen (const char*, int)
|
||||||
|
|
||||||
|
allow NL_*
|
||||||
allow *_t
|
allow *_t
|
||||||
#endif
|
#endif
|
||||||
|
@ -19,5 +19,9 @@ constant POLLNVAL
|
|||||||
|
|
||||||
function int poll (struct pollfd[], nfsd_t, int)
|
function int poll (struct pollfd[], nfsd_t, int)
|
||||||
|
|
||||||
|
allow pd_*
|
||||||
|
allow ph_*
|
||||||
|
allow ps_*
|
||||||
|
allow POLL*
|
||||||
allow *_t
|
allow *_t
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#ifdef ISO
|
#ifndef ISO
|
||||||
constant PTHREAD_CANCEL_ASYNCHRONOUS
|
constant PTHREAD_CANCEL_ASYNCHRONOUS
|
||||||
constant PTHREAD_CANCEL_ENABLE
|
constant PTHREAD_CANCEL_ENABLE
|
||||||
constant PTHREAD_CANCEL_DEFERRED
|
constant PTHREAD_CANCEL_DEFERRED
|
||||||
|
@ -20,4 +20,5 @@ allow-header sys/types.h
|
|||||||
|
|
||||||
allow sem_*
|
allow sem_*
|
||||||
allow SEM_*
|
allow SEM_*
|
||||||
|
allow *_t
|
||||||
#endif
|
#endif
|
||||||
|
@ -18,3 +18,5 @@ macro-function int sigsetjmp (sigjmp_buf, int)
|
|||||||
macro-function int _setjmp (jmp_buf)
|
macro-function int _setjmp (jmp_buf)
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
allow *_t
|
||||||
|
@ -189,3 +189,14 @@ allow SI_*
|
|||||||
allow sigev_*
|
allow sigev_*
|
||||||
allow SIGEV_*
|
allow SIGEV_*
|
||||||
allow sival_*
|
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_arg
|
||||||
macro va_end
|
macro va_end
|
||||||
macro va_copy
|
macro va_copy
|
||||||
|
|
||||||
|
allow *_t
|
||||||
|
@ -6,3 +6,5 @@ type ptrdiff_t
|
|||||||
type wchar_t
|
type wchar_t
|
||||||
type size_t
|
type size_t
|
||||||
type wint_t
|
type wint_t
|
||||||
|
|
||||||
|
allow *_t
|
||||||
|
@ -100,4 +100,6 @@ variable int optind
|
|||||||
variable int optopt
|
variable int optopt
|
||||||
|
|
||||||
allow-header stddef.h
|
allow-header stddef.h
|
||||||
|
|
||||||
|
allow *_t
|
||||||
#endif
|
#endif
|
||||||
|
@ -83,3 +83,6 @@ allow-header stddef.h
|
|||||||
allow-header limits.h
|
allow-header limits.h
|
||||||
allow-header math.h
|
allow-header math.h
|
||||||
allow-header sys/wait.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)
|
function size_t strxfrm (char*, const char*, size_t)
|
||||||
|
|
||||||
allow-header stddef.h
|
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)
|
function int strncasecmp (const char*, const char*, size_t)
|
||||||
|
|
||||||
type size_t
|
type size_t
|
||||||
|
|
||||||
|
allow *_t
|
||||||
|
@ -121,3 +121,17 @@ function int fattach (int, const char*)
|
|||||||
function int fdetach (const char*)
|
function int fdetach (const char*)
|
||||||
|
|
||||||
allow-header unistd.h
|
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
|
constant IPC_STAT
|
||||||
|
|
||||||
function key_t ftok (const char*, int)
|
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 munmap (void*, size_t)
|
||||||
function int shm_open (const char*, int, mode_t)
|
function int shm_open (const char*, int, mode_t)
|
||||||
function int shm_unlink (const char*)
|
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)
|
function int msgsnd (int, const void*, size_t, int)
|
||||||
|
|
||||||
allow-header sys/ipc.h
|
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 void openlog (const char*, int, int)
|
||||||
function int setlogmask (int)
|
function int setlogmask (int)
|
||||||
function void syslog (int, const char*, ...)
|
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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -99,7 +99,7 @@ extern struct group *getgrnam (__const char *__name) __THROW;
|
|||||||
other reentrant functions so the chances are good this is what the
|
other reentrant functions so the chances are good this is what the
|
||||||
POSIX people would choose. */
|
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,
|
extern int getgrent_r (struct group *__restrict __resultbuf,
|
||||||
char *__restrict __buffer, size_t __buflen,
|
char *__restrict __buffer, size_t __buflen,
|
||||||
struct group **__restrict __result) __THROW;
|
struct group **__restrict __result) __THROW;
|
||||||
|
@ -13,5 +13,5 @@ extern int __getitimer (enum __itimer_which __which,
|
|||||||
extern int __setitimer (enum __itimer_which __which,
|
extern int __setitimer (enum __itimer_which __which,
|
||||||
__const struct itimerval *__new,
|
__const struct itimerval *__new,
|
||||||
struct itimerval *__old);
|
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
|
#endif
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
/* Implementation of the bindtextdomain(3) function
|
/* Implementation of the bindtextdomain(3) function
|
||||||
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. Its master source is NOT part of
|
|
||||||
the C library, however.
|
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU Library General Public License as
|
modify it under the terms of the GNU Library General Public License as
|
||||||
@ -50,6 +47,16 @@ void free ();
|
|||||||
#include "gettext.h"
|
#include "gettext.h"
|
||||||
#include "gettextP.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 @@ */
|
/* @@ end of prolog @@ */
|
||||||
|
|
||||||
/* Contains the default location of the message catalogs. */
|
/* Contains the default location of the message catalogs. */
|
||||||
@ -58,6 +65,9 @@ extern const char _nl_default_dirname[];
|
|||||||
/* List with bindings of specific domains. */
|
/* List with bindings of specific domains. */
|
||||||
extern struct binding *_nl_domain_bindings;
|
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
|
/* Names for the libintl functions are a problem. They must not clash
|
||||||
with existing names and they should follow ANSI C. But this source
|
with existing names and they should follow ANSI C. But this source
|
||||||
@ -80,11 +90,14 @@ BINDTEXTDOMAIN (domainname, dirname)
|
|||||||
const char *dirname;
|
const char *dirname;
|
||||||
{
|
{
|
||||||
struct binding *binding;
|
struct binding *binding;
|
||||||
|
char *result;
|
||||||
|
|
||||||
/* Some sanity checks. */
|
/* Some sanity checks. */
|
||||||
if (domainname == NULL || domainname[0] == '\0')
|
if (domainname == NULL || domainname[0] == '\0')
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
__libc_rwlock_wrlock (_nl_state_lock);
|
||||||
|
|
||||||
for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
|
for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
|
||||||
{
|
{
|
||||||
int compare = strcmp (domainname, binding->domainname);
|
int compare = strcmp (domainname, binding->domainname);
|
||||||
@ -101,104 +114,97 @@ BINDTEXTDOMAIN (domainname, dirname)
|
|||||||
|
|
||||||
if (dirname == NULL)
|
if (dirname == NULL)
|
||||||
/* The current binding has be to returned. */
|
/* The current binding has be to returned. */
|
||||||
return binding == NULL ? (char *) _nl_default_dirname : binding->dirname;
|
result = binding == NULL ? (char *) _nl_default_dirname : binding->dirname;
|
||||||
|
else if (binding != NULL)
|
||||||
if (binding != NULL)
|
|
||||||
{
|
{
|
||||||
/* The domain is already bound. If the new value and the old
|
/* The domain is already bound. If the new value and the old
|
||||||
one are equal we simply do nothing. Otherwise replace the
|
one are equal we simply do nothing. Otherwise replace the
|
||||||
old binding. */
|
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)
|
if (strcmp (dirname, _nl_default_dirname) == 0)
|
||||||
new_dirname = (char *) _nl_default_dirname;
|
result = (char *) _nl_default_dirname;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if defined _LIBC || defined HAVE_STRDUP
|
#if defined _LIBC || defined HAVE_STRDUP
|
||||||
new_dirname = strdup (dirname);
|
result = strdup (dirname);
|
||||||
if (new_dirname == NULL)
|
|
||||||
return NULL;
|
|
||||||
#else
|
#else
|
||||||
size_t len = strlen (dirname) + 1;
|
size_t len = strlen (dirname) + 1;
|
||||||
new_dirname = (char *) malloc (len);
|
result = (char *) malloc (len);
|
||||||
if (new_dirname == NULL)
|
if (result != NULL)
|
||||||
return NULL;
|
memcpy (result, dirname, len);
|
||||||
|
|
||||||
memcpy (new_dirname, dirname, len);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (binding->dirname != _nl_default_dirname)
|
if (result != NULL)
|
||||||
free (binding->dirname);
|
{
|
||||||
|
if (binding->dirname != _nl_default_dirname)
|
||||||
|
free (binding->dirname);
|
||||||
|
|
||||||
binding->dirname = new_dirname;
|
binding->dirname = result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* We have to create a new binding. */
|
/* We have to create a new binding. */
|
||||||
#if !defined _LIBC && !defined HAVE_STRDUP
|
size_t len = strlen (domainname) + 1;
|
||||||
size_t len;
|
|
||||||
#endif
|
|
||||||
struct binding *new_binding =
|
struct binding *new_binding =
|
||||||
(struct binding *) malloc (sizeof (*new_binding));
|
(struct binding *) malloc (sizeof (*new_binding) + len);
|
||||||
|
|
||||||
if (new_binding == NULL)
|
if (new_binding == NULL)
|
||||||
return NULL;
|
result = 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;
|
|
||||||
else
|
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
|
#if defined _LIBC || defined HAVE_STRDUP
|
||||||
new_binding->dirname = strdup (dirname);
|
result = new_binding->dirname = strdup (dirname);
|
||||||
if (new_binding->dirname == NULL)
|
|
||||||
return NULL;
|
|
||||||
#else
|
#else
|
||||||
len = strlen (dirname) + 1;
|
len = strlen (dirname) + 1;
|
||||||
new_binding->dirname = (char *) malloc (len);
|
result = new_binding->dirname = (char *) malloc (len);
|
||||||
if (new_binding->dirname == NULL)
|
if (result != NULL)
|
||||||
return NULL;
|
memcpy (new_binding->dirname, dirname, len);
|
||||||
memcpy (new_binding->dirname, dirname, len);
|
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Now enqueue it. */
|
if (result != NULL)
|
||||||
if (_nl_domain_bindings == NULL
|
|
||||||
|| strcmp (domainname, _nl_domain_bindings->domainname) < 0)
|
|
||||||
{
|
{
|
||||||
new_binding->next = _nl_domain_bindings;
|
/* Now enqueue it. */
|
||||||
_nl_domain_bindings = new_binding;
|
if (_nl_domain_bindings == NULL
|
||||||
}
|
|| strcmp (domainname, _nl_domain_bindings->domainname) < 0)
|
||||||
else
|
{
|
||||||
{
|
new_binding->next = _nl_domain_bindings;
|
||||||
binding = _nl_domain_bindings;
|
_nl_domain_bindings = new_binding;
|
||||||
while (binding->next != NULL
|
}
|
||||||
&& strcmp (domainname, binding->next->domainname) > 0)
|
else
|
||||||
binding = binding->next;
|
{
|
||||||
|
binding = _nl_domain_bindings;
|
||||||
|
while (binding->next != NULL
|
||||||
|
&& strcmp (domainname, binding->next->domainname) > 0)
|
||||||
|
binding = binding->next;
|
||||||
|
|
||||||
new_binding->next = binding->next;
|
new_binding->next = binding->next;
|
||||||
binding->next = new_binding;
|
binding->next = new_binding;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else if (new_binding != NULL)
|
||||||
binding = new_binding;
|
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
|
#ifdef _LIBC
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
/* Implementation of the dcgettext(3) function.
|
/* Implementation of the dcgettext(3) function.
|
||||||
Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
|
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
|
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
|
modify it under the terms of the GNU Library General Public License as
|
||||||
published by the Free Software Foundation; either version 2 of the
|
published by the Free Software Foundation; either version 2 of the
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
/* Implementation of the internal dcigettext function.
|
/* Implementation of the internal dcigettext function.
|
||||||
Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
|
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
|
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
|
modify it under the terms of the GNU Library General Public License as
|
||||||
published by the Free Software Foundation; either version 2 of the
|
published by the Free Software Foundation; either version 2 of the
|
||||||
@ -99,6 +96,11 @@ void free ();
|
|||||||
/* Thread safetyness. */
|
/* Thread safetyness. */
|
||||||
#ifdef _LIBC
|
#ifdef _LIBC
|
||||||
# include <bits/libc-lock.h>
|
# 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
|
#endif
|
||||||
|
|
||||||
/* @@ end of prolog @@ */
|
/* @@ end of prolog @@ */
|
||||||
@ -306,6 +308,9 @@ struct block_list
|
|||||||
# define DCIGETTEXT dcigettext__
|
# define DCIGETTEXT dcigettext__
|
||||||
#endif
|
#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
|
/* Checking whether the binaries runs SUID must be done and glibc provides
|
||||||
easier methods therefore we make a difference here. */
|
easier methods therefore we make a difference here. */
|
||||||
#ifdef _LIBC
|
#ifdef _LIBC
|
||||||
@ -358,6 +363,8 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
|
|||||||
if (msgid1 == NULL)
|
if (msgid1 == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
__libc_rwlock_rdlock (_nl_state_lock);
|
||||||
|
|
||||||
#if defined HAVE_TSEARCH || defined _LIBC
|
#if defined HAVE_TSEARCH || defined _LIBC
|
||||||
if (plural == 0)
|
if (plural == 0)
|
||||||
{
|
{
|
||||||
@ -372,7 +379,10 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
|
|||||||
|
|
||||||
foundp = (struct known_translation_t **) tfind (search, &root, transcmp);
|
foundp = (struct known_translation_t **) tfind (search, &root, transcmp);
|
||||||
if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)
|
if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)
|
||||||
return (char *) (*foundp)->translation;
|
{
|
||||||
|
__libc_rwlock_unlock (_nl_state_lock);
|
||||||
|
return (char *) (*foundp)->translation;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -501,6 +511,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
|
|||||||
|| strcmp (single_locale, "POSIX") == 0)
|
|| strcmp (single_locale, "POSIX") == 0)
|
||||||
{
|
{
|
||||||
FREE_BLOCKS (block_list);
|
FREE_BLOCKS (block_list);
|
||||||
|
__libc_rwlock_unlock (_nl_state_lock);
|
||||||
__set_errno (saved_errno);
|
__set_errno (saved_errno);
|
||||||
return (plural == 0
|
return (plural == 0
|
||||||
? (char *) msgid1
|
? (char *) msgid1
|
||||||
@ -539,7 +550,10 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
|
|||||||
foundp = (struct known_translation_t **) tfind (search, &root,
|
foundp = (struct known_translation_t **) tfind (search, &root,
|
||||||
transcmp);
|
transcmp);
|
||||||
if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)
|
if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)
|
||||||
return (char *) (*foundp)->translation;
|
{
|
||||||
|
__libc_rwlock_unlock (_nl_state_lock);
|
||||||
|
return (char *) (*foundp)->translation;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -596,6 +610,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
|
|||||||
(*foundp)->translation = retval;
|
(*foundp)->translation = retval;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
__libc_rwlock_unlock (_nl_state_lock);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -981,12 +996,9 @@ free_mem (void)
|
|||||||
struct binding *runp;
|
struct binding *runp;
|
||||||
|
|
||||||
for (runp = _nl_domain_bindings; runp != NULL; runp = runp->next)
|
for (runp = _nl_domain_bindings; runp != NULL; runp = runp->next)
|
||||||
{
|
if (runp->dirname != _nl_default_dirname)
|
||||||
free (runp->domainname);
|
/* Yes, this is a pointer comparison. */
|
||||||
if (runp->dirname != _nl_default_dirname)
|
free (runp->dirname);
|
||||||
/* Yes, this is a pointer comparison. */
|
|
||||||
free (runp->dirname);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_nl_current_default_domain != _nl_default_default_domain)
|
if (_nl_current_default_domain != _nl_default_default_domain)
|
||||||
/* Yes, again a pointer comparison. */
|
/* Yes, again a pointer comparison. */
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
/* Implementation of the dcngettext(3) function.
|
/* Implementation of the dcngettext(3) function.
|
||||||
Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
|
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
|
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
|
modify it under the terms of the GNU Library General Public License as
|
||||||
published by the Free Software Foundation; either version 2 of the
|
published by the Free Software Foundation; either version 2 of the
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
/* Implementation of the dgettext(3) function.
|
/* Implementation of the dgettext(3) function.
|
||||||
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. Its master source is NOT part of
|
|
||||||
the C library, however.
|
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU Library General Public License as
|
modify it under the terms of the GNU Library General Public License as
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
/* Implementation of the dngettext(3) function.
|
/* Implementation of the dngettext(3) function.
|
||||||
Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
|
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
|
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
|
modify it under the terms of the GNU Library General Public License as
|
||||||
published by the Free Software Foundation; either version 2 of the
|
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.
|
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
|
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
|
modify it under the terms of the GNU Library General Public License as
|
||||||
published by the Free Software Foundation; either version 2 of the
|
published by the Free Software Foundation; either version 2 of the
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
/* Handle list of needed message catalogs
|
/* 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.
|
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
|
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
|
modify it under the terms of the GNU Library General Public License as
|
||||||
published by the Free Software Foundation; either version 2 of the
|
published by the Free Software Foundation; either version 2 of the
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
/* Implementation of gettext(3) function.
|
/* Implementation of gettext(3) function.
|
||||||
Copyright (C) 1995, 1997, 2000 Free Software Foundation, Inc.
|
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
|
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
|
modify it under the terms of the GNU Library General Public License as
|
||||||
published by the Free Software Foundation; either version 2 of the
|
published by the Free Software Foundation; either version 2 of the
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
/* Internal header for GNU gettext internationalization functions.
|
/* Internal header for GNU gettext internationalization functions.
|
||||||
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. Its master source is NOT part of
|
|
||||||
the C library, however.
|
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU Library General Public License as
|
modify it under the terms of the GNU Library General Public License as
|
||||||
|
@ -136,8 +136,12 @@ struct loaded_domain
|
|||||||
struct binding
|
struct binding
|
||||||
{
|
{
|
||||||
struct binding *next;
|
struct binding *next;
|
||||||
char *domainname;
|
|
||||||
char *dirname;
|
char *dirname;
|
||||||
|
#ifdef __GNUC__
|
||||||
|
char domainname[0];
|
||||||
|
#else
|
||||||
|
char domainname[1];
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
extern int _nl_msg_cat_cntr;
|
extern int _nl_msg_cat_cntr;
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
/* Implements a string hashing function.
|
/* Implements a string hashing function.
|
||||||
Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc.
|
Copyright (C) 1995, 1997, 1998, 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
|
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
|
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.
|
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
|
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
|
modify it under the terms of the GNU Library General Public License as
|
||||||
published by the Free Software Foundation; either version 2 of the
|
published by the Free Software Foundation; either version 2 of the
|
||||||
|
@ -2,9 +2,6 @@
|
|||||||
Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
|
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 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
|
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
|
modify it under the terms of the GNU Library General Public License as
|
||||||
published by the Free Software Foundation; either version 2 of the
|
published by the Free Software Foundation; either version 2 of the
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
/* Load needed message catalogs.
|
/* Load needed message catalogs.
|
||||||
Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
|
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
|
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
|
modify it under the terms of the GNU Library General Public License as
|
||||||
published by the Free Software Foundation; either version 2 of the
|
published by the Free Software Foundation; either version 2 of the
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
/* Handle aliases for locale names.
|
/* Handle aliases for locale names.
|
||||||
Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
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
|
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
|
modify it under the terms of the GNU Library General Public License as
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
/* Implementation of ngettext(3) function.
|
/* Implementation of ngettext(3) function.
|
||||||
Copyright (C) 1995, 1997, 2000 Free Software Foundation, Inc.
|
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
|
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
|
modify it under the terms of the GNU Library General Public License as
|
||||||
published by the Free Software Foundation; either version 2 of the
|
published by the Free Software Foundation; either version 2 of the
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
/* Implementation of the textdomain(3) function.
|
/* Implementation of the textdomain(3) function.
|
||||||
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. Its master source is NOT part of
|
|
||||||
the C library, however. The master source lives in /gd/gnu/lib.
|
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU Library General Public License as
|
modify it under the terms of the GNU Library General Public License as
|
||||||
@ -41,6 +38,18 @@
|
|||||||
#else
|
#else
|
||||||
# include "libgettext.h"
|
# include "libgettext.h"
|
||||||
#endif
|
#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 @@ */
|
/* @@ end of prolog @@ */
|
||||||
|
|
||||||
@ -64,6 +73,9 @@ extern const char *_nl_current_default_domain;
|
|||||||
# define TEXTDOMAIN textdomain__
|
# define TEXTDOMAIN textdomain__
|
||||||
#endif
|
#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.
|
/* Set the current default message catalog to DOMAINNAME.
|
||||||
If DOMAINNAME is null, return the current default.
|
If DOMAINNAME is null, return the current default.
|
||||||
If DOMAINNAME is "", reset to the default of "messages". */
|
If DOMAINNAME is "", reset to the default of "messages". */
|
||||||
@ -71,38 +83,60 @@ char *
|
|||||||
TEXTDOMAIN (domainname)
|
TEXTDOMAIN (domainname)
|
||||||
const char *domainname;
|
const char *domainname;
|
||||||
{
|
{
|
||||||
char *old;
|
char *new_domain;
|
||||||
|
char *old_domain;
|
||||||
|
|
||||||
/* A NULL pointer requests the current setting. */
|
/* A NULL pointer requests the current setting. */
|
||||||
if (domainname == NULL)
|
if (domainname == NULL)
|
||||||
return (char *) _nl_current_default_domain;
|
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 domain name is the null string set to default domain "messages". */
|
||||||
if (domainname[0] == '\0'
|
if (domainname[0] == '\0'
|
||||||
|| strcmp (domainname, _nl_default_default_domain) == 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
|
else
|
||||||
{
|
{
|
||||||
/* If the following malloc fails `_nl_current_default_domain'
|
/* If the following malloc fails `_nl_current_default_domain'
|
||||||
will be NULL. This value will be returned and so signals we
|
will be NULL. This value will be returned and so signals we
|
||||||
are out of core. */
|
are out of core. */
|
||||||
#if defined _LIBC || defined HAVE_STRDUP
|
#if defined _LIBC || defined HAVE_STRDUP
|
||||||
_nl_current_default_domain = strdup (domainname);
|
new_domain = strdup (domainname);
|
||||||
#else
|
#else
|
||||||
size_t len = strlen (domainname) + 1;
|
size_t len = strlen (domainname) + 1;
|
||||||
char *cp = (char *) malloc (len);
|
new_domain = (char *) malloc (len);
|
||||||
if (cp != NULL)
|
if (new_domain != NULL)
|
||||||
memcpy (cp, domainname, len);
|
memcpy (new_domain, domainname, len);
|
||||||
_nl_current_default_domain = cp;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (new_domain != NULL)
|
||||||
|
_nl_current_default_domain = new_domain;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (old != _nl_default_default_domain)
|
/* We use this possibility to signal a change of the loaded catalogs
|
||||||
free (old);
|
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
|
#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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -106,13 +106,11 @@ __BEGIN_DECLS
|
|||||||
# ifdef __S_IFIFO
|
# ifdef __S_IFIFO
|
||||||
# define S_IFIFO __S_IFIFO
|
# define S_IFIFO __S_IFIFO
|
||||||
# endif
|
# endif
|
||||||
# if defined __USE_BSD || defined __USE_MISC
|
# ifdef __S_IFLNK
|
||||||
# ifdef __S_IFLNK
|
# define S_IFLNK __S_IFLNK
|
||||||
# define S_IFLNK __S_IFLNK
|
# endif
|
||||||
# endif
|
# if (defined __USE_BSD || defined __USE_MISC) && !defined __S_IFSOCK
|
||||||
# ifdef __S_IFSOCK
|
# define S_IFSOCK __S_IFSOCK
|
||||||
# define S_IFSOCK __S_IFSOCK
|
|
||||||
# endif
|
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -127,11 +125,12 @@ __BEGIN_DECLS
|
|||||||
#ifdef __S_IFIFO
|
#ifdef __S_IFIFO
|
||||||
# define S_ISFIFO(mode) __S_ISTYPE((mode), __S_IFIFO)
|
# define S_ISFIFO(mode) __S_ISTYPE((mode), __S_IFIFO)
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef __S_IFLNK
|
||||||
|
# define S_ISLNK(mode) __S_ISTYPE((mode), __S_IFLNK)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __USE_BSD
|
#ifdef __USE_BSD
|
||||||
# ifdef __S_IFLNK
|
# ifndef __S_IFLNK
|
||||||
# define S_ISLNK(mode) __S_ISTYPE((mode), __S_IFLNK)
|
|
||||||
# else
|
|
||||||
# define S_ISLNK(mode) 0
|
# define S_ISLNK(mode) 0
|
||||||
# endif
|
# endif
|
||||||
# ifdef __S_IFSOCK
|
# ifdef __S_IFSOCK
|
||||||
@ -145,7 +144,7 @@ __BEGIN_DECLS
|
|||||||
#define S_ISUID __S_ISUID /* Set user ID on execution. */
|
#define S_ISUID __S_ISUID /* Set user ID on execution. */
|
||||||
#define S_ISGID __S_ISGID /* Set group 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. */
|
/* Save swapped text after use (sticky bit). This is pretty well obsolete. */
|
||||||
# define S_ISVTX __S_ISVTX
|
# define S_ISVTX __S_ISVTX
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Definitions for getting information about a filesystem.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -25,6 +25,26 @@
|
|||||||
/* Get the system-specific definition of `struct statfs'. */
|
/* Get the system-specific definition of `struct statfs'. */
|
||||||
#include <bits/statvfs.h>
|
#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
|
__BEGIN_DECLS
|
||||||
|
|
||||||
/* Return information about the filesystem on which FILE resides. */
|
/* 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>
|
2000-02-25 Andreas Jaeger <aj@suse.de>
|
||||||
|
|
||||||
* Versions: Export pread, __pread64, pread64, pwrite, __pwrite64,
|
* 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>
|
2000-02-22 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* semaphore.h (SEM_FAILED): Use 0 not NULL.
|
* semaphore.h (SEM_FAILED): Use 0 not NULL.
|
||||||
|
@ -124,5 +124,10 @@ libpthread {
|
|||||||
open64; __open64;
|
open64; __open64;
|
||||||
|
|
||||||
__res_state;
|
__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
|
int
|
||||||
pthread_rwlock_init (pthread_rwlock_t *rwlock,
|
__pthread_rwlock_init (pthread_rwlock_t *rwlock,
|
||||||
const pthread_rwlockattr_t *attr)
|
const pthread_rwlockattr_t *attr)
|
||||||
{
|
{
|
||||||
__pthread_init_lock(&rwlock->__rw_lock);
|
__pthread_init_lock(&rwlock->__rw_lock);
|
||||||
@ -205,10 +205,11 @@ pthread_rwlock_init (pthread_rwlock_t *rwlock,
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
strong_alias (__pthread_init_lock, pthread_init_lock)
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
pthread_rwlock_destroy (pthread_rwlock_t *rwlock)
|
__pthread_rwlock_destroy (pthread_rwlock_t *rwlock)
|
||||||
{
|
{
|
||||||
int readers;
|
int readers;
|
||||||
_pthread_descr writer;
|
_pthread_descr writer;
|
||||||
@ -223,16 +224,17 @@ pthread_rwlock_destroy (pthread_rwlock_t *rwlock)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
strong_alias (__pthread_rwlock_destroy, pthread_rwlock_destroy)
|
||||||
|
|
||||||
int
|
int
|
||||||
pthread_rwlock_rdlock (pthread_rwlock_t *rwlock)
|
__pthread_rwlock_rdlock (pthread_rwlock_t *rwlock)
|
||||||
{
|
{
|
||||||
pthread_descr self = NULL;
|
pthread_descr self = NULL;
|
||||||
pthread_readlock_info *existing;
|
pthread_readlock_info *existing;
|
||||||
int out_of_mem, have_lock_already;
|
int out_of_mem, have_lock_already;
|
||||||
|
|
||||||
have_lock_already = rwlock_have_already(&self, rwlock,
|
have_lock_already = rwlock_have_already(&self, rwlock,
|
||||||
&existing, &out_of_mem);
|
&existing, &out_of_mem);
|
||||||
|
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
@ -262,9 +264,10 @@ pthread_rwlock_rdlock (pthread_rwlock_t *rwlock)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
strong_alias (__pthread_rwlock_rdlock, pthread_rwlock_rdlock)
|
||||||
|
|
||||||
int
|
int
|
||||||
pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
|
__pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
|
||||||
{
|
{
|
||||||
pthread_descr self = thread_self();
|
pthread_descr self = thread_self();
|
||||||
pthread_readlock_info *existing;
|
pthread_readlock_info *existing;
|
||||||
@ -303,10 +306,11 @@ pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock)
|
|||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
strong_alias (__pthread_rwlock_tryrdlock, pthread_rwlock_tryrdlock)
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
pthread_rwlock_wrlock (pthread_rwlock_t *rwlock)
|
__pthread_rwlock_wrlock (pthread_rwlock_t *rwlock)
|
||||||
{
|
{
|
||||||
pthread_descr self = thread_self ();
|
pthread_descr self = thread_self ();
|
||||||
|
|
||||||
@ -326,10 +330,11 @@ pthread_rwlock_wrlock (pthread_rwlock_t *rwlock)
|
|||||||
suspend (self); /* This is not a cancellation point */
|
suspend (self); /* This is not a cancellation point */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
strong_alias (__pthread_rwlock_wrlock, pthread_rwlock_wrlock)
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
|
__pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
|
||||||
{
|
{
|
||||||
int result = EBUSY;
|
int result = EBUSY;
|
||||||
|
|
||||||
@ -343,10 +348,11 @@ pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock)
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
strong_alias (__pthread_rwlock_trywrlock, pthread_rwlock_trywrlock)
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
pthread_rwlock_unlock (pthread_rwlock_t *rwlock)
|
__pthread_rwlock_unlock (pthread_rwlock_t *rwlock)
|
||||||
{
|
{
|
||||||
pthread_descr torestart;
|
pthread_descr torestart;
|
||||||
pthread_descr th;
|
pthread_descr th;
|
||||||
@ -425,6 +431,7 @@ pthread_rwlock_unlock (pthread_rwlock_t *rwlock)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
strong_alias (__pthread_rwlock_unlock, pthread_rwlock_unlock)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -439,10 +446,11 @@ pthread_rwlockattr_init (pthread_rwlockattr_t *attr)
|
|||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr)
|
__pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
strong_alias (__pthread_rwlockattr_destroy, pthread_rwlockattr_destroy)
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* libc-internal interface for mutex locks. LinuxThreads version.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -25,8 +25,10 @@
|
|||||||
/* Mutex type. */
|
/* Mutex type. */
|
||||||
#ifdef _LIBC
|
#ifdef _LIBC
|
||||||
typedef pthread_mutex_t __libc_lock_t;
|
typedef pthread_mutex_t __libc_lock_t;
|
||||||
|
typedef pthread_rwlock_t __libc_rwlock_t;
|
||||||
#else
|
#else
|
||||||
typedef struct __libc_lock_opaque__ __libc_lock_t;
|
typedef struct __libc_lock_opaque__ __libc_lock_t;
|
||||||
|
typedef struct __libc_rwlock_opaque__ __libc_rwlock_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Type for key to thread-specific data. */
|
/* Type for key to thread-specific data. */
|
||||||
@ -41,6 +43,8 @@ typedef pthread_key_t __libc_key_t;
|
|||||||
of libc. */
|
of libc. */
|
||||||
#define __libc_lock_define(CLASS,NAME) \
|
#define __libc_lock_define(CLASS,NAME) \
|
||||||
CLASS __libc_lock_t 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.
|
/* Define an initialized lock variable NAME with storage class CLASS.
|
||||||
|
|
||||||
@ -50,6 +54,8 @@ typedef pthread_key_t __libc_key_t;
|
|||||||
section. */
|
section. */
|
||||||
#define __libc_lock_define_initialized(CLASS,NAME) \
|
#define __libc_lock_define_initialized(CLASS,NAME) \
|
||||||
CLASS __libc_lock_t 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
|
/* Define an initialized recursive lock variable NAME with storage
|
||||||
class CLASS. */
|
class CLASS. */
|
||||||
@ -60,6 +66,8 @@ typedef pthread_key_t __libc_key_t;
|
|||||||
state. */
|
state. */
|
||||||
#define __libc_lock_init(NAME) \
|
#define __libc_lock_init(NAME) \
|
||||||
(__pthread_mutex_init != NULL ? __pthread_mutex_init (&(NAME), NULL) : 0);
|
(__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. */
|
/* Same as last but this time we initialize a recursive mutex. */
|
||||||
#define __libc_lock_init_recursive(NAME) \
|
#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. */
|
called on a lock variable before the containing storage is reused. */
|
||||||
#define __libc_lock_fini(NAME) \
|
#define __libc_lock_fini(NAME) \
|
||||||
(__pthread_mutex_destroy != NULL ? __pthread_mutex_destroy (&(NAME)) : 0);
|
(__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. */
|
/* Finalize recursive named lock. */
|
||||||
#define __libc_lock_fini_recursive(NAME) __libc_lock_fini (NAME)
|
#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. */
|
/* Lock the named lock variable. */
|
||||||
#define __libc_lock_lock(NAME) \
|
#define __libc_lock_lock(NAME) \
|
||||||
(__pthread_mutex_lock != NULL ? __pthread_mutex_lock (&(NAME)) : 0);
|
(__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. */
|
/* Lock the recursive named lock variable. */
|
||||||
#define __libc_lock_lock_recursive(NAME) __libc_lock_lock (NAME)
|
#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. */
|
/* Try to lock the named lock variable. */
|
||||||
#define __libc_lock_trylock(NAME) \
|
#define __libc_lock_trylock(NAME) \
|
||||||
(__pthread_mutex_trylock != NULL ? __pthread_mutex_trylock (&(NAME)) : 0)
|
(__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. */
|
/* Try to lock the recursive named lock variable. */
|
||||||
#define __libc_lock_trylock_recursive(NAME) __libc_lock_trylock (NAME)
|
#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. */
|
/* Unlock the named lock variable. */
|
||||||
#define __libc_lock_unlock(NAME) \
|
#define __libc_lock_unlock(NAME) \
|
||||||
(__pthread_mutex_unlock != NULL ? __pthread_mutex_unlock (&(NAME)) : 0);
|
(__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. */
|
/* Unlock the recursive named lock variable. */
|
||||||
#define __libc_lock_unlock_recursive(NAME) __libc_lock_unlock (NAME)
|
#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,
|
extern int __pthread_mutexattr_settype (pthread_mutexattr_t *__attr,
|
||||||
int __kind);
|
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,
|
extern int __pthread_key_create (pthread_key_t *__key,
|
||||||
void (*__destr_function) (void *));
|
void (*__destr_function) (void *));
|
||||||
|
|
||||||
@ -216,6 +253,13 @@ weak_extern (__pthread_mutex_unlock)
|
|||||||
weak_extern (__pthread_mutexattr_init)
|
weak_extern (__pthread_mutexattr_init)
|
||||||
weak_extern (__pthread_mutexattr_destroy)
|
weak_extern (__pthread_mutexattr_destroy)
|
||||||
weak_extern (__pthread_mutexattr_settype)
|
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_key_create)
|
||||||
weak_extern (__pthread_setspecific)
|
weak_extern (__pthread_setspecific)
|
||||||
weak_extern (__pthread_getspecific)
|
weak_extern (__pthread_getspecific)
|
||||||
@ -233,6 +277,12 @@ weak_extern (_pthread_cleanup_pop_restore)
|
|||||||
# pragma weak __pthread_mutexattr_init
|
# pragma weak __pthread_mutexattr_init
|
||||||
# pragma weak __pthread_mutexattr_destroy
|
# pragma weak __pthread_mutexattr_destroy
|
||||||
# pragma weak __pthread_mutexattr_settype
|
# 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_key_create
|
||||||
# pragma weak __pthread_setspecific
|
# pragma weak __pthread_setspecific
|
||||||
# pragma weak __pthread_getspecific
|
# pragma weak __pthread_getspecific
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Iterate over a process's threads.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
|
||||||
|
|
||||||
@ -19,7 +19,7 @@
|
|||||||
Boston, MA 02111-1307, USA. */
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
#include "thread_dbP.h"
|
#include "thread_dbP.h"
|
||||||
|
#include <alloca.h>
|
||||||
|
|
||||||
static int
|
static int
|
||||||
handle_descr (const td_thragent_t *ta, td_thr_iter_f *callback,
|
handle_descr (const td_thragent_t *ta, td_thr_iter_f *callback,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Iterate over a process's thread-specific data.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
|
||||||
|
|
||||||
@ -19,7 +19,7 @@
|
|||||||
Boston, MA 02111-1307, USA. */
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
#include "thread_dbP.h"
|
#include "thread_dbP.h"
|
||||||
|
#include <alloca.h>
|
||||||
|
|
||||||
td_err_e
|
td_err_e
|
||||||
td_ta_tsd_iter (const td_thragent_t *ta, td_key_iter_f *callback,
|
td_ta_tsd_iter (const td_thragent_t *ta, td_key_iter_f *callback,
|
||||||
|
@ -144,8 +144,10 @@ enum
|
|||||||
|
|
||||||
ERA, /* Alternate era. */
|
ERA, /* Alternate era. */
|
||||||
#define ERA ERA
|
#define ERA ERA
|
||||||
ERA_YEAR, /* Year in alternate era format. */
|
__ERA_YEAR, /* Year in alternate era format. */
|
||||||
#define ERA_YEAR ERA_YEAR
|
#ifdef __USE_GNU
|
||||||
|
# define ERA_YEAR __ERA_YEAR
|
||||||
|
#endif
|
||||||
ERA_D_FMT, /* Date in alternate era format. */
|
ERA_D_FMT, /* Date in alternate era format. */
|
||||||
#define ERA_D_FMT ERA_D_FMT
|
#define ERA_D_FMT ERA_D_FMT
|
||||||
ALT_DIGITS, /* Alternate symbols for digits. */
|
ALT_DIGITS, /* Alternate symbols for digits. */
|
||||||
@ -320,36 +322,66 @@ enum
|
|||||||
/* LC_MONETARY category: formatting of monetary quantities.
|
/* LC_MONETARY category: formatting of monetary quantities.
|
||||||
These items each correspond to a member of `struct lconv',
|
These items each correspond to a member of `struct lconv',
|
||||||
defined in <locale.h>. */
|
defined in <locale.h>. */
|
||||||
INT_CURR_SYMBOL = _NL_ITEM (LC_MONETARY, 0),
|
__INT_CURR_SYMBOL = _NL_ITEM (LC_MONETARY, 0),
|
||||||
#define INT_CURR_SYMBOL INT_CURR_SYMBOL
|
#ifdef __USE_GNU
|
||||||
CURRENCY_SYMBOL,
|
# define INT_CURR_SYMBOL __INT_CURR_SYMBOL
|
||||||
#define CURRENCY_SYMBOL CURRENCY_SYMBOL
|
#endif
|
||||||
MON_DECIMAL_POINT,
|
__CURRENCY_SYMBOL,
|
||||||
#define MON_DECIMAL_POINT MON_DECIMAL_POINT
|
#ifdef __USE_GNU
|
||||||
MON_THOUSANDS_SEP,
|
# define CURRENCY_SYMBOL __CURRENCY_SYMBOL
|
||||||
#define MON_THOUSANDS_SEP MON_THOUSANDS_SEP
|
#endif
|
||||||
MON_GROUPING,
|
__MON_DECIMAL_POINT,
|
||||||
#define MON_GROUPING MON_GROUPING
|
#ifdef __USE_GNU
|
||||||
POSITIVE_SIGN,
|
# define MON_DECIMAL_POINT __MON_DECIMAL_POINT
|
||||||
#define POSITIVE_SIGN POSITIVE_SIGN
|
#endif
|
||||||
NEGATIVE_SIGN,
|
__MON_THOUSANDS_SEP,
|
||||||
#define NEGATIVE_SIGN NEGATIVE_SIGN
|
#ifdef __USE_GNU
|
||||||
INT_FRAC_DIGITS,
|
# define MON_THOUSANDS_SEP __MON_THOUSANDS_SEP
|
||||||
#define INT_FRAC_DIGITS INT_FRAC_DIGITS
|
#endif
|
||||||
FRAC_DIGITS,
|
__MON_GROUPING,
|
||||||
#define FRAC_DIGITS FRAC_DIGITS
|
#ifdef __USE_GNU
|
||||||
P_CS_PRECEDES,
|
# define MON_GROUPING __MON_GROUPING
|
||||||
#define P_CS_PRECEDES P_CS_PRECEDES
|
#endif
|
||||||
P_SEP_BY_SPACE,
|
__POSITIVE_SIGN,
|
||||||
#define P_SEP_BY_SPACE P_SEP_BY_SPACE
|
#ifdef __USE_GNU
|
||||||
N_CS_PRECEDES,
|
# define POSITIVE_SIGN __POSITIVE_SIGN
|
||||||
#define N_CS_PRECEDES N_CS_PRECEDES
|
#endif
|
||||||
N_SEP_BY_SPACE,
|
__NEGATIVE_SIGN,
|
||||||
#define N_SEP_BY_SPACE N_SEP_BY_SPACE
|
#ifdef __USE_GNU
|
||||||
P_SIGN_POSN,
|
# define NEGATIVE_SIGN __NEGATIVE_SIGN
|
||||||
#define P_SIGN_POSN P_SIGN_POSN
|
#endif
|
||||||
N_SIGN_POSN,
|
__INT_FRAC_DIGITS,
|
||||||
#define N_SIGN_POSN N_SIGN_POSN
|
#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,
|
_NL_MONETARY_CRNCYSTR,
|
||||||
#ifdef __USE_XOPEN
|
#ifdef __USE_XOPEN
|
||||||
# define CRNCYSTR __CRNCYSTR
|
# define CRNCYSTR __CRNCYSTR
|
||||||
@ -387,32 +419,46 @@ enum
|
|||||||
|
|
||||||
/* LC_NUMERIC category: formatting of numbers.
|
/* LC_NUMERIC category: formatting of numbers.
|
||||||
These also correspond to members of `struct lconv'; see <locale.h>. */
|
These also correspond to members of `struct lconv'; see <locale.h>. */
|
||||||
DECIMAL_POINT = _NL_ITEM (LC_NUMERIC, 0),
|
__DECIMAL_POINT = _NL_ITEM (LC_NUMERIC, 0),
|
||||||
#define DECIMAL_POINT DECIMAL_POINT
|
#ifdef __USE_GNU
|
||||||
|
# define DECIMAL_POINT __DECIMAL_POINT
|
||||||
|
#endif
|
||||||
#ifdef __USE_XOPEN
|
#ifdef __USE_XOPEN
|
||||||
RADIXCHAR = DECIMAL_POINT,
|
RADIXCHAR = __DECIMAL_POINT,
|
||||||
# define RADIXCHAR RADIXCHAR
|
# define RADIXCHAR RADIXCHAR
|
||||||
#endif
|
#endif
|
||||||
THOUSANDS_SEP,
|
__THOUSANDS_SEP,
|
||||||
#define THOUSANDS_SEP THOUSANDS_SEP
|
#ifdef __USE_GNU
|
||||||
#ifdef __USE_XOPEN
|
# define THOUSANDS_SEP __THOUSANDS_SEP
|
||||||
THOUSEP = THOUSANDS_SEP,
|
#endif
|
||||||
# define THOUSANDS_SEP THOUSANDS_SEP
|
#ifdef __USE_XOPEN
|
||||||
|
THOUSEP = __THOUSANDS_SEP,
|
||||||
|
# define THOUSANDS_SEP __THOUSANDS_SEP
|
||||||
|
#endif
|
||||||
|
__GROUPING,
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
# define GROUPING __GROUPING
|
||||||
#endif
|
#endif
|
||||||
GROUPING,
|
|
||||||
#define GROUPING GROUPING
|
|
||||||
_NL_NUMERIC_DECIMAL_POINT_WC,
|
_NL_NUMERIC_DECIMAL_POINT_WC,
|
||||||
_NL_NUMERIC_THOUSANDS_SEP_WC,
|
_NL_NUMERIC_THOUSANDS_SEP_WC,
|
||||||
_NL_NUM_LC_NUMERIC,
|
_NL_NUM_LC_NUMERIC,
|
||||||
|
|
||||||
YESEXPR = _NL_ITEM (LC_MESSAGES, 0), /* Regex matching ``yes'' input. */
|
__YESEXPR = _NL_ITEM (LC_MESSAGES, 0), /* Regex matching ``yes'' input. */
|
||||||
#define YESEXPR YESEXPR
|
#ifdef __USE_GNU
|
||||||
NOEXPR, /* Regex matching ``no'' input. */
|
# define YESEXPR __YESEXPR
|
||||||
#define NOEXPR NOEXPR
|
#endif
|
||||||
YESSTR, /* Output string for ``yes''. */
|
__NOEXPR, /* Regex matching ``no'' input. */
|
||||||
#define YESSTR YESSTR
|
#ifdef __USE_GNU
|
||||||
NOSTR, /* Output string for ``no''. */
|
# define NOEXPR __NOEXPR
|
||||||
#define NOSTR NOSTR
|
#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_NUM_LC_MESSAGES,
|
||||||
|
|
||||||
_NL_PAPER_HEIGHT = _NL_ITEM (LC_PAPER, 0),
|
_NL_PAPER_HEIGHT = _NL_ITEM (LC_PAPER, 0),
|
||||||
|
@ -165,7 +165,7 @@ endif
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# The fdlibm code generates a lot of these warnings but is otherwise clean.
|
# 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 -lieee library is actually an object file.
|
||||||
# The module just defines the _LIB_VERSION_ variable.
|
# The module just defines the _LIB_VERSION_ variable.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Prototype declarations for math functions; helper file for <math.h>.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -235,6 +235,9 @@ __MATHCALL (yn,, (int, _Mdouble_));
|
|||||||
__MATHCALL (erf,, (_Mdouble_));
|
__MATHCALL (erf,, (_Mdouble_));
|
||||||
__MATHCALL (erfc,, (_Mdouble_));
|
__MATHCALL (erfc,, (_Mdouble_));
|
||||||
__MATHCALL (lgamma,, (_Mdouble_));
|
__MATHCALL (lgamma,, (_Mdouble_));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_ISOC99
|
||||||
__MATHCALL (tgamma,, (_Mdouble_));
|
__MATHCALL (tgamma,, (_Mdouble_));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -270,8 +273,10 @@ __MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y));
|
|||||||
__MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n));
|
__MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n));
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
# if defined __USE_MISC || defined __USE_ISOC99
|
||||||
/* Return X times (2 to the Nth power). */
|
/* Return X times (2 to the Nth power). */
|
||||||
__MATHCALL (scalbn,, (_Mdouble_ __x, int __n));
|
__MATHCALL (scalbn,, (_Mdouble_ __x, int __n));
|
||||||
|
# endif
|
||||||
|
|
||||||
/* Return the binary exponent of X, which must be nonzero. */
|
/* Return the binary exponent of X, which must be nonzero. */
|
||||||
__MATHDECL (int,ilogb,, (_Mdouble_ __x));
|
__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
|
#: locale/programs/ld-monetary.c:369 locale/programs/ld-numeric.c:193
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "`-1' must be last entry in `%s' field in `%s' category"
|
msgid "`-1' must be last entry in `%s' field in `%s' category"
|
||||||
msgstr "<22>-1<> mu<6D> der letzte Eintrag im <20>%s<>-Feld in der <20>%s<>-Kategorie sein"
|
msgstr "<22>-1<> mu<6D> der letzte Eintrag im <20>%s<>-Feld der <20>%s<>-Kategorie sein"
|
||||||
|
|
||||||
#: locale/programs/ld-collate.c:1670
|
#: locale/programs/ld-collate.c:1670
|
||||||
msgid "`...' must only be used in `...' and `UNDEFINED' entries"
|
msgid "`...' must only be used in `...' and `UNDEFINED' entries"
|
||||||
msgstr "<22>...<2E> darf nur in <20>...<2E> und <20>UNDEFINED<45> Eintr<EFBFBD>gen verwendet werden"
|
msgstr "<22>...<2E> darf nur in <20>...<2E> und <20>UNDEFINED<45>-Eintr<EFBFBD>gen verwendet werden"
|
||||||
|
|
||||||
|
# Alternative: ... muss ... nach ... kommen
|
||||||
#: locale/programs/locfile.c:674
|
#: locale/programs/locfile.c:674
|
||||||
msgid "`from' expected after first argument to `collating-element'"
|
msgid "`from' expected after first argument to `collating-element'"
|
||||||
msgstr "<22>from<6F> erwartet nach dem ersten Argument von <20>collating-element<6E>"
|
msgstr "<22>from<6F> wird nach dem ersten Argument von <20>collating-element<6E> erwartet"
|
||||||
|
|
||||||
#: locale/programs/ld-collate.c:1122
|
#: locale/programs/ld-collate.c:1122
|
||||||
msgid "`from' string in collation element declaration contains unknown character"
|
msgid "`from' string in collation element declaration contains unknown character"
|
||||||
@ -3306,7 +3307,7 @@ msgstr "Kann die Abk
|
|||||||
#: sunrpc/svc_simple.c:75
|
#: sunrpc/svc_simple.c:75
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't reassign procedure number %d\n"
|
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
|
#: locale/programs/localedef.c:276
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -3325,10 +3326,11 @@ msgstr "Kann keinen internen Deskriptor erzeugen"
|
|||||||
msgid "cannot create internal descriptors"
|
msgid "cannot create internal descriptors"
|
||||||
msgstr "Kann keine internen Deskriptoren erzeugen"
|
msgstr "Kann keine internen Deskriptoren erzeugen"
|
||||||
|
|
||||||
|
# ;-)
|
||||||
#: nscd/connections.c:183
|
#: nscd/connections.c:183
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot enable socket to accept connections: %s"
|
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
|
#: sunrpc/rpc_main.c:341
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -3750,12 +3752,13 @@ msgstr "Die Datei
|
|||||||
|
|
||||||
#: locale/programs/locfile.c:683
|
#: locale/programs/locfile.c:683
|
||||||
msgid "from-value of `collating-element' must be a string"
|
msgid "from-value of `collating-element' must be a string"
|
||||||
msgstr "Der <20>From<6F>-Wert eines Sortierelementes mu<6D> ein String sein"
|
msgstr "Der <20>From<6F>-Wert eines Sortierelementes mu<6D> eine Zeichenkette sein"
|
||||||
|
|
||||||
#: inet/rcmd.c:324
|
#: inet/rcmd.c:324
|
||||||
msgid "fstat failed"
|
msgid "fstat failed"
|
||||||
msgstr "Fehler beim Holen des Datei-Status mit <20>fstat<61>"
|
msgstr "Fehler beim Holen des Datei-Status mit <20>fstat<61>"
|
||||||
|
|
||||||
|
# Gut! ;-)
|
||||||
#: locale/programs/linereader.c:333
|
#: locale/programs/linereader.c:333
|
||||||
msgid "garbage at end of character code specification"
|
msgid "garbage at end of character code specification"
|
||||||
msgstr "Murks am Ende einer Zeichensatzspezifikation"
|
msgstr "Murks am Ende einer Zeichensatzspezifikation"
|
||||||
@ -4073,7 +4076,7 @@ msgstr "netname2user: der Principal-Name
|
|||||||
|
|
||||||
#: nis/nss_nisplus/nisplus-publickey.c:374
|
#: nis/nss_nisplus/nisplus-publickey.c:374
|
||||||
msgid "netname2user: should not have uid 0"
|
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
|
#: sunrpc/svc_simple.c:158
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -4178,9 +4181,10 @@ msgstr "Fehler beim Aufruf des Pr
|
|||||||
msgid "print list of count paths and their number of use"
|
msgid "print list of count paths and their number of use"
|
||||||
msgstr "Gib eine Liste der gez<65>hlten Pfade und der Anzahl der Benutzung aus"
|
msgstr "Gib eine Liste der gez<65>hlten Pfade und der Anzahl der Benutzung aus"
|
||||||
|
|
||||||
|
# So sonst oft.
|
||||||
#: iconv/iconv_prog.c:61
|
#: iconv/iconv_prog.c:61
|
||||||
msgid "print progress information"
|
msgid "print progress information"
|
||||||
msgstr "Gebe Informationen <20>ber den Bearbeitungsstand aus"
|
msgstr "Gib Informationen <20>ber den Bearbeitungsstand aus"
|
||||||
|
|
||||||
#: db2/makedb.c:345
|
#: db2/makedb.c:345
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -4466,7 +4470,7 @@ msgstr "Syntaxfehler im Prolog: %s"
|
|||||||
#: locale/programs/repertoire.c:272
|
#: locale/programs/repertoire.c:272
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "syntax error in repertoire map definition: %s"
|
msgid "syntax error in repertoire map definition: %s"
|
||||||
msgstr "Syntaxfehler in der <20>epertoire<72> Map-Definition: %s"
|
msgstr "Syntaxfehler in der <20>repertoire<EFBFBD> Map-Definition: %s"
|
||||||
|
|
||||||
#: locale/programs/locfile.c:985
|
#: locale/programs/locfile.c:985
|
||||||
msgid "syntax error in time locale definition"
|
msgid "syntax error in time locale definition"
|
||||||
@ -4625,7 +4629,7 @@ msgstr "Syntax: %s Eingabedatei\n"
|
|||||||
|
|
||||||
#: timezone/zic.c:2109
|
#: timezone/zic.c:2109
|
||||||
msgid "use of 2/29 in non leap-year"
|
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
|
#: locale/programs/charmap.c:521 locale/programs/charmap.c:575
|
||||||
#, c-format
|
#, 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -97,8 +97,9 @@ typedef __pid_t pid_t;
|
|||||||
# define __pid_t_defined
|
# define __pid_t_defined
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined __USE_SVID || defined __USE_XOPEN
|
#if (defined __USE_SVID || defined __USE_XOPEN) && !defined __id_t_defined
|
||||||
typedef __id_t id_t;
|
typedef __id_t id_t;
|
||||||
|
# define __id_t_defined
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __ssize_t_defined
|
#ifndef __ssize_t_defined
|
||||||
@ -127,7 +128,10 @@ typedef __key_t key_t;
|
|||||||
typedef __useconds_t useconds_t;
|
typedef __useconds_t useconds_t;
|
||||||
# define __useconds_t_defined
|
# define __useconds_t_defined
|
||||||
# endif
|
# endif
|
||||||
|
# ifndef __suseconds_t_defined
|
||||||
typedef __suseconds_t suseconds_t;
|
typedef __suseconds_t suseconds_t;
|
||||||
|
# define __suseconds_t_defined
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define __need_size_t
|
#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. */
|
typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks. */
|
||||||
# define __blkcnt_t_defined
|
# define __blkcnt_t_defined
|
||||||
# endif
|
# endif
|
||||||
|
# ifndef __fsblkcnt_t_defined
|
||||||
typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks. */
|
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. */
|
typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes. */
|
||||||
|
# define __fsfilcnt_t_defined
|
||||||
|
# endif
|
||||||
#else
|
#else
|
||||||
# ifndef __blkcnt_t_defined
|
# ifndef __blkcnt_t_defined
|
||||||
typedef __blkcnt64_t blkcnt_t; /* Type to count number of disk blocks. */
|
typedef __blkcnt64_t blkcnt_t; /* Type to count number of disk blocks. */
|
||||||
# define __blkcnt_t_defined
|
# define __blkcnt_t_defined
|
||||||
# endif
|
# endif
|
||||||
|
# ifndef __fsblkcnt_t_defined
|
||||||
typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks. */
|
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. */
|
typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes. */
|
||||||
|
# define __fsfilcnt_t_defined
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __USE_LARGEFILE64
|
#ifdef __USE_LARGEFILE64
|
||||||
|
@ -864,15 +864,12 @@ extern int getdtablesize (void) __THROW;
|
|||||||
Returns zero on success and -1 for errors (with errno set). */
|
Returns zero on success and -1 for errors (with errno set). */
|
||||||
extern int brk (void *__addr) __THROW;
|
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.
|
/* Increase or decrease the end of accessible data space by DELTA bytes.
|
||||||
If successful, returns the address the previous end of data space
|
If successful, returns the address the previous end of data space
|
||||||
(i.e. the beginning of the new space, if DELTA > 0);
|
(i.e. the beginning of the new space, if DELTA > 0);
|
||||||
returns (void *) -1 for errors (with errno set). */
|
returns (void *) -1 for errors (with errno set). */
|
||||||
extern void *__sbrk (ptrdiff_t __delta) __THROW;
|
extern void *__sbrk (intptr_t __delta) __THROW;
|
||||||
extern void *sbrk (ptrdiff_t __delta) __THROW;
|
extern void *sbrk (intptr_t __delta) __THROW;
|
||||||
#endif
|
#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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -24,16 +24,35 @@
|
|||||||
/* Get the system-dependent definitions of structures and bit values. */
|
/* Get the system-dependent definitions of structures and bit values. */
|
||||||
#include <bits/resource.h>
|
#include <bits/resource.h>
|
||||||
|
|
||||||
|
#ifndef __id_t_defined
|
||||||
|
typedef __id_t id_t;
|
||||||
|
# define __id_t_defined
|
||||||
|
#endif
|
||||||
|
|
||||||
__BEGIN_DECLS
|
__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.
|
/* Put the soft and hard limits for RESOURCE in *RLIMITS.
|
||||||
Returns 0 if successful, -1 if not (and sets errno). */
|
Returns 0 if successful, -1 if not (and sets errno). */
|
||||||
#ifndef __USE_FILE_OFFSET64
|
#ifndef __USE_FILE_OFFSET64
|
||||||
extern int getrlimit (enum __rlimit_resource __resource,
|
extern int getrlimit (__rlimit_resource_t __resource,
|
||||||
struct rlimit *__rlimits) __THROW;
|
struct rlimit *__rlimits) __THROW;
|
||||||
#else
|
#else
|
||||||
# ifdef __REDIRECT
|
# ifdef __REDIRECT
|
||||||
extern int __REDIRECT (getrlimit, (enum __rlimit_resource __resource,
|
extern int __REDIRECT (getrlimit, (__rlimit_resource_t __resource,
|
||||||
struct rlimit *__rlimits) __THROW,
|
struct rlimit *__rlimits) __THROW,
|
||||||
getrlimit64);
|
getrlimit64);
|
||||||
# else
|
# else
|
||||||
@ -41,7 +60,7 @@ extern int __REDIRECT (getrlimit, (enum __rlimit_resource __resource,
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#ifdef __USE_LARGEFILE64
|
#ifdef __USE_LARGEFILE64
|
||||||
extern int getrlimit64 (enum __rlimit_resource __resource,
|
extern int getrlimit64 (__rlimit_resource_t __resource,
|
||||||
struct rlimit64 *__rlimits) __THROW;
|
struct rlimit64 *__rlimits) __THROW;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -49,11 +68,11 @@ extern int getrlimit64 (enum __rlimit_resource __resource,
|
|||||||
Only the super-user can increase hard limits.
|
Only the super-user can increase hard limits.
|
||||||
Return 0 if successful, -1 if not (and sets errno). */
|
Return 0 if successful, -1 if not (and sets errno). */
|
||||||
#ifndef __USE_FILE_OFFSET64
|
#ifndef __USE_FILE_OFFSET64
|
||||||
extern int setrlimit (enum __rlimit_resource __resource,
|
extern int setrlimit (__rlimit_resource_t __resource,
|
||||||
__const struct rlimit *__rlimits) __THROW;
|
__const struct rlimit *__rlimits) __THROW;
|
||||||
#else
|
#else
|
||||||
# ifdef __REDIRECT
|
# ifdef __REDIRECT
|
||||||
extern int __REDIRECT (setrlimit, (enum __rlimit_resource __resource,
|
extern int __REDIRECT (setrlimit, (__rlimit_resource_t __resource,
|
||||||
__const struct rlimit *__rlimits) __THROW,
|
__const struct rlimit *__rlimits) __THROW,
|
||||||
setrlimit64);
|
setrlimit64);
|
||||||
# else
|
# else
|
||||||
@ -61,23 +80,23 @@ extern int __REDIRECT (setrlimit, (enum __rlimit_resource __resource,
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#ifdef __USE_LARGEFILE64
|
#ifdef __USE_LARGEFILE64
|
||||||
extern int setrlimit64 (enum __rlimit_resource __resource,
|
extern int setrlimit64 (__rlimit_resource_t __resource,
|
||||||
__const struct rlimit64 *__rlimits) __THROW;
|
__const struct rlimit64 *__rlimits) __THROW;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Return resource usage information on process indicated by WHO
|
/* Return resource usage information on process indicated by WHO
|
||||||
and put it in *USAGE. Returns 0 for success, -1 for failure. */
|
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
|
/* 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
|
(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
|
(as specified by WHO) is used. A lower priority number means higher
|
||||||
priority. Priorities range from PRIO_MIN to PRIO_MAX (above). */
|
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)
|
/* Set the priority of all processes specified by WHICH and WHO (see above)
|
||||||
to PRIO. Returns 0 on success, -1 on errors. */
|
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;
|
__THROW;
|
||||||
|
|
||||||
__END_DECLS
|
__END_DECLS
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* libc-internal interface for mutex locks. Stub version.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -29,9 +29,11 @@
|
|||||||
begins with a `*'), because its storage size will not be known outside
|
begins with a `*'), because its storage size will not be known outside
|
||||||
of libc. */
|
of libc. */
|
||||||
#define __libc_lock_define(CLASS,NAME)
|
#define __libc_lock_define(CLASS,NAME)
|
||||||
|
#define __libc_rwlock_define(CLASS,NAME)
|
||||||
|
|
||||||
/* Define an initialized lock variable NAME with storage class CLASS. */
|
/* Define an initialized lock variable NAME with storage class CLASS. */
|
||||||
#define __libc_lock_define_initialized(CLASS,NAME)
|
#define __libc_lock_define_initialized(CLASS,NAME)
|
||||||
|
#define __libc_rwlock_define_initialized(CLASS,NAME)
|
||||||
|
|
||||||
/* Define an initialized recursive lock variable NAME with storage
|
/* Define an initialized recursive lock variable NAME with storage
|
||||||
class CLASS. */
|
class CLASS. */
|
||||||
@ -40,6 +42,7 @@
|
|||||||
/* Initialize the named lock variable, leaving it in a consistent, unlocked
|
/* Initialize the named lock variable, leaving it in a consistent, unlocked
|
||||||
state. */
|
state. */
|
||||||
#define __libc_lock_init(NAME)
|
#define __libc_lock_init(NAME)
|
||||||
|
#define __libc_rwlock_init(NAME)
|
||||||
|
|
||||||
/* Same as last but this time we initialize a recursive mutex. */
|
/* Same as last but this time we initialize a recursive mutex. */
|
||||||
#define __libc_lock_init_recursive(NAME)
|
#define __libc_lock_init_recursive(NAME)
|
||||||
@ -48,24 +51,30 @@
|
|||||||
used again until __libc_lock_init is called again on it. This must be
|
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. */
|
called on a lock variable before the containing storage is reused. */
|
||||||
#define __libc_lock_fini(NAME)
|
#define __libc_lock_fini(NAME)
|
||||||
|
#define __libc_rwlock_fini(NAME)
|
||||||
|
|
||||||
/* Finalize recursive named lock. */
|
/* Finalize recursive named lock. */
|
||||||
#define __libc_lock_fini_recursive(NAME)
|
#define __libc_lock_fini_recursive(NAME)
|
||||||
|
|
||||||
/* Lock the named lock variable. */
|
/* Lock the named lock variable. */
|
||||||
#define __libc_lock_lock(NAME)
|
#define __libc_lock_lock(NAME)
|
||||||
|
#define __libc_rwlock_rdlock(NAME)
|
||||||
|
#define __libc_rwlock_wrlock(NAME)
|
||||||
|
|
||||||
/* Lock the recursive named lock variable. */
|
/* Lock the recursive named lock variable. */
|
||||||
#define __libc_lock_lock_recursive(NAME)
|
#define __libc_lock_lock_recursive(NAME)
|
||||||
|
|
||||||
/* Try to lock the named lock variable. */
|
/* Try to lock the named lock variable. */
|
||||||
#define __libc_lock_trylock(NAME) 0
|
#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. */
|
/* Try to lock the recursive named lock variable. */
|
||||||
#define __libc_lock_trylock_recursive(NAME) 0
|
#define __libc_lock_trylock_recursive(NAME) 0
|
||||||
|
|
||||||
/* Unlock the named lock variable. */
|
/* Unlock the named lock variable. */
|
||||||
#define __libc_lock_unlock(NAME)
|
#define __libc_lock_unlock(NAME)
|
||||||
|
#define __libc_rwlock_unlock(NAME)
|
||||||
|
|
||||||
/* Unlock the recursive named lock variable. */
|
/* Unlock the recursive named lock variable. */
|
||||||
#define __libc_lock_unlock_recursive(NAME)
|
#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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -20,7 +20,7 @@
|
|||||||
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
|
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <bits/types.h>
|
||||||
|
|
||||||
/* Flags for `shmat'. */
|
/* Flags for `shmat'. */
|
||||||
#define SHM_RDONLY 010000 /* attach read-only else read-write */
|
#define SHM_RDONLY 010000 /* attach read-only else read-write */
|
||||||
@ -32,6 +32,9 @@
|
|||||||
#define SHM_UNLOCK 12 /* unlock segment (root only) */
|
#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. */
|
/* Data structure describing a set of semaphores. */
|
||||||
struct shmid_ds
|
struct shmid_ds
|
||||||
{
|
{
|
||||||
@ -42,5 +45,5 @@ struct shmid_ds
|
|||||||
__time_t sem_ctime; /* time of last change by shmctl() */
|
__time_t sem_ctime; /* time of last change by shmctl() */
|
||||||
__pid_t shm_cpid; /* pid of creator */
|
__pid_t shm_cpid; /* pid of creator */
|
||||||
__pid_t shm_lpid; /* pid of last shmop */
|
__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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -26,7 +26,7 @@
|
|||||||
int
|
int
|
||||||
getpriority (which, who)
|
getpriority (which, who)
|
||||||
enum __priority_which which;
|
enum __priority_which which;
|
||||||
int who;
|
id_t who;
|
||||||
{
|
{
|
||||||
__set_errno (ENOSYS);
|
__set_errno (ENOSYS);
|
||||||
return -1;
|
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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -29,7 +29,7 @@ extern int __libc_multiple_libcs; /* Defined in init-first.c. */
|
|||||||
If INCREMENT is negative, shrink data space by - INCREMENT.
|
If INCREMENT is negative, shrink data space by - INCREMENT.
|
||||||
Return start of new space allocated, or -1 for errors. */
|
Return start of new space allocated, or -1 for errors. */
|
||||||
void *
|
void *
|
||||||
__sbrk (ptrdiff_t increment)
|
__sbrk (intptr_t increment)
|
||||||
{
|
{
|
||||||
void *oldbrk;
|
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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -24,7 +24,7 @@
|
|||||||
int
|
int
|
||||||
setpriority (which, who, prio)
|
setpriority (which, who, prio)
|
||||||
enum __priority_which which;
|
enum __priority_which which;
|
||||||
int who;
|
id_t who;
|
||||||
int prio;
|
int prio;
|
||||||
{
|
{
|
||||||
__set_errno (ENOSYS);
|
__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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -25,7 +25,7 @@
|
|||||||
int
|
int
|
||||||
__utimes (file, tvp)
|
__utimes (file, tvp)
|
||||||
const char *file;
|
const char *file;
|
||||||
struct timeval tvp[2];
|
const struct timeval tvp[2];
|
||||||
{
|
{
|
||||||
if (file == NULL || tvp == NULL)
|
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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -42,9 +42,9 @@ struct semid_ds
|
|||||||
__time_t sem_otime; /* last semop() time */
|
__time_t sem_otime; /* last semop() time */
|
||||||
__time_t sem_ctime; /* last time changed by semctl() */
|
__time_t sem_ctime; /* last time changed by semctl() */
|
||||||
struct sem *__sembase; /* ptr to first semaphore in array */
|
struct sem *__sembase; /* ptr to first semaphore in array */
|
||||||
struct sem_queue *__sem_pending; /* pending operations */
|
struct __sem_queue *__sem_pending; /* pending operations */
|
||||||
struct sem_queue *__sem_pending_last; /* last pending operation */
|
struct __sem_queue *__sem_pending_last;/* last pending operation */
|
||||||
struct sem_undo *__undo; /* ondo requests on this array */
|
struct __sem_undo *__undo; /* ondo requests on this array */
|
||||||
unsigned short int sem_nsems; /* number of semaphores in set */
|
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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -20,7 +20,7 @@
|
|||||||
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
|
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <bits/types.h>
|
||||||
|
|
||||||
/* Permission flag for shmget. */
|
/* Permission flag for shmget. */
|
||||||
#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
|
#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
|
||||||
@ -36,6 +36,9 @@
|
|||||||
#define SHM_UNLOCK 12 /* unlock segment (root only) */
|
#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. */
|
/* Data structure describing a set of semaphores. */
|
||||||
struct shmid_ds
|
struct shmid_ds
|
||||||
{
|
{
|
||||||
@ -46,7 +49,7 @@ struct shmid_ds
|
|||||||
__time_t shm_ctime; /* time of last change by shmctl() */
|
__time_t shm_ctime; /* time of last change by shmctl() */
|
||||||
__ipc_pid_t shm_cpid; /* pid of creator */
|
__ipc_pid_t shm_cpid; /* pid of creator */
|
||||||
__ipc_pid_t shm_lpid; /* pid of last shmop */
|
__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 short int __shm_npages; /* size of segment (pages) */
|
||||||
unsigned long int *__shm_pages; /* array of ptrs to frames -> SHMMAX */
|
unsigned long int *__shm_pages; /* array of ptrs to frames -> SHMMAX */
|
||||||
struct vm_area_struct *__attaches; /* descriptors for attaches */
|
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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -25,7 +25,7 @@
|
|||||||
or user (as specified by WHO) is used. A lower priority number means higher
|
or user (as specified by WHO) is used. A lower priority number means higher
|
||||||
priority. Priorities range from PRIO_MIN to PRIO_MAX. */
|
priority. Priorities range from PRIO_MIN to PRIO_MAX. */
|
||||||
int
|
int
|
||||||
getpriority (enum __priority_which which, int who)
|
getpriority (enum __priority_which which, id_t who)
|
||||||
{
|
{
|
||||||
error_t err, onerr;
|
error_t err, onerr;
|
||||||
int maxpri = INT_MIN;
|
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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -24,7 +24,7 @@
|
|||||||
If INCREMENT is negative, shrink data space by - INCREMENT.
|
If INCREMENT is negative, shrink data space by - INCREMENT.
|
||||||
Return the address of the start of the new data space, or -1 for errors. */
|
Return the address of the start of the new data space, or -1 for errors. */
|
||||||
void *
|
void *
|
||||||
__sbrk (int increment)
|
__sbrk (intptr_t increment)
|
||||||
{
|
{
|
||||||
void *result;
|
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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -22,7 +22,7 @@
|
|||||||
/* Set the priority of all processes specified by WHICH and WHO
|
/* Set the priority of all processes specified by WHICH and WHO
|
||||||
to PRIO. Returns 0 on success, -1 on errors. */
|
to PRIO. Returns 0 on success, -1 on errors. */
|
||||||
int
|
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 err;
|
||||||
error_t pidloser, priloser;
|
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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -26,7 +26,7 @@
|
|||||||
int
|
int
|
||||||
__utimes (file, tvp)
|
__utimes (file, tvp)
|
||||||
const char *file;
|
const char *file;
|
||||||
struct timeval tvp[2];
|
const struct timeval tvp[2];
|
||||||
{
|
{
|
||||||
struct timeval timevals[2];
|
struct timeval timevals[2];
|
||||||
error_t err;
|
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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -24,7 +24,7 @@
|
|||||||
/* Change the access time of FILE to TVP[0] and
|
/* Change the access time of FILE to TVP[0] and
|
||||||
the modification time of FILE to TVP[1]. */
|
the modification time of FILE to TVP[1]. */
|
||||||
int
|
int
|
||||||
__utimes (const char *file, struct timeval tvp[2])
|
__utimes (const char *file, const struct timeval tvp[2])
|
||||||
{
|
{
|
||||||
struct utimbuf buf, *times;
|
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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -29,7 +29,7 @@ extern int __sysmp __P ((int, ...));
|
|||||||
int
|
int
|
||||||
getpriority (which, who)
|
getpriority (which, who)
|
||||||
enum __priority_which which;
|
enum __priority_which which;
|
||||||
int who;
|
id_t who;
|
||||||
{
|
{
|
||||||
switch (which)
|
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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -23,7 +23,7 @@
|
|||||||
int
|
int
|
||||||
setpriority (which, who, prio)
|
setpriority (which, who, prio)
|
||||||
enum __priority_which which;
|
enum __priority_which which;
|
||||||
int who;
|
id_t who;
|
||||||
int prio;
|
int prio;
|
||||||
{
|
{
|
||||||
switch (which)
|
switch (which)
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
|
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <bits/types.h>
|
||||||
|
|
||||||
/* Permission flag for shmget. */
|
/* Permission flag for shmget. */
|
||||||
#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
|
#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
|
||||||
@ -36,6 +36,9 @@
|
|||||||
#define SHM_UNLOCK 12 /* unlock segment (root only) */
|
#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. */
|
/* Data structure describing a set of semaphores. */
|
||||||
struct shmid_ds
|
struct shmid_ds
|
||||||
{
|
{
|
||||||
@ -44,9 +47,9 @@ struct shmid_ds
|
|||||||
__time_t shm_atime; /* time of last shmat() */
|
__time_t shm_atime; /* time of last shmat() */
|
||||||
__time_t shm_dtime; /* time of last shmdt() */
|
__time_t shm_dtime; /* time of last shmdt() */
|
||||||
__time_t shm_ctime; /* time of last change by shmctl() */
|
__time_t shm_ctime; /* time of last change by shmctl() */
|
||||||
pid_t shm_cpid; /* pid of creator */
|
__pid_t shm_cpid; /* pid of creator */
|
||||||
pid_t shm_lpid; /* pid of last shmop */
|
__pid_t shm_lpid; /* pid of last shmop */
|
||||||
unsigned long int shm_nattch; /* number of current attaches */
|
shmatt_t shm_nattch; /* number of current attaches */
|
||||||
unsigned long int __unused1;
|
unsigned long int __unused1;
|
||||||
unsigned long int __unused2;
|
unsigned long int __unused2;
|
||||||
};
|
};
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user