]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Mon, 21 Aug 2000 06:49:52 +0000 (06:49 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 21 Aug 2000 06:49:52 +0000 (06:49 +0000)
* misc/sys/cdefs.h: Define __restrict_arr.
* include/sys/time.h: Add restrict where required by AGd4.
* inet/arpa/inet.h: Likewise.
* io/sys/stat.h: Likewise.
* io/sys/statvfs.h: Likewise.
* misc/search.h: Likewise.
* misc/sys/select.h: Likewise.
* posix/glob.h: Likewise.
* posix/regex.h: Likewise.
* posix/spawn.h: Likewise.
* posix/unistd.h: Likewise.
* rt/aio.h: Likewise.
* signal/signal.h: Likewise.
* socket/sys/socket.h: Likewise.
* stdlib/ucontext.h: Likewise.
* streams/stropts.h: Likewise.
* string/string.h: Likewise.
* time/time.h: Likewise.
* time/sys/time.h: Likewise.

* posix/spawn.h: Add declarations for posix_spawnattr_getscheparam
and posix_spawnattr_setscheparam.

* libio/stdio.h: Make cuserid prototype again available for all
XPG versions.

25 files changed:
ChangeLog
include/sys/time.h
inet/arpa/inet.h
io/sys/stat.h
io/sys/statvfs.h
libio/stdio.h
linuxthreads/ChangeLog
linuxthreads/semaphore.h
linuxthreads/sysdeps/pthread/pthread.h
linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h
misc/search.h
misc/sys/cdefs.h
misc/sys/select.h
posix/glob.h
posix/regex.h
posix/spawn.h
posix/unistd.h
rt/aio.h
signal/signal.h
socket/sys/socket.h
stdlib/ucontext.h
streams/stropts.h
string/string.h
time/sys/time.h
time/time.h

index b137f794bc911602285ec3045814c179b305cfdb..ccffcd7873ecc93efba196e9f5c76798f8611195 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,31 @@
 2000-08-20  Ulrich Drepper  <drepper@redhat.com>
 
+       * misc/sys/cdefs.h: Define __restrict_arr.
+       * include/sys/time.h: Add restrict where required by AGd4.
+       * inet/arpa/inet.h: Likewise.
+       * io/sys/stat.h: Likewise.
+       * io/sys/statvfs.h: Likewise.
+       * misc/search.h: Likewise.
+       * misc/sys/select.h: Likewise.
+       * posix/glob.h: Likewise.
+       * posix/regex.h: Likewise.
+       * posix/spawn.h: Likewise.
+       * posix/unistd.h: Likewise.
+       * rt/aio.h: Likewise.
+       * signal/signal.h: Likewise.
+       * socket/sys/socket.h: Likewise.
+       * stdlib/ucontext.h: Likewise.
+       * streams/stropts.h: Likewise.
+       * string/string.h: Likewise.
+       * time/time.h: Likewise.
+       * time/sys/time.h: Likewise.
+
+       * posix/spawn.h: Add declarations for posix_spawnattr_getscheparam
+       and posix_spawnattr_setscheparam.
+
+       * libio/stdio.h: Make cuserid prototype again available for all
+       XPG versions.
+
        * argp/argp-help.c: Unify use of function aliases to make more compact
        PLT.
        * include/libintl.h: Likewise.
index e21cca43ec8d4f359c1f8b359555cbfe58c2af41..0350573b6b06884137964eabe2a1fc7288875985 100644 (file)
@@ -11,7 +11,7 @@ extern int __adjtime (__const struct timeval *__delta,
 extern int __getitimer (enum __itimer_which __which,
                        struct itimerval *__value);
 extern int __setitimer (enum __itimer_which __which,
-                       __const struct itimerval *__new,
-                       struct itimerval *__old);
+                       __const struct itimerval *__restrict __new,
+                       struct itimerval *__restrict __old);
 extern int __utimes (__const char *__file, const struct timeval __tvp[2]);
 #endif
index 72a90ba3dac657296358f3a2ebf484cc04eaf824..a9381de6da20ecc020ac24b759f76448346e4910 100644 (file)
@@ -51,13 +51,15 @@ extern char *inet_ntoa (struct in_addr __in) __THROW;
 /* Convert from presentation format of an Internet number in buffer
    starting at CP to the binary network format and store result for
    interface type AF in buffer starting at BUF.  */
-extern int inet_pton (int __af, __const char *__cp, void *__buf) __THROW;
+extern int inet_pton (int __af, __const char *__restrict __cp,
+                     void *__restrict __buf) __THROW;
 
 /* Convert a Internet address in binary network format for interface
    type AF in buffer starting at CP to presentation form and place
    result in buffer of length LEN astarting at BUF.  */
-extern __const char *inet_ntop (int __af, __const void *__cp,
-                               char *__buf, socklen_t __len) __THROW;
+extern __const char *inet_ntop (int __af, __const void *__restrict __cp,
+                               char *__restrict __buf, socklen_t __len)
+     __THROW;
 
 
 /* The following functions are not part of XNS 5.2.  */
index 7a8c8b3e1e91566876bba492487b1ccc49888898..32268a0b43dbde01af3784b6ad5f13f1a4ed669b 100644 (file)
@@ -196,7 +196,8 @@ __BEGIN_DECLS
 
 #ifndef __USE_FILE_OFFSET64
 /* Get file attributes for FILE and put them in BUF.  */
-extern int stat (__const char *__file, struct stat *__buf) __THROW;
+extern int stat (__const char *__restrict __file,
+                struct stat *__restrict __buf) __THROW;
 
 /* Get file attributes for the file, device, pipe, or socket
    that file descriptor FD is open on and put them in BUF.  */
@@ -204,7 +205,8 @@ extern int fstat (int __fd, struct stat *__buf) __THROW;
 #else
 # ifdef __REDIRECT
 extern int __REDIRECT (stat,
-                      (__const char *__file, struct stat *__buf) __THROW,
+                      (__const char *__restrict __file,
+                       struct stat *__restrict __buf) __THROW,
                       stat64);
 extern int __REDIRECT (fstat, (int __fd, struct stat *__buf) __THROW, fstat64);
 # else
@@ -213,7 +215,8 @@ extern int __REDIRECT (fstat, (int __fd, struct stat *__buf) __THROW, fstat64);
 # endif
 #endif
 #ifdef __USE_LARGEFILE64
-extern int stat64 (__const char *__file, struct stat64 *__buf) __THROW;
+extern int stat64 (__const char *__restrict __file,
+                  struct stat64 *__restrict __buf) __THROW;
 extern int fstat64 (int __fd, struct stat64 *__buf) __THROW;
 #endif
 
@@ -221,18 +224,21 @@ extern int fstat64 (int __fd, struct stat64 *__buf) __THROW;
 # ifndef __USE_FILE_OFFSET64
 /* Get file attributes about FILE and put them in BUF.
    If FILE is a symbolic link, do not follow it.  */
-extern int lstat (__const char *__file, struct stat *__buf) __THROW;
+extern int lstat (__const char *__restrict __file,
+                 struct stat *__restrict __buf) __THROW;
 # else
 #  ifdef __REDIRECT
 extern int __REDIRECT (lstat,
-                      (__const char *__file, struct stat *__buf) __THROW,
+                      (__const char *__restrict __file,
+                       struct stat *__restrict __buf) __THROW,
                       lstat64);
 #  else
 #   define lstat lstat64
 #  endif
 # endif
 # ifdef __USE_LARGEFILE64
-extern int lstat64 (__const char *__file, struct stat64 *__buf) __THROW;
+extern int lstat64 (__const char *__restrict __file,
+                   struct stat64 *__restrict __buf) __THROW;
 # endif
 #endif
 
index 71335f324fb0aa1b6f451bb977ea82de2936d0e6..9134cb4cd987ab564b11773caf6df0b19e6e9e0e 100644 (file)
@@ -49,18 +49,21 @@ __BEGIN_DECLS
 
 /* Return information about the filesystem on which FILE resides.  */
 #ifndef __USE_FILE_OFFSET64
-extern int statvfs (__const char *__file, struct statvfs *__buf) __THROW;
+extern int statvfs (__const char *__restrict __file,
+                   struct statvfs *__restrict __buf) __THROW;
 #else
 # ifdef __REDIRECT
 extern int __REDIRECT (statvfs,
-                      (__const char *__file, struct statvfs *__buf) __THROW,
+                      (__const char *__restrict __file,
+                       struct statvfs *__restrict __buf) __THROW,
                       statvfs64);
 # else
 #  define statvfs statvfs64
 # endif
 #endif
 #ifdef __USE_LARGEFILE64
-extern int statvfs64 (__const char *__file, struct statvfs64 *__buf) __THROW;
+extern int statvfs64 (__const char *__restrict __file,
+                     struct statvfs64 *__restrict __buf) __THROW;
 #endif
 
 /* Return information about the filesystem containing the file FILDES
index b43826e03725892e4897128a12cc1b0bf892d45c..7a182615861845c791c622f1deebc6ef0f86fc3c 100644 (file)
@@ -581,7 +581,7 @@ extern char *ctermid (char *__s) __THROW;
 #endif /* Use POSIX.  */
 
 
-#if defined __USE_XOPEN && !defined __USE_XOPEN2K
+#ifdef __USE_XOPEN
 /* Return the name of the current user.  */
 extern char *cuserid (char *__s) __THROW;
 #endif /* Use X/Open, but not issue 6.  */
index 187d3a571bab57c308acd9b368c686d555cd551c..498cebb4153c6ea735ea6ecec474cd54efc1e9df 100644 (file)
@@ -1,3 +1,9 @@
+2000-08-20  Ulrich Drepper  <drepper@redhat.com>
+
+       * semaphore.h: Add restrict where required by AGd4.
+       * sysdeps/pthread/pthread.h: Likewise.
+       * sysdeps/pthread/unix/sysv/linux/bits/sigthread.h: Likewise.
+
 2000-08-15  Ulrich Drepper  <drepper@redhat.com>
 
        * Makefile (tests): Add ex12.  Add rule to build it.
index 583b65ea18a85e3ae08338c409bb1fe673e22edf..f611f48323809f47aa739905fe4a10596cb15b4b 100644 (file)
@@ -72,7 +72,8 @@ extern int sem_wait (sem_t *__sem) __THROW;
 
 #ifdef __USE_XOPEN2K
 /* Similar to `sem_wait' but wait only until ABSTIME.  */
-extern int sem_timedwait (sem_t *__sem, __const struct timespec *__abstime)
+extern int sem_timedwait (sem_t *__restrict __sem,
+                         __const struct timespec *__restrict __abstime)
      __THROW;
 #endif
 
@@ -83,7 +84,8 @@ extern int sem_trywait (sem_t *__sem) __THROW;
 extern int sem_post (sem_t *__sem) __THROW;
 
 /* Get current value of SEM and store it in *SVAL.  */
-extern int sem_getvalue (sem_t *__sem, int *__sval) __THROW;
+extern int sem_getvalue (sem_t *__restrict __sem, int *__restrict __sval)
+     __THROW;
 
 __END_DECLS
 
index b017007f805cad3850644adfb01eff9c41791e03..28c8354b37c915a0fb9b61713513acebc61b8e92 100644 (file)
@@ -155,10 +155,10 @@ enum
 /* Create a thread with given attributes ATTR (or default attributes
    if ATTR is NULL), and call function START_ROUTINE with given
    arguments ARG.  */
-extern int pthread_create (pthread_t *__thread,
-                          __const pthread_attr_t *__attr,
+extern int pthread_create (pthread_t *__restrict __thread,
+                          __const pthread_attr_t *__restrict __attr,
                           void *(*__start_routine) (void *),
-                          void *__arg) __THROW;
+                          void *__restrict __arg) __THROW;
 
 /* Obtain the identifier of the current thread.  */
 extern pthread_t pthread_self (void) __THROW;
@@ -201,37 +201,41 @@ extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
                                        int *__detachstate) __THROW;
 
 /* Set scheduling parameters (priority, etc) in *ATTR according to PARAM.  */
-extern int pthread_attr_setschedparam (pthread_attr_t *__attr,
-                                      __const struct sched_param *__param)
-     __THROW;
+extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
+                                      __const struct sched_param *__restrict
+                                      __param) __THROW;
 
 /* Return in *PARAM the scheduling parameters of *ATTR.  */
-extern int pthread_attr_getschedparam (__const pthread_attr_t *__attr,
-                                      struct sched_param *__param) __THROW;
+extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
+                                      __attr,
+                                      struct sched_param *__restrict __param)
+     __THROW;
 
 /* Set scheduling policy in *ATTR according to POLICY.  */
 extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
      __THROW;
 
 /* Return in *POLICY the scheduling policy of *ATTR.  */
-extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__attr,
-                                       int *__policy) __THROW;
+extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
+                                       __attr, int *__restrict __policy)
+     __THROW;
 
 /* Set scheduling inheritance mode in *ATTR according to INHERIT.  */
 extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
                                         int __inherit) __THROW;
 
 /* Return in *INHERIT the scheduling inheritance mode of *ATTR.  */
-extern int pthread_attr_getinheritsched (__const pthread_attr_t *__attr,
-                                        int *__inherit) __THROW;
+extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
+                                        __attr, int *__restrict __inherit)
+     __THROW;
 
 /* Set scheduling contention scope in *ATTR according to SCOPE.  */
 extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
      __THROW;
 
 /* Return in *SCOPE the scheduling contention scope of *ATTR.  */
-extern int pthread_attr_getscope (__const pthread_attr_t *__attr,
-                                 int *__scope) __THROW;
+extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
+                                 int *__restrict __scope) __THROW;
 
 #ifdef __USE_UNIX98
 /* Set the size of the guard area at the bottom of the thread.  */
@@ -239,8 +243,9 @@ extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
                                      size_t __guardsize) __THROW;
 
 /* Get the size of the guard area at the bottom of the thread.  */
-extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr,
-                                     size_t *__guardsize) __THROW;
+extern int pthread_attr_getguardsize (__const pthread_attr_t *__restrict
+                                     __attr, size_t *__restrict __guardsize)
+     __THROW;
 #endif
 
 /* Set the starting address of the stack of the thread to be created.
@@ -251,8 +256,9 @@ extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
                                      void *__stackaddr) __THROW;
 
 /* Return the previously set address for the stack.  */
-extern int pthread_attr_getstackaddr (__const pthread_attr_t *__attr,
-                                     void **__stackaddr) __THROW;
+extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
+                                     __attr, void **__restrict __stackaddr)
+     __THROW;
 
 /* Add information about the minimum stack size needed for the thread
    to be started.  This size must never be less than PTHREAD_STACK_SIZE
@@ -261,8 +267,9 @@ extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
                                      size_t __stacksize) __THROW;
 
 /* Return the currently used minimal stack size.  */
-extern int pthread_attr_getstacksize (__const pthread_attr_t *__attr,
-                                     size_t *__stacksize) __THROW;
+extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
+                                     __attr, size_t *__restrict __stacksize)
+     __THROW;
 
 /* Functions for scheduling control.  */
 
@@ -273,8 +280,10 @@ extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
      __THROW;
 
 /* Return in *POLICY and *PARAM the scheduling parameters for TARGET_THREAD.  */
-extern int pthread_getschedparam (pthread_t __target_thread, int *__policy,
-                                 struct sched_param *__param) __THROW;
+extern int pthread_getschedparam (pthread_t __target_thread,
+                                 int *__restrict __policy,
+                                 struct sched_param *__restrict __param)
+     __THROW;
 
 #ifdef __USE_UNIX98
 /* Determine level of concurrency.  */
@@ -296,9 +305,9 @@ extern int pthread_yield (void) __THROW;
 
 /* Initialize MUTEX using attributes in *MUTEX_ATTR, or use the
    default values if later is NULL.  */
-extern int pthread_mutex_init (pthread_mutex_t *__mutex,
-                              __const pthread_mutexattr_t *__mutex_attr)
-     __THROW;
+extern int pthread_mutex_init (pthread_mutex_t *__restrict __mutex,
+                              __const pthread_mutexattr_t *__restrict
+                              __mutex_attr) __THROW;
 
 /* Destroy MUTEX.  */
 extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) __THROW;
@@ -311,9 +320,9 @@ extern int pthread_mutex_lock (pthread_mutex_t *__mutex) __THROW;
 
 #ifdef __USE_XOPEN2K
 /* Wait until lock becomes available, or specified time passes. */
-extern int pthread_mutex_timedlock (pthread_mutex_t *__mutex,
-                                   __const struct timespec *__abstime)
-     __THROW;
+extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
+                                   __const struct timespec *__restrict
+                                   __abstime) __THROW;
 #endif
 
 /* Unlock MUTEX.  */
@@ -330,8 +339,9 @@ extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) __THROW;
 extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) __THROW;
 
 /* Get the process-shared flag of the mutex attribute ATTR.  */
-extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *__attr,
-                                        int *__pshared) __THROW;
+extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
+                                        __restrict __attr,
+                                        int *__restrict __pshared) __THROW;
 
 /* Set the process-shared flag of the mutex attribute ATTR.  */
 extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
@@ -345,8 +355,8 @@ extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
      __THROW;
 
 /* Return in *KIND the mutex kind attribute in *ATTR.  */
-extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__attr,
-                                     int *__kind) __THROW;
+extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict
+                                     __attr, int *__restrict __kind) __THROW;
 #endif
 
 
@@ -354,8 +364,9 @@ extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__attr,
 
 /* Initialize condition variable COND using attributes ATTR, or use
    the default values if later is NULL.  */
-extern int pthread_cond_init (pthread_cond_t *__cond,
-                             __const pthread_condattr_t *__cond_attr) __THROW;
+extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
+                             __const pthread_condattr_t *__restrict
+                             __cond_attr) __THROW;
 
 /* Destroy condition variable COND.  */
 extern int pthread_cond_destroy (pthread_cond_t *__cond) __THROW;
@@ -368,16 +379,17 @@ extern int pthread_cond_broadcast (pthread_cond_t *__cond) __THROW;
 
 /* Wait for condition variable COND to be signaled or broadcast.
    MUTEX is assumed to be locked before.  */
-extern int pthread_cond_wait (pthread_cond_t *__cond,
-                             pthread_mutex_t *__mutex) __THROW;
+extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
+                             pthread_mutex_t *__restrict __mutex) __THROW;
 
 /* Wait for condition variable COND to be signaled or broadcast until
    ABSTIME.  MUTEX is assumed to be locked before.  ABSTIME is an
    absolute time specification; zero is the beginning of the epoch
    (00:00:00 GMT, January 1, 1970).  */
-extern int pthread_cond_timedwait (pthread_cond_t *__cond,
-                                  pthread_mutex_t *__mutex,
-                                  __const struct timespec *__abstime) __THROW;
+extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
+                                  pthread_mutex_t *__restrict __mutex,
+                                  __const struct timespec *__restrict
+                                  __abstime) __THROW;
 
 /* Functions for handling condition variable attributes.  */
 
@@ -388,8 +400,9 @@ extern int pthread_condattr_init (pthread_condattr_t *__attr) __THROW;
 extern int pthread_condattr_destroy (pthread_condattr_t *__attr) __THROW;
 
 /* Get the process-shared flag of the condition variable attribute ATTR.  */
-extern int pthread_condattr_getpshared (__const pthread_condattr_t *__attr,
-                                       int *__pshared) __THROW;
+extern int pthread_condattr_getpshared (__const pthread_condattr_t *
+                                       __restrict __attr,
+                                       int *__restrict __pshared) __THROW;
 
 /* Set the process-shared flag of the condition variable attribute ATTR.  */
 extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
@@ -401,8 +414,9 @@ extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
 
 /* Initialize read-write lock RWLOCK using attributes ATTR, or use
    the default values if later is NULL.  */
-extern int pthread_rwlock_init (pthread_rwlock_t *__rwlock,
-                               __const pthread_rwlockattr_t *__attr) __THROW;
+extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
+                               __const pthread_rwlockattr_t *__restrict
+                               __attr) __THROW;
 
 /* Destroy read-write lock RWLOCK.  */
 extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) __THROW;
@@ -415,9 +429,9 @@ extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) __THROW;
 
 #ifdef __USE_XOPEN2K
 /* Try to acquire read lock for RWLOCK or return after specfied time.  */
-extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__rwlock,
-                                      __const struct timespec *__abstime)
-     __THROW;
+extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
+                                      __const struct timespec *__restrict
+                                      __abstime) __THROW;
 #endif
 
 /* Acquire write lock for RWLOCK.  */
@@ -428,9 +442,9 @@ extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) __THROW;
 
 #ifdef __USE_XOPEN2K
 /* Try to acquire write lock for RWLOCK or return after specfied time.  */
-extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__rwlock,
-                                      __const struct timespec *__abstime)
-     __THROW;
+extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
+                                      __const struct timespec *__restrict
+                                      __abstime) __THROW;
 #endif
 
 /* Unlock RWLOCK.  */
@@ -446,8 +460,9 @@ extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) __THROW;
 extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) __THROW;
 
 /* Return current setting of process-shared attribute of ATTR in PSHARED.  */
-extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *__attr,
-                                         int *__pshared) __THROW;
+extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *
+                                         __restrict __attr,
+                                         int *__restrict __pshared) __THROW;
 
 /* Set process-shared attribute of ATTR to PSHARED.  */
 extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
@@ -486,9 +501,9 @@ extern int pthread_spin_unlock (pthread_spinlock_t *__lock) __THROW;
 
 /* Barriers are a also a new feature in 1003.1j-2000. */
 
-extern int pthread_barrier_init (pthread_barrier_t *__barrier,
-                                __const pthread_barrierattr_t *__attr,
-                                unsigned int __count) __THROW;
+extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
+                                __const pthread_barrierattr_t *__restrict
+                                __attr, unsigned int __count) __THROW;
 
 extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) __THROW;
 
@@ -496,8 +511,9 @@ extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) __THROW;
 
 extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) __THROW;
 
-extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t *__attr,
-                                          int *__pshared) __THROW;
+extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t *
+                                          __restrict __attr,
+                                          int *__restrict __pshared) __THROW;
 
 extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
                                           int __pshared) __THROW;
index 40238561df689f6073113bad362378339785475c..b86e75f20ef20d83305173d0c2a6e0b765b6962d 100644 (file)
@@ -1,5 +1,5 @@
 /* Signal handling function for threaded programs.
-   Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -17,7 +17,7 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-#ifndef _BITS_SIGTHREAD_H 
+#ifndef _BITS_SIGTHREAD_H
 #define _BITS_SIGTHREAD_H      1
 
 #if !defined _SIGNAL_H && !defined _PTHREAD_H
@@ -28,8 +28,9 @@
 
 /* Modify the signal mask for the calling thread.  The arguments have
    the same meaning as for sigprocmask(2). */
-extern int pthread_sigmask (int __how, __const __sigset_t *__newmask,
-                           __sigset_t *__oldmask)__THROW;
+extern int pthread_sigmask (int __how,
+                           __const __sigset_t *__restrict __newmask,
+                           __sigset_t *__restrict __oldmask)__THROW;
 
 /* Send signal SIGNO to the given thread. */
 extern int pthread_kill (pthread_t __thread, int __signo) __THROW;
index 0ea91c21506d12e0471c3ac3decae62e8bef8c30..7722be9670094eda5f004f875cd9712604250115 100644 (file)
@@ -136,7 +136,8 @@ extern void *tfind (__const void *__key, void *__const *__rootp,
                    __compar_fn_t __compar);
 
 /* Remove the element matching KEY from the tree pointed to by *ROOTP.  */
-extern void *tdelete (__const void *__key, void **__rootp,
+extern void *tdelete (__const void *__restrict __key,
+                     void **__restrict __rootp,
                      __compar_fn_t __compar);
 
 #ifndef __ACTION_FN_T
index 996023968862356ca021b8d0f64df845efc17836..a4535e3cac72f751043760b946b62edb817179e2 100644 (file)
 # define __restrict    /* Ignore */
 #endif
 
+/* ISO C99 also allows to declare arrays as non-overlapping.  The syntax is
+     array_name[restrict]
+   But gcc so far does not support this syntax.  We define a separate macro
+   for this which can be enabled if the underlying compiler supports it.  */
+#define __restrict_arr
+
 #endif  /* sys/cdefs.h */
index 15130cbab3bf4d7d4c2bf614d701c22b416f4009..ff5ba6b39f4b9687df659163b33514ac52e855d1 100644 (file)
@@ -1,5 +1,5 @@
 /* `fd_set' type and related macros, and `select'/`pselect' declarations.
-   Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -71,12 +71,14 @@ typedef __fd_set fd_set;
    (if not NULL) for exceptional conditions.  If TIMEOUT is not NULL, time out
    after waiting the interval specified therein.  Returns the number of ready
    descriptors, or -1 for errors.  */
-extern int __select (int __nfds, __fd_set *__readfds,
-                    __fd_set *__writefds, __fd_set *__exceptfds,
-                    struct timeval *__timeout) __THROW;
-extern int select (int __nfds, __fd_set *__readfds,
-                  __fd_set *__writefds, __fd_set *__exceptfds,
-                  struct timeval *__timeout) __THROW;
+extern int __select (int __nfds, __fd_set *__restrict __readfds,
+                    __fd_set *__restrict __writefds,
+                    __fd_set *__restrict __exceptfds,
+                    struct timeval *__restrict __timeout) __THROW;
+extern int select (int __nfds, __fd_set *__restrict __readfds,
+                  __fd_set *__restrict __writefds,
+                  __fd_set *__restrict __exceptfds,
+                  struct timeval *__restrict __timeout) __THROW;
 
 #ifdef __USE_GNU
 /* XXX Once/if POSIX.1g gets official this prototype will be available
@@ -84,9 +86,11 @@ extern int select (int __nfds, __fd_set *__readfds,
 /* Same as above only that the TIMEOUT value is given with higher
    resolution and a sigmask which is been set temporarily.  This version
    should be used.  */
-extern int pselect (int __nfds, __fd_set *__readfds, __fd_set *__writefds,
-                   __fd_set *__exceptfds, const struct timespec *__timeout,
-                   const __sigset_t *__sigmask) __THROW;
+extern int pselect (int __nfds, __fd_set *__restrict __readfds,
+                   __fd_set *__restrict __writefds,
+                   __fd_set *__restrict __exceptfds,
+                   const struct timespec *__restrict __timeout,
+                   const __sigset_t *__restrict __sigmask) __THROW;
 #endif
 
 __END_DECLS
index 7d93b983208e146b463a0bfdf06f50d0876233b8..5ce4c9aa926a310e89b277ae90a5dc9412b2407a 100644 (file)
@@ -120,8 +120,9 @@ typedef struct
     void (*gl_closedir) __PMT ((void *));
     struct dirent *(*gl_readdir) __PMT ((void *));
     __ptr_t (*gl_opendir) __PMT ((__const char *));
-    int (*gl_lstat) __PMT ((__const char *, struct stat *));
-    int (*gl_stat) __PMT ((__const char *, struct stat *));
+    int (*gl_lstat) __PMT ((__const char *__restrict,
+                           struct stat *__restrict));
+    int (*gl_stat) __PMT ((__const char *__restrict, struct stat *__restrict));
   } glob_t;
 
 #ifdef _LARGEFILE64_SOURCE
@@ -138,8 +139,10 @@ typedef struct
     void (*gl_closedir) __PMT ((void *));
     struct dirent64 *(*gl_readdir) __PMT ((void *));
     __ptr_t (*gl_opendir) __PMT ((__const char *));
-    int (*gl_lstat) __PMT ((__const char *, struct stat64 *));
-    int (*gl_stat) __PMT ((__const char *, struct stat64 *));
+    int (*gl_lstat) __PMT ((__const char *__restrict,
+                           struct stat64 *__restrict));
+    int (*gl_stat) __PMT ((__const char *__restrict,
+                          struct stat64 *__restrict));
   } glob64_t;
 #endif
 
@@ -157,24 +160,24 @@ typedef struct
    If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned.
    Otherwise, `glob' returns zero.  */
 #if _FILE_OFFSET_BITS != 64 || __GNUC__ < 2
-extern int glob __P ((__const char *__pattern, int __flags,
+extern int glob __P ((__const char *__restrict __pattern, int __flags,
                      int (*__errfunc) (__const char *, int),
-                     glob_t *__pglob));
+                     glob_t *__restrict __pglob));
 
 /* Free storage allocated in PGLOB by a previous `glob' call.  */
 extern void globfree __P ((glob_t *__pglob));
 #else
-extern int glob __P ((__const char *__pattern, int __flags,
+extern int glob __P ((__const char *__restrict __pattern, int __flags,
                      int (*__errfunc) (__const char *, int),
-                     glob_t *__pglob)) __asm__ ("glob64");
+                     glob_t *__restrict __pglob)) __asm__ ("glob64");
 
 extern void globfree __P ((glob_t *__pglob)) __asm__ ("globfree64");
 #endif
 
 #ifdef _LARGEFILE64_SOURCE
-extern int glob64 __P ((__const char *__pattern, int __flags,
+extern int glob64 __P ((__const char *__restrict __pattern, int __flags,
                        int (*__errfunc) (__const char *, int),
-                       glob64_t *__pglob));
+                       glob64_t *__restrict __pglob));
 
 extern void globfree64 __P ((glob64_t *__pglob));
 #endif
index 5edeff3551fdec114aac10ed2afb87ef33a06eca..8576fe68fa7a0553f3d8476768e9953cf72dc6b8 100644 (file)
@@ -514,12 +514,14 @@ extern int re_exec _RE_ARGS ((const char *));
 #endif
 
 /* POSIX compatibility.  */
-extern int regcomp _RE_ARGS ((regex_t *__preg, const char *__pattern,
+extern int regcomp _RE_ARGS ((regex_t *__restrict __preg,
+                             const char *__restrict __pattern,
                              int __cflags));
 
-extern int regexec _RE_ARGS ((const regex_t *__preg,
-                             const char *__string, size_t __nmatch,
-                             regmatch_t __pmatch[], int __eflags));
+extern int regexec _RE_ARGS ((const regex_t *__restrict __preg,
+                             const char *__restrict __string, size_t __nmatch,
+                             regmatch_t __pmatch[__restrict_arr],
+                             int __eflags));
 
 extern size_t regerror _RE_ARGS ((int __errcode, const regex_t *__preg,
                                  char *__errbuf, size_t __errbuf_size));
index 9487cbd179516479ce2a4fb13e1be49512ff1cec..38bdbd37b5a679a879143d77bc62508a68f55c8e 100644 (file)
@@ -63,10 +63,13 @@ __BEGIN_DECLS
 
 /* Spawn a new process executing PATH with the attributes describes in *ATTRP.
    Before running the process perform the actions described in FILE-ACTIONS. */
-extern int posix_spawn (pid_t *__pid, __const char *__path,
-                       __const posix_spawn_file_actions_t *__file_actions,
-                       __const posix_spawnattr_t *__attrp,
-                       char *__const argv[], char *__const envp[]) __THROW;
+extern int posix_spawn (pid_t *__restrict __pid,
+                       __const char *__restrict __path,
+                       __const posix_spawn_file_actions_t *__restrict
+                       __file_actions,
+                       __const posix_spawnattr_t *__restrict __attrp,
+                       char *__const argv[__restrict_arr],
+                       char *__const envp[__restrict_arr]) __THROW;
 
 /* Similar to `posix_spawn' but search for FILE in the PATH.  */
 extern int posix_spawnp (pid_t *__pid, __const char *__file,
@@ -83,46 +86,66 @@ extern int posix_spawnattr_destroy (posix_spawnattr_t *__attr) __THROW;
 
 /* Store signal mask for signals with default handling from ATTR in
    SIGDEFAULT.  */
-extern int posix_spawnattr_getsigdefault (__const posix_spawnattr_t *__attr,
-                                         sigset_t *__sigdefault) __THROW;
+extern int posix_spawnattr_getsigdefault (__const posix_spawnattr_t *
+                                         __restrict __attr,
+                                         sigset_t *__restrict __sigdefault)
+     __THROW;
 
 /* Set signal mask for signals with default handling in ATTR to SIGDEFAULT.  */
-extern int posix_spawnattr_setsigdefault (posix_spawnattr_t *__attr,
-                                         __const sigset_t *__sigdefault)
+extern int posix_spawnattr_setsigdefault (posix_spawnattr_t *__restrict __attr,
+                                         __const sigset_t *__restrict
+                                         __sigdefault)
      __THROW;
 
 /* Store signal mask for the new process from ATTR in SIGMASK.  */
-extern int posix_spawnattr_getsigmask (__const posix_spawnattr_t *__attr,
-                                      sigset_t *__sigmask) __THROW;
+extern int posix_spawnattr_getsigmask (__const posix_spawnattr_t *__restrict
+                                      __attr,
+                                      sigset_t *__restrict __sigmask) __THROW;
 
 /* Set signal mask for the new process in ATTR to SIGMASK.  */
-extern int posix_spawnattr_setsigmask (posix_spawnattr_t *__attr,
-                                      __const sigset_t *__sigmask) __THROW;
+extern int posix_spawnattr_setsigmask (posix_spawnattr_t *__restrict __attr,
+                                      __const sigset_t *__restrict __sigmask)
+     __THROW;
 
 /* Get flag word from the attribute structure.  */
-extern int posix_spawnattr_getflags (__const posix_spawnattr_t *__attr,
-                                    short int *__flags) __THROW;
+extern int posix_spawnattr_getflags (__const posix_spawnattr_t *__restrict
+                                    __attr,
+                                    short int *__restrict __flags) __THROW;
 
 /* Store flags in the attribute structure.  */
 extern int posix_spawnattr_setflags (posix_spawnattr_t *_attr,
                                     short int __flags) __THROW;
 
 /* Get process group ID from the attribute structure.  */
-extern int posix_spawnattr_getpgroup (__const posix_spawnattr_t *__attr,
-                                     pid_t *__pgroup) __THROW;
+extern int posix_spawnattr_getpgroup (__const posix_spawnattr_t *__restrict
+                                     __attr, pid_t *__restrict __pgroup)
+     __THROW;
 
 /* Store process group ID in the attribute structure.  */
 extern int posix_spawnattr_setpgroup (posix_spawnattr_t *__attr,
                                      pid_t __pgroup) __THROW;
 
 /* Get scheduling policy from the attribute structure.  */
-extern int posix_spawnattr_getschedpolicy (__const posix_spawnattr_t *__attr,
-                                          int *__schedpolicy) __THROW;
+extern int posix_spawnattr_getschedpolicy (__const posix_spawnattr_t *
+                                          __restrict __attr,
+                                          int *__restrict __schedpolicy)
+     __THROW;
 
 /* Store scheduling policy in the attribute structure.  */
 extern int posix_spawnattr_setschedpolicy (posix_spawnattr_t *__attr,
                                           int __schedpolicy) __THROW;
 
+/* Get scheduling parameters from the attribute structure.  */
+extern int posix_spawnattr_getschedparam (__const posix_spawnattr_t *
+                                         __restrict __attr,
+                                         struct sched_param *__restrict
+                                         __schedparam) __THROW;
+
+/* Store scheduling parameters in the attribute structure.  */
+extern int posix_spawnattr_setschedparam (posix_spawnattr_t *__restrict __attr,
+                                         const struct sched_param *
+                                         __restrict __schedparam) __THROW;
+
 
 /* Initialize data structure for file attribute for `spawn' call.  */
 extern int posix_spawn_file_actions_init (posix_spawn_file_actions_t *
@@ -135,8 +158,9 @@ extern int posix_spawn_file_actions_destroy (posix_spawn_file_actions_t *
 /* Add an action to FILE-ACTIONS which tells the implementation to call
    `open' for the given file during the `spawn' call.  */
 extern int posix_spawn_file_actions_addopen (posix_spawn_file_actions_t *
-                                            __file_actions,
-                                            int __fd, __const char *__path,
+                                            __restrict __file_actions,
+                                            int __fd,
+                                            __const char *__restrict __path,
                                             int __oflag, mode_t __mode)
      __THROW;
 
index 0df0e93e084a51df67f7f38df03cc094a95433ec..eebfe88f85b42acefced6a49195a60a0a82e26c3 100644 (file)
@@ -696,7 +696,8 @@ extern int symlink (__const char *__from, __const char *__to) __THROW;
 /* Read the contents of the symbolic link PATH into no more than
    LEN bytes of BUF.  The contents are not null-terminated.
    Returns the number of characters read, or -1 for errors.  */
-extern int readlink (__const char *__path, char *__buf, size_t __len) __THROW;
+extern int readlink (__const char *__restrict __path, char *__restrict __buf,
+                    size_t __len) __THROW;
 #endif /* Use BSD.  */
 
 /* Remove the link NAME.  */
@@ -961,7 +962,8 @@ extern void encrypt (char *__block, int __edflag) __THROW;
    FROM and copy the result to TO.  The value of TO must not be in the
    range [FROM - N + 1, FROM - 1].  If N is odd the first byte in FROM
    is without partner.  */
-extern void swab (__const void *__from, void *__to, ssize_t __n) __THROW;
+extern void swab (__const void *__restrict __from, void *__restrict __to,
+                 ssize_t __n) __THROW;
 #endif
 
 
index 15b16ab2345a746ef4c870e12fe2884d973c24a7..61662089ff6337ddcace7feb9d0a981eab03bf46 100644 (file)
--- a/rt/aio.h
+++ b/rt/aio.h
@@ -147,7 +147,8 @@ extern int aio_read (struct aiocb *__aiocbp) __THROW;
 extern int aio_write (struct aiocb *__aiocbp) __THROW;
 
 /* Initiate list of I/O requests.  */
-extern int lio_listio (int __mode, struct aiocb *__const __list[],
+extern int lio_listio (int __mode,
+                      struct aiocb *__const __list[__restrict_arr],
                       int __nent, struct sigevent *__restrict __sig) __THROW;
 
 /* Retrieve error status associated with AIOCBP.  */
@@ -174,7 +175,8 @@ extern int __REDIRECT (aio_write, (struct aiocb *__aiocbp) __THROW,
                       aio_write64);
 
 extern int __REDIRECT (lio_listio,
-                      (int __mode, struct aiocb *__const __list[],
+                      (int __mode,
+                       struct aiocb *__const __list[__restrict_arr],
                        int __nent, struct sigevent *__restrict __sig) __THROW,
                       lio_listio64);
 
@@ -213,7 +215,8 @@ extern int __REDIRECT (aio_fsync,
 extern int aio_read64 (struct aiocb64 *__aiocbp) __THROW;
 extern int aio_write64 (struct aiocb64 *__aiocbp) __THROW;
 
-extern int lio_listio64 (int __mode, struct aiocb64 *__const __list[],
+extern int lio_listio64 (int __mode,
+                        struct aiocb64 *__const __list[__restrict_arr],
                         int __nent, struct sigevent *__restrict __sig)
      __THROW;
 
index 3f6373ee754a8ee3614f9009d9d251ba7afa7bc6..cc422ac9f649abb4e049a2cbd68ce8f690a34b22 100644 (file)
@@ -232,34 +232,38 @@ extern int sigorset (sigset_t *__set, __const sigset_t *__left,
 # include <bits/sigaction.h>
 
 /* Get and/or change the set of blocked signals.  */
-extern int sigprocmask (int __how, __const sigset_t *__set, sigset_t *__oset)
-     __THROW;
+extern int sigprocmask (int __how, __const sigset_t *__restrict __set,
+                       sigset_t *__restrict __oset) __THROW;
 
 /* Change the set of blocked signals to SET,
    wait until a signal arrives, and restore the set of blocked signals.  */
 extern int sigsuspend (__const sigset_t *__set) __THROW;
 
 /* Get and/or set the action for signal SIG.  */
-extern int __sigaction (int __sig, __const struct sigaction *__act,
-                       struct sigaction *__oact) __THROW;
-extern int sigaction (int __sig, __const struct sigaction *__act,
-                     struct sigaction *__oact) __THROW;
+extern int __sigaction (int __sig, __const struct sigaction *__restrict __act,
+                       struct sigaction *__restrict __oact) __THROW;
+extern int sigaction (int __sig, __const struct sigaction *__restrict __act,
+                     struct sigaction *__restrict __oact) __THROW;
 
 /* Put in SET all signals that are blocked and waiting to be delivered.  */
 extern int sigpending (sigset_t *__set) __THROW;
 
 
 /* Select any of pending signals from SET or wait for any to arrive.  */
-extern int sigwait (__const sigset_t *__set, int *__sig) __THROW;
+extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig)
+     __THROW;
 
 # ifdef __USE_POSIX199309
 /* Select any of pending signals from SET and place information in INFO.  */
-extern int sigwaitinfo (__const sigset_t *__set, siginfo_t *__info) __THROW;
+extern int sigwaitinfo (__const sigset_t *__restrict __set,
+                       siginfo_t *__restrict __info) __THROW;
 
 /* Select any of pending signals from SET and place information in INFO.
    Wait the imte specified by TIMEOUT if no signal is pending.  */
-extern int sigtimedwait (__const sigset_t *__set, siginfo_t *__info,
-                        __const struct timespec *__timeout) __THROW;
+extern int sigtimedwait (__const sigset_t *__restrict __set,
+                        siginfo_t *__restrict __info,
+                        __const struct timespec *__restrict __timeout)
+     __THROW;
 
 /* Send signal SIG to the process PID.  Associate data in VAL with the
    signal.  */
@@ -329,8 +333,8 @@ extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) __THROW;
 
 /* Alternate signal handler stack interface.
    This interface should always be preferred over `sigstack'.  */
-extern int sigaltstack (__const struct sigaltstack *__ss,
-                       struct sigaltstack *__oss) __THROW;
+extern int sigaltstack (__const struct sigaltstack *__restrict __ss,
+                       struct sigaltstack *__restrict __oss) __THROW;
 
 #endif /* use BSD or X/Open Unix.  */
 
index dbb6dabd2c487014913365b82b83bc8a4b222819..1655d956e87a798cf17cf692bbc76f325f2e8e05 100644 (file)
@@ -1,5 +1,5 @@
 /* Declarations of socket constants, types, and functions.
-   Copyright (C) 1991,92,94,95,96,97,98,99 Free Software Foundation, Inc.
+   Copyright (C) 1991,92,94,95,96,97,98,99,2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -62,7 +62,7 @@ enum
    G++ 2.7 does not support transparent unions so there we want the
    old-style declaration, too.  */
 #if defined __cplusplus || !__GNUC_PREREQ (2, 7)
-# define __SOCKADDR_ARG                struct sockaddr *
+# define __SOCKADDR_ARG                struct sockaddr *__restrict
 # define __CONST_SOCKADDR_ARG  __const struct sockaddr *
 #else
 /* Add more `struct sockaddr_AF' types here as necessary.
@@ -82,11 +82,11 @@ enum
   __SOCKADDR_ONETYPE (sockaddr_un) \
   __SOCKADDR_ONETYPE (sockaddr_x25)
 
-# define __SOCKADDR_ONETYPE(type) struct type *__##type##__;
+# define __SOCKADDR_ONETYPE(type) struct type *__restrict __##type##__;
 typedef union { __SOCKADDR_ALLTYPES
              } __SOCKADDR_ARG __attribute__ ((__transparent_union__));
 # undef __SOCKADDR_ONETYPE
-# define __SOCKADDR_ONETYPE(type) __const struct type *__##type##__;
+# define __SOCKADDR_ONETYPE(type) __const struct type *__restrict __##type##__;
 typedef union { __SOCKADDR_ALLTYPES
              } __CONST_SOCKADDR_ARG __attribute__ ((__transparent_union__));
 # undef __SOCKADDR_ONETYPE
@@ -110,8 +110,8 @@ extern int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len)
      __THROW;
 
 /* Put the local address of FD into *ADDR and its length in *LEN.  */
-extern int getsockname (int __fd, __SOCKADDR_ARG __addr, socklen_t *__len)
-     __THROW;
+extern int getsockname (int __fd, __SOCKADDR_ARG __addr,
+                       socklen_t *__restrict __len) __THROW;
 
 /* Open a connection on socket FD to peer at ADDR (which LEN bytes long).
    For connectionless socket types, just set the default address to send to
@@ -124,8 +124,8 @@ extern int connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len)
 
 /* Put the address of the peer connected to socket FD into *ADDR
    (which is *LEN bytes long), and its actual length into *LEN.  */
-extern int getpeername (int __fd, __SOCKADDR_ARG __addr, socklen_t *__len)
-     __THROW;
+extern int getpeername (int __fd, __SOCKADDR_ARG __addr,
+                       socklen_t *__restrict __len) __THROW;
 
 
 /* Send N bytes of BUF to socket FD.  Returns the number sent or -1.  */
@@ -149,8 +149,9 @@ extern int sendto (int __fd, __const void *__buf, size_t __n,
    If ADDR is not NULL, fill in *ADDR_LEN bytes of it with tha address of
    the sender, and store the actual size of the address in *ADDR_LEN.
    Returns the number of bytes read or -1 for errors.  */
-extern int recvfrom (int __fd, void *__buf, size_t __n, int __flags,
-                    __SOCKADDR_ARG __addr, socklen_t *__addr_len) __THROW;
+extern int recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags,
+                    __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len)
+     __THROW;
 
 
 /* Send a message described MESSAGE on socket FD.
@@ -168,7 +169,8 @@ extern int recvmsg (int __fd, struct msghdr *__message, int __flags)
    into OPTVAL (which is *OPTLEN bytes long), and set *OPTLEN to the value's
    actual length.  Returns 0 on success, -1 for errors.  */
 extern int getsockopt (int __fd, int __level, int __optname,
-                      void *__optval, socklen_t *__optlen) __THROW;
+                      void *__restrict __optval,
+                      socklen_t *__restrict __optlen) __THROW;
 
 /* Set socket FD's option OPTNAME at protocol level LEVEL
    to *OPTVAL (which is OPTLEN bytes long).
@@ -187,7 +189,8 @@ extern int listen (int __fd, unsigned int __n) __THROW;
    set *ADDR (which is *ADDR_LEN bytes long) to the address of the connecting
    peer and *ADDR_LEN to the address's actual length, and return the
    new socket's descriptor, or -1 for errors.  */
-extern int accept (int __fd, __SOCKADDR_ARG __addr, socklen_t *__addr_len)
+extern int accept (int __fd, __SOCKADDR_ARG __addr,
+                  socklen_t *__restrict __addr_len)
      __THROW;
 
 /* Shut down all or part of the connection open on socket FD.
index 9e92a61cbffb81183c3f7b34c1d93d265508065d..346a682950ed88158507980c98f9d39ee2cad488 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -36,7 +36,8 @@ extern int setcontext (__const ucontext_t *__ucp) __THROW;
 
 /* Save current context in context variable pointed to by OUCP and set
    context from variable pointed to by UCP.  */
-extern int swapcontext (ucontext_t *__oucp, __const ucontext_t *__ucp) __THROW;
+extern int swapcontext (ucontext_t *__restrict __oucp,
+                       __const ucontext_t *__restrict __ucp) __THROW;
 
 /* Manipulate user context UCP to continue with calling functions FUNC
    and the ARGC-1 parameters following ARGC when the context is used
index dda28573e976ff266301c98aeb19e555c4815c47..04dc5cd0afd04196b23b42bc066b974ee51e118f 100644 (file)
@@ -44,13 +44,15 @@ __BEGIN_DECLS
 extern int isastream (int __fildes) __THROW;
 
 /* Receive next message from a STREAMS file.  */
-extern int getmsg (int __fildes, struct strbuf *__ctlptr,
-                  struct strbuf *__dataptr, int *__flagsp) __THROW;
+extern int getmsg (int __fildes, struct strbuf *__restrict __ctlptr,
+                  struct strbuf *__restrict __dataptr,
+                  int *__restrict __flagsp) __THROW;
 
 /* Receive next message from a STREAMS file, with *FLAGSP allowing to
    control which message.  */
-extern int getpmsg (int __fildes, struct strbuf *__ctlptr,
-                   struct strbuf *__dataptr, int *__bandp, int *__flagsp)
+extern int getpmsg (int __fildes, struct strbuf *__restrict __ctlptr,
+                   struct strbuf *__restrict __dataptr,
+                   int *__restrict __bandp, int *__restrict __flagsp)
      __THROW;
 
 /* Perform the I/O control operation specified by REQUEST on FD.
index d4d3e442ef6610d249142f4655f79e223a6cf0b8..1ea0ff5d929c455eca6883cec9ac41aa5abb5baf 100644 (file)
@@ -45,7 +45,8 @@ extern void *memmove (void *__dest, __const void *__src, size_t __n)
    Return the position in DEST one byte past where C was copied,
    or NULL if C was not found in the first N bytes of SRC.  */
 #if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN
-extern void *memccpy (void *__dest, __const void *__src, int __c, size_t __n)
+extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
+                     int __c, size_t __n)
      __THROW;
 #endif /* SVID.  */
 
index fe8648e76373322573f3f7adb7827bafa20ac57a..a7539122994855c9f97520bb7264bb4c4519b685 100644 (file)
@@ -65,7 +65,8 @@ typedef void *__timezone_ptr_t;
    Returns 0 on success, -1 on errors.
    NOTE: This form of timezone information is obsolete.
    Use the functions and variables declared in <time.h> instead.  */
-extern int gettimeofday (struct timeval *__tv, __timezone_ptr_t __tz) __THROW;
+extern int gettimeofday (struct timeval *__restrict __tv,
+                        __timezone_ptr_t __restrict __tz) __THROW;
 
 /* Set the current time of day and timezone information.
    This call is restricted to the super-user.  */
@@ -120,8 +121,8 @@ extern int getitimer (__itimer_which_t __which,
    set *OLD to the old value of timer WHICH.
    Returns 0 on success, -1 on errors.  */
 extern int setitimer (__itimer_which_t __which,
-                     __const struct itimerval *__new,
-                     struct itimerval *__old) __THROW;
+                     __const struct itimerval *__restrict __new,
+                     struct itimerval *__restrict __old) __THROW;
 
 /* Change the access time of FILE to TVP[0] and
    the modification time of FILE to TVP[1].  */
index 47e4d8c5becbbc8ab6ebae506c8e5d58b6491044..9178d5f2da86eaf27ba7a54573d414cf5bc4dada 100644 (file)
@@ -182,7 +182,8 @@ extern size_t strftime (char *__restrict __s, size_t __maxsize,
 # ifdef __USE_XOPEN
 /* Parse S according to FORMAT and store binary time information in TP.
    The return value is a pointer to the first unparsed character in S.  */
-extern char *strptime (__const char *__s, __const char *__fmt, struct tm *__tp)
+extern char *strptime (__const char *__restrict __s,
+                      __const char *__restrict __fmt, struct tm *__tp)
      __THROW;
 # endif
 
@@ -304,16 +305,17 @@ extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __THROW;
 
 
 /* Create new per-process timer using CLOCK_ID.  */
-extern int timer_create (clockid_t __clock_id, struct sigevent *__evp,
-                        timer_t *__timerid) __THROW;
+extern int timer_create (clockid_t __clock_id,
+                        struct sigevent *__restrict __evp,
+                        timer_t *__restrict __timerid) __THROW;
 
 /* Delete timer TIMERID.  */
 extern int timer_delete (timer_t __timerid) __THROW;
 
 /* Set timer TIMERID to VALUE, returning old value in OVLAUE.  */
 extern int timer_settime (timer_t __timerid, int __flags,
-                         __const struct itimerspec *__value,
-                         struct itimerspec *__ovalue) __THROW;
+                         __const struct itimerspec *__restrict __value,
+                         struct itimerspec *__restrict __ovalue) __THROW;
 
 /* Get current value of timer TIMERID and store it in VLAUE.  */
 extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)