summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog30
-rw-r--r--elf/dl-load.c3
-rw-r--r--elf/dl-misc.c6
-rw-r--r--elf/dl-profile.c8
-rw-r--r--elf/sln.c6
-rw-r--r--elf/sprof.c2
-rw-r--r--libio/strfile.h6
-rw-r--r--linuxthreads/internals.h30
-rw-r--r--linuxthreads/sysdeps/pthread/bits/libc-lock.h37
-rw-r--r--linuxthreads/sysdeps/pthread/pthread.h21
-rw-r--r--linuxthreads/weaks.c8
-rw-r--r--locale/langinfo.h2
-rw-r--r--locale/localeconv.c4
-rw-r--r--locale/programs/simple-hash.h25
-rw-r--r--nis/nis_intern.h34
-rw-r--r--nis/nis_xdr.h34
-rw-r--r--nis/rpcsvc/nis.h99
-rw-r--r--nis/rpcsvc/nis_callback.h18
-rw-r--r--nis/rpcsvc/nislib.h226
-rw-r--r--nis/rpcsvc/ypclnt.h98
-rw-r--r--nis/ypclnt.c4
-rw-r--r--nscd/nscd.c2
-rw-r--r--nscd/nscd_proto.h42
-rw-r--r--sunrpc/rpcsvc/rusers.x8
-rw-r--r--sysdeps/generic/inttypes.h110
-rw-r--r--sysdeps/gnu/utmpx.h26
26 files changed, 465 insertions, 424 deletions
diff --git a/ChangeLog b/ChangeLog
index 47132bdea2..8f3c3f2057 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+1999-12-31  Andreas Jaeger  <aj@suse.de>
+
+	* libio/strfile.h: Remove K&R compatibility.
+	* locale/langinfo.h: Likewise.
+	* locale/localeconv.c (localeconv): Likewise.
+	* locale/programs/simple-hash.h: Likewise.
+	* nis/nis_xdr.h: Likewise.
+	* nis/rpcsvc/nislib.h: Likewise.
+	* nis/rpcsvc/nis_callback.h: Likewise.
+	* nis/rpcsvc/nis.h: Likewise.
+	* nis/ypclnt.c: Likewise.
+	* nscd/nscd_proto.h: Likewise.
+	* nscd/nscd.c: Likewise.
+	* sysdeps/generic/inttypes.h: Likewise.
+	* sysdeps/gnu/utmpx.h: Likewise.
+
+	* nis/nis_intern.h: Remove K&R compatibility; add missing ints.
+	* sunrpc/rpcsvc/rusers.x: Likewise.
+
+	* nis/rpcsvc/ypclnt.h: Remove K&R compatibility; reformat.
+
+	* elf/dl-misc.c: Remove __libc_write prototype since it's already
+	in include/unistd.h.
+	* elf/dl-profile.c: Likewise.
+	* elf/dl-load.c: Likewise for __libc_read.
+
+	* elf/dl-profile.c: Remove __P.
+	* elf/sprof.c: Likewise.
+	* elf/sln.c: Likewise.
+
 1999-12-31  Ulrich Drepper  <drepper@cygnus.com>
 
 	* locale/langinfo.h: Add constants for wide character collation
diff --git a/elf/dl-load.c b/elf/dl-load.c
index cf015a2d3d..4651a45265 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -128,9 +128,6 @@ static const size_t system_dirs_len[] =
   SYSTEM_DIRS_LEN
 };
 
-/* This function has no public prototype.  */
-extern ssize_t __libc_read (int, void *, size_t);
-
 
 /* Local version of `strdup' function.  */
 static inline char *
diff --git a/elf/dl-misc.c b/elf/dl-misc.c
index 8a441c0a3a..63f9266422 100644
--- a/elf/dl-misc.c
+++ b/elf/dl-misc.c
@@ -1,5 +1,5 @@
 /* Miscellaneous support functions for dynamic linker
-   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999 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
@@ -27,10 +27,6 @@
 #include <sys/stat.h>
 #include <stdio-common/_itoa.h>
 
-/* We have prototype anywhere.  */
-extern ssize_t __libc_write __P ((int __fd, __const __ptr_t __buf,
-				  size_t __n));
-
 #ifndef MAP_ANON
 /* This is the only dl-sysdep.c function that is actually needed at run-time
    by _dl_map_object.  */
diff --git a/elf/dl-profile.c b/elf/dl-profile.c
index a9f8dd6226..2ee2dd5aa3 100644
--- a/elf/dl-profile.c
+++ b/elf/dl-profile.c
@@ -1,5 +1,5 @@
 /* Profiling of shared libraries.
-   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
    Based on the BSD mcount implementation.
@@ -35,10 +35,6 @@
 #include <sys/stat.h>
 #include <atomicity.h>
 
-/* We have prototype anywhere.  */
-extern ssize_t __libc_write __P ((int __fd, __const __ptr_t __buf,
-				  size_t __n));
-
 /* The LD_PROFILE feature has to be implemented different to the
    normal profiling using the gmon/ functions.  The problem is that an
    arbitrary amount of processes simulataneously can be run using
@@ -124,7 +120,7 @@ extern ssize_t __libc_write __P ((int __fd, __const __ptr_t __buf,
    data structures at the program start.  To do this we'll simply visit all
    entries in the call graph table and add it to the appropriate list.  */
 
-extern int __profile_frequency __P ((void));
+extern int __profile_frequency (void);
 
 /* We define a special type to address the elements of the arc table.
    This is basically the `gmon_cg_arc_record' format but it includes
diff --git a/elf/sln.c b/elf/sln.c
index f9344692e6..e13b6d97b1 100644
--- a/elf/sln.c
+++ b/elf/sln.c
@@ -1,5 +1,5 @@
 /* `sln' program to create symboblic links between files.
-   Copyright (C) 1998 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999 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
@@ -30,8 +30,8 @@
 #define	S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
 #endif
 
-static int makesymlink __P ((const char *src, const char *dest));
-static int makesymlinks __P ((const char *file));
+static int makesymlink (const char *src, const char *dest);
+static int makesymlinks (const char *file);
 
 int
 main (int argc, char **argv)
diff --git a/elf/sprof.c b/elf/sprof.c
index 7e1d8c4297..79c315291d 100644
--- a/elf/sprof.c
+++ b/elf/sprof.c
@@ -58,7 +58,7 @@
 #endif
 
 
-extern int __profile_frequency __P ((void));
+extern int __profile_frequency (void);
 
 /* Name and version of program.  */
 static void print_version (FILE *stream, struct argp_state *state);
diff --git a/libio/strfile.h b/libio/strfile.h
index baf25f7097..04f19bcf74 100644
--- a/libio/strfile.h
+++ b/libio/strfile.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU IO Library.
 
    This library is free software; you can redistribute it and/or
@@ -28,8 +28,8 @@
 Merge into  libio.h ?
 #endif
 
-typedef void *(*_IO_alloc_type) __PMT ((_IO_size_t));
-typedef void (*_IO_free_type) __PMT ((void*));
+typedef void *(*_IO_alloc_type) (_IO_size_t);
+typedef void (*_IO_free_type) (void*);
 
 struct _IO_str_fields
 {
diff --git a/linuxthreads/internals.h b/linuxthreads/internals.h
index 2e4b4b79b7..c5fde1f883 100644
--- a/linuxthreads/internals.h
+++ b/linuxthreads/internals.h
@@ -355,31 +355,29 @@ void __fresetlockfiles(void);
 void __pthread_manager_adjust_prio(int thread_prio);
 
 extern int __pthread_attr_setguardsize (pthread_attr_t *__attr,
-					size_t __guardsize) __THROW;
-extern int __pthread_attr_getguardsize (__const pthread_attr_t *__attr,
-					size_t *__guardsize) __THROW;
+					size_t __guardsize);
+extern int __pthread_attr_getguardsize (const pthread_attr_t *__attr,
+					size_t *__guardsize);
 extern int __pthread_attr_setstackaddr (pthread_attr_t *__attr,
-					void *__stackaddr) __THROW;
-extern int __pthread_attr_getstackaddr (__const pthread_attr_t *__attr,
-					void **__stackaddr) __THROW;
+					void *__stackaddr);
+extern int __pthread_attr_getstackaddr (const pthread_attr_t *__attr,
+					void **__stackaddr);
 extern int __pthread_attr_setstacksize (pthread_attr_t *__attr,
-					size_t __stacksize) __THROW;
-extern int __pthread_attr_getstacksize (__const pthread_attr_t *__attr,
-					size_t *__stacksize) __THROW;
-extern int __pthread_getconcurrency (void) __THROW;
-extern int __pthread_setconcurrency (int __level) __THROW;
-extern int __pthread_mutexattr_gettype (__const pthread_mutexattr_t *__attr,
-					int *__kind) __THROW;
-extern void __pthread_kill_other_threads_np (void) __THROW;
+					size_t __stacksize);
+extern int __pthread_attr_getstacksize (const pthread_attr_t *__attr,
+					size_t *__stacksize);
+extern int __pthread_getconcurrency (void);
+extern int __pthread_setconcurrency (int __level);
+extern int __pthread_mutexattr_gettype (const pthread_mutexattr_t *__attr,
+					int *__kind);
+extern void __pthread_kill_other_threads_np (void);
 
 /* Prototypes for the function without cancelation support when the
    normal version has it.  */
 extern int __libc_close (int fd);
 extern int __libc_nanosleep (const struct timespec *requested_time,
 			     struct timespec *remaining);
-extern ssize_t __libc_read (int fd, void *buf, size_t count);
 extern pid_t __libc_waitpid (pid_t pid, int *stat_loc, int options);
-extern ssize_t __libc_write (int fd, const void *buf, size_t count);
 
 /* Prototypes for some of the new semaphore functions.  */
 extern int __new_sem_post (sem_t * sem);
diff --git a/linuxthreads/sysdeps/pthread/bits/libc-lock.h b/linuxthreads/sysdeps/pthread/bits/libc-lock.h
index a14cea1aa7..0f412bb9e2 100644
--- a/linuxthreads/sysdeps/pthread/bits/libc-lock.h
+++ b/linuxthreads/sysdeps/pthread/bits/libc-lock.h
@@ -166,6 +166,43 @@ typedef pthread_key_t __libc_key_t;
 #define __libc_atfork(PREPARE, PARENT, CHILD) \
   (__pthread_atfork != NULL ? __pthread_atfork (PREPARE, PARENT, CHILD) : 0)
 
+/* Functions that are used by this file and are internal to the GNU C
+   library.  */
+
+extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
+				 __const pthread_mutexattr_t *__mutex_attr);
+
+extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex);
+
+extern int __pthread_mutex_trylock (pthread_mutex_t *__mutex);
+
+extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);
+
+extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex);
+
+extern int __pthread_mutexattr_init (pthread_mutexattr_t *__attr);
+
+extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *__attr);
+
+extern int __pthread_mutexattr_settype (pthread_mutexattr_t *__attr,
+					int __kind);
+
+extern int __pthread_key_create (pthread_key_t *__key,
+				 void (*__destr_function) (void *));
+
+extern int __pthread_setspecific (pthread_key_t __key,
+				  __const void *__pointer);
+
+extern void *__pthread_getspecific (pthread_key_t __key);
+
+extern int __pthread_once (pthread_once_t *__once_control,
+			   void (*__init_routine) (void));
+
+extern int __pthread_atfork (void (*__prepare) (void),
+			     void (*__parent) (void),
+			     void (*__child) (void));
+
+
 
 /* Make the pthread functions weak so that we can elide them from
    single-threaded processes.  */
diff --git a/linuxthreads/sysdeps/pthread/pthread.h b/linuxthreads/sysdeps/pthread/pthread.h
index 5ce052b17f..b3606f7d08 100644
--- a/linuxthreads/sysdeps/pthread/pthread.h
+++ b/linuxthreads/sysdeps/pthread/pthread.h
@@ -270,27 +270,20 @@ extern int pthread_setconcurrency (int __level) __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 *__mutex,
 			       __const pthread_mutexattr_t *__mutex_attr)
      __THROW;
 
 /* Destroy MUTEX.  */
-extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex) __THROW;
 extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) __THROW;
 
 /* Try to lock MUTEX.  */
-extern int __pthread_mutex_trylock (pthread_mutex_t *__mutex) __THROW;
 extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) __THROW;
 
 /* Wait until lock for MUTEX becomes available and lock it.  */
-extern int __pthread_mutex_lock (pthread_mutex_t *__mutex) __THROW;
 extern int pthread_mutex_lock (pthread_mutex_t *__mutex) __THROW;
 
 /* Unlock MUTEX.  */
-extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex) __THROW;
 extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) __THROW;
 
 
@@ -298,19 +291,15 @@ extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) __THROW;
 
 /* Initialize mutex attribute object ATTR with default attributes
    (kind is PTHREAD_MUTEX_FAST_NP).  */
-extern int __pthread_mutexattr_init (pthread_mutexattr_t *__attr) __THROW;
 extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) __THROW;
 
 /* Destroy mutex attribute object ATTR.  */
-extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) __THROW;
 extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) __THROW;
 
 #ifdef __USE_UNIX98
 /* Set the mutex kind attribute in *ATTR to KIND (either PTHREAD_MUTEX_NORMAL,
    PTHREAD_MUTEX_RECURSIVE, PTHREAD_MUTEX_ERRORCHECK, or
    PTHREAD_MUTEX_DEFAULT).  */
-extern int __pthread_mutexattr_settype (pthread_mutexattr_t *__attr,
-					int __kind) __THROW;
 extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
      __THROW;
 
@@ -419,8 +408,6 @@ extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
    associated to that key when the key is destroyed.
    DESTR_FUNCTION is not called if the value associated is NULL when
    the key is destroyed.  */
-extern int __pthread_key_create (pthread_key_t *__key,
-				 void (*__destr_function) (void *)) __THROW;
 extern int pthread_key_create (pthread_key_t *__key,
 			       void (*__destr_function) (void *)) __THROW;
 
@@ -428,13 +415,10 @@ extern int pthread_key_create (pthread_key_t *__key,
 extern int pthread_key_delete (pthread_key_t __key) __THROW;
 
 /* Store POINTER in the thread-specific data slot identified by KEY. */
-extern int __pthread_setspecific (pthread_key_t __key,
-				  __const void *__pointer) __THROW;
 extern int pthread_setspecific (pthread_key_t __key,
 				__const void *__pointer) __THROW;
 
 /* Return current value of the thread-specific data slot identified by KEY.  */
-extern void *__pthread_getspecific (pthread_key_t __key) __THROW;
 extern void *pthread_getspecific (pthread_key_t __key) __THROW;
 
 
@@ -444,8 +428,6 @@ extern void *pthread_getspecific (pthread_key_t __key) __THROW;
    only once, even if pthread_once is executed several times with the
    same ONCE_CONTROL argument. ONCE_CONTROL must point to a static or
    extern variable initialized to PTHREAD_ONCE_INIT.  */
-extern int __pthread_once (pthread_once_t *__once_control,
-			   void (*__init_routine) (void)) __THROW;
 extern int pthread_once (pthread_once_t *__once_control,
 			 void (*__init_routine) (void)) __THROW;
 
@@ -533,9 +515,6 @@ extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *__buff
    first called before FORK), and the PARENT and CHILD handlers are called
    in FIFO (first added, first called).  */
 
-extern int __pthread_atfork (void (*__prepare) (void),
-			     void (*__parent) (void),
-			     void (*__child) (void)) __THROW;
 extern int pthread_atfork (void (*__prepare) (void),
 			   void (*__parent) (void),
 			   void (*__child) (void)) __THROW;
diff --git a/linuxthreads/weaks.c b/linuxthreads/weaks.c
index d142b3d7b1..d6d028f2ec 100644
--- a/linuxthreads/weaks.c
+++ b/linuxthreads/weaks.c
@@ -1,5 +1,5 @@
 /* The weak pthread functions for Linux.
-   Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999 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
@@ -21,9 +21,9 @@
 #include <limits.h>
 #include <stdlib.h>
 
-extern int __pthread_return_0 (void) __THROW;
-extern int __pthread_return_1 (void) __THROW;
-extern void __pthread_return_void (void) __THROW;
+extern int __pthread_return_0 (void);
+extern int __pthread_return_1 (void);
+extern void __pthread_return_void (void);
 
 /* Those are pthread functions which return 0 if successful. */
 #if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
diff --git a/locale/langinfo.h b/locale/langinfo.h
index 8ba42fa036..69341223cb 100644
--- a/locale/langinfo.h
+++ b/locale/langinfo.h
@@ -474,7 +474,7 @@ enum
    The string returned will not change until `setlocale' is called;
    it is usually in read-only memory and cannot be modified.  */
 
-extern char *nl_langinfo __P ((nl_item __item));
+extern char *nl_langinfo (nl_item __item) __THROW;
 
 
 __END_DECLS
diff --git a/locale/localeconv.c b/locale/localeconv.c
index 06f12dbfaf..9b8061ad1c 100644
--- a/locale/localeconv.c
+++ b/locale/localeconv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1995, 1997, 1999 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
@@ -21,7 +21,7 @@
 
 /* Return monetary and numeric information about the current locale.  */
 struct lconv *
-localeconv __P ((void))
+localeconv (void)
 {
   static struct lconv result;
 
diff --git a/locale/programs/simple-hash.h b/locale/programs/simple-hash.h
index b72e3acaca..8494cb2638 100644
--- a/locale/programs/simple-hash.h
+++ b/locale/programs/simple-hash.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
@@ -33,18 +33,19 @@ typedef struct hash_table
 hash_table;
 
 
-extern int init_hash __P ((hash_table *htab, unsigned long int init_size));
-extern int delete_hash __P ((hash_table *htab));
-extern int insert_entry __P ((hash_table *htab, const void *key, size_t keylen,
-			      void *data));
-extern int find_entry __P ((hash_table *htab, const void *key, size_t keylen,
-			    void **result));
-extern int set_entry __P ((hash_table *htab, const void *key, size_t keylen,
-			   void *newval));
+extern int init_hash (hash_table *htab, unsigned long int init_size) __THROW;
+extern int delete_hash (hash_table *htab) __THROW;
+extern int insert_entry (hash_table *htab, const void *key, size_t keylen,
+			 void *data) __THROW;
+extern int find_entry (hash_table *htab, const void *key, size_t keylen,
+		       void **result) __THROW;
+extern int set_entry (hash_table *htab, const void *key, size_t keylen,
+		      void *newval) __THROW;
 
-extern int iterate_table __P ((hash_table *htab, void **ptr,
-			       const void **key, size_t *keylen, void **data));
+extern int iterate_table (hash_table *htab, void **ptr,
+			  const void **key, size_t *keylen, void **data)
+     __THROW;
 
-extern unsigned long int next_prime __P ((unsigned long int seed));
+extern unsigned long int next_prime (unsigned long int seed) __THROW;
 
 #endif /* simple-hash.h */
diff --git a/nis/nis_intern.h b/nis/nis_intern.h
index 4ca47473ce..1d6f017c2c 100644
--- a/nis/nis_intern.h
+++ b/nis/nis_intern.h
@@ -1,6 +1,6 @@
-/* Copyright (c) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (c) 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
+   Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
 
    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
@@ -36,24 +36,24 @@ struct nis_cb
   };
 typedef struct nis_cb nis_cb;
 
-extern unsigned long inetstr2int __P ((const char *str));
-extern long __nis_findfastest __P ((dir_binding *bind));
-extern nis_error __do_niscall2 __P ((const nis_server *serv, u_int serv_len,
-				     u_long prog, xdrproc_t xargs, caddr_t req,
-				     xdrproc_t xres, caddr_t resp,
-				     unsigned int flags, nis_cb *cb));
-extern nis_error __do_niscall __P ((const_nis_name name, u_long prog,
-				    xdrproc_t xargs, caddr_t req,
-				    xdrproc_t xres, caddr_t resp,
-				    unsigned int flags, nis_cb *cb));
+extern unsigned long int inetstr2int (const char *str);
+extern long int __nis_findfastest (dir_binding *bind);
+extern nis_error __do_niscall2 (const nis_server *serv, u_int serv_len,
+				u_long prog, xdrproc_t xargs, caddr_t req,
+				xdrproc_t xres, caddr_t resp,
+				unsigned int flags, nis_cb *cb);
+extern nis_error __do_niscall (const_nis_name name, u_long prog,
+			       xdrproc_t xargs, caddr_t req,
+			       xdrproc_t xres, caddr_t resp,
+			       unsigned int flags, nis_cb *cb);
 
 /* NIS+ callback */
-extern nis_error __nis_do_callback __P ((struct dir_binding *bptr,
-					 netobj *cookie, struct nis_cb *cb));
+extern nis_error __nis_do_callback (struct dir_binding *bptr,
+				    netobj *cookie, struct nis_cb *cb);
 extern struct nis_cb *__nis_create_callback
-      __P ((int (*callback)(const_nis_name, const nis_object *, const void *),
-	    const void *userdata, unsigned int flags));
-extern nis_error __nis_destroy_callback __P ((struct nis_cb *cb));
+      (int (*callback)(const_nis_name, const nis_object *, const void *),
+       const void *userdata, unsigned int flags);
+extern nis_error __nis_destroy_callback (struct nis_cb *cb);
 
 __END_DECLS
 
diff --git a/nis/nis_xdr.h b/nis/nis_xdr.h
index b2c0250b61..067f1c2def 100644
--- a/nis/nis_xdr.h
+++ b/nis/nis_xdr.h
@@ -1,6 +1,6 @@
-/* Copyright (c) 1998 Free Software Foundation, Inc.
+/* Copyright (c) 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1998.
+   Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998.
 
    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
@@ -24,21 +24,21 @@
 
 __BEGIN_DECLS
 
-extern  bool_t _xdr_nis_attr __P ((XDR *, nis_attr*));
-extern  bool_t _xdr_nis_name __P ((XDR *, nis_name*));
-extern  bool_t _xdr_nis_server __P ((XDR *, nis_server*));
-extern  bool_t _xdr_directory_obj __P ((XDR *, directory_obj*));
-extern  bool_t _xdr_nis_object __P ((XDR *, nis_object*));
-extern  bool_t _xdr_nis_error __P ((XDR *, nis_error*));
-extern  bool_t _xdr_nis_result __P ((XDR *, nis_result*));
-extern  bool_t _xdr_ns_request __P ((XDR *, ns_request*));
-extern  bool_t _xdr_ib_request __P ((XDR *, ib_request*));
-extern  bool_t _xdr_ping_args __P ((XDR *, ping_args*));
-extern  bool_t _xdr_cp_result __P ((XDR *, cp_result*));
-extern  bool_t _xdr_nis_tag __P ((XDR *, nis_tag*));
-extern  bool_t _xdr_nis_taglist __P ((XDR *, nis_taglist*));
-extern  bool_t _xdr_fd_args __P ((XDR *, fd_args*));
-extern  bool_t _xdr_fd_result __P ((XDR *, fd_result*));
+extern  bool_t _xdr_nis_attr (XDR *, nis_attr*);
+extern  bool_t _xdr_nis_name (XDR *, nis_name*);
+extern  bool_t _xdr_nis_server (XDR *, nis_server*);
+extern  bool_t _xdr_directory_obj (XDR *, directory_obj*);
+extern  bool_t _xdr_nis_object (XDR *, nis_object*);
+extern  bool_t _xdr_nis_error (XDR *, nis_error*);
+extern  bool_t _xdr_nis_result (XDR *, nis_result*);
+extern  bool_t _xdr_ns_request (XDR *, ns_request*);
+extern  bool_t _xdr_ib_request (XDR *, ib_request*);
+extern  bool_t _xdr_ping_args (XDR *, ping_args*);
+extern  bool_t _xdr_cp_result (XDR *, cp_result*);
+extern  bool_t _xdr_nis_tag (XDR *, nis_tag*);
+extern  bool_t _xdr_nis_taglist (XDR *, nis_taglist*);
+extern  bool_t _xdr_fd_args (XDR *, fd_args*);
+extern  bool_t _xdr_fd_result (XDR *, fd_result*);
 
 __END_DECLS
 
diff --git a/nis/rpcsvc/nis.h b/nis/rpcsvc/nis.h
index 20fa114ecb..0495457239 100644
--- a/nis/rpcsvc/nis.h
+++ b/nis/rpcsvc/nis.h
@@ -52,7 +52,7 @@ __BEGIN_DECLS
  *      I have removed all the Solaris internal structs and variables,
  *      because they are not supported, Sun changed them between various
  *      releases and they shouldn't be used in user programs.
- *                                              <kukuk@vt.uni-paderborn.de>
+ *                                              <kukuk@suse.de>
  */
 
 
@@ -537,73 +537,78 @@ typedef enum name_pos name_pos;
 #define NIS_VERSION 3
 
 #define NIS_LOOKUP 1
-extern  nis_result * nis_lookup_3 __P ((ns_request *, CLIENT *));
-extern  nis_result * nis_lookup_3_svc __P ((ns_request *, struct svc_req *));
+extern  nis_result * nis_lookup_3 (ns_request *, CLIENT *) __THROW;
+extern  nis_result * nis_lookup_3_svc (ns_request *, struct svc_req *) __THROW;
 #define NIS_ADD 2
-extern  nis_result * nis_add_3 __P ((ns_request *, CLIENT *));
-extern  nis_result * nis_add_3_svc __P ((ns_request *, struct svc_req *));
+extern  nis_result * nis_add_3 (ns_request *, CLIENT *) __THROW;
+extern  nis_result * nis_add_3_svc (ns_request *, struct svc_req *) __THROW;
 #define NIS_MODIFY 3
-extern  nis_result * nis_modify_3 __P ((ns_request *, CLIENT *));
-extern  nis_result * nis_modify_3_svc __P ((ns_request *, struct svc_req *));
+extern  nis_result * nis_modify_3 (ns_request *, CLIENT *) __THROW;
+extern  nis_result * nis_modify_3_svc (ns_request *, struct svc_req *) __THROW;
 #define NIS_REMOVE 4
-extern  nis_result * nis_remove_3 __P ((ns_request *, CLIENT *));
-extern  nis_result * nis_remove_3_svc __P ((ns_request *, struct svc_req *));
+extern  nis_result * nis_remove_3 (ns_request *, CLIENT *) __THROW;
+extern  nis_result * nis_remove_3_svc (ns_request *, struct svc_req *) __THROW;
 #define NIS_IBLIST 5
-extern  nis_result * nis_iblist_3 __P ((ib_request *, CLIENT *));
-extern  nis_result * nis_iblist_3_svc __P ((ib_request *, struct svc_req *));
+extern  nis_result * nis_iblist_3 (ib_request *, CLIENT *) __THROW;
+extern  nis_result * nis_iblist_3_svc (ib_request *, struct svc_req *) __THROW;
 #define NIS_IBADD 6
-extern  nis_result * nis_ibadd_3 __P ((ib_request *, CLIENT *));
-extern  nis_result * nis_ibadd_3_svc __P ((ib_request *, struct svc_req *));
+extern  nis_result * nis_ibadd_3 (ib_request *, CLIENT *) __THROW;
+extern  nis_result * nis_ibadd_3_svc (ib_request *, struct svc_req *) __THROW;
 #define NIS_IBMODIFY 7
-extern  nis_result * nis_ibmodify_3 __P ((ib_request *, CLIENT *));
-extern  nis_result * nis_ibmodify_3_svc __P ((ib_request *, struct svc_req *));
+extern  nis_result * nis_ibmodify_3 (ib_request *, CLIENT *) __THROW;
+extern  nis_result * nis_ibmodify_3_svc (ib_request *, struct svc_req *)
+     __THROW;
 #define NIS_IBREMOVE 8
-extern  nis_result * nis_ibremove_3 __P ((ib_request *, CLIENT *));
-extern  nis_result * nis_ibremove_3_svc __P ((ib_request *, struct svc_req *));
+extern  nis_result * nis_ibremove_3 (ib_request *, CLIENT *) __THROW;
+extern  nis_result * nis_ibremove_3_svc (ib_request *, struct svc_req *)
+     __THROW;
 #define NIS_IBFIRST 9
-extern  nis_result * nis_ibfirst_3 __P ((ib_request *, CLIENT *));
-extern  nis_result * nis_ibfirst_3_svc __P ((ib_request *, struct svc_req *));
+extern  nis_result * nis_ibfirst_3 (ib_request *, CLIENT *) __THROW;
+extern  nis_result * nis_ibfirst_3_svc (ib_request *, struct svc_req *)
+     __THROW;
 #define NIS_IBNEXT 10
-extern  nis_result * nis_ibnext_3 __P ((ib_request *, CLIENT *));
-extern  nis_result * nis_ibnext_3_svc __P ((ib_request *, struct svc_req *));
+extern  nis_result * nis_ibnext_3 (ib_request *, CLIENT *) __THROW;
+extern  nis_result * nis_ibnext_3_svc (ib_request *, struct svc_req *) __THROW;
 #define NIS_FINDDIRECTORY 12
-extern  fd_result * nis_finddirectory_3 __P ((fd_args *, CLIENT *));
-extern  fd_result * nis_finddirectory_3_svc __P ((fd_args *,
-						  struct svc_req *));
+extern  fd_result * nis_finddirectory_3 (fd_args *, CLIENT *) __THROW;
+extern  fd_result * nis_finddirectory_3_svc (fd_args *,
+					     struct svc_req *) __THROW;
 #define NIS_STATUS 14
-extern  nis_taglist * nis_status_3 __P ((nis_taglist *, CLIENT *));
-extern  nis_taglist * nis_status_3_svc __P ((nis_taglist *, struct svc_req *));
+extern  nis_taglist * nis_status_3 (nis_taglist *, CLIENT *) __THROW;
+extern  nis_taglist * nis_status_3_svc (nis_taglist *, struct svc_req *)
+     __THROW;
 #define NIS_DUMPLOG 15
-extern  log_result * nis_dumplog_3 __P ((dump_args *, CLIENT *));
-extern  log_result * nis_dumplog_3_svc __P ((dump_args *, struct svc_req *));
+extern  log_result * nis_dumplog_3 (dump_args *, CLIENT *) __THROW;
+extern  log_result * nis_dumplog_3_svc (dump_args *, struct svc_req *) __THROW;
 #define NIS_DUMP 16
-extern  log_result * nis_dump_3 __P ((dump_args *, CLIENT *));
-extern  log_result * nis_dump_3_svc __P ((dump_args *, struct svc_req *));
+extern  log_result * nis_dump_3 (dump_args *, CLIENT *) __THROW;
+extern  log_result * nis_dump_3_svc (dump_args *, struct svc_req *) __THROW;
 #define NIS_CALLBACK 17
-extern  bool_t * nis_callback_3 __P ((netobj *, CLIENT *));
-extern  bool_t * nis_callback_3_svc __P ((netobj *, struct svc_req *));
+extern  bool_t * nis_callback_3 (netobj *, CLIENT *) __THROW;
+extern  bool_t * nis_callback_3_svc (netobj *, struct svc_req *) __THROW;
 #define NIS_CPTIME 18
-extern  uint32_t * nis_cptime_3 __P ((nis_name *, CLIENT *));
-extern  uint32_t * nis_cptime_3_svc __P ((nis_name *, struct svc_req *));
+extern  uint32_t * nis_cptime_3 (nis_name *, CLIENT *) __THROW;
+extern  uint32_t * nis_cptime_3_svc (nis_name *, struct svc_req *) __THROW;
 #define NIS_CHECKPOINT 19
-extern  cp_result * nis_checkpoint_3 __P ((nis_name *, CLIENT *));
-extern  cp_result * nis_checkpoint_3_svc __P ((nis_name *, struct svc_req *));
+extern  cp_result * nis_checkpoint_3 (nis_name *, CLIENT *) __THROW;
+extern  cp_result * nis_checkpoint_3_svc (nis_name *, struct svc_req *)
+     __THROW;
 #define NIS_PING 20
-extern  void * nis_ping_3 __P ((ping_args *, CLIENT *));
-extern  void * nis_ping_3_svc __P ((ping_args *, struct svc_req *));
+extern  void * nis_ping_3 (ping_args *, CLIENT *) __THROW;
+extern  void * nis_ping_3_svc (ping_args *, struct svc_req *) __THROW;
 #define NIS_SERVSTATE 21
-extern  nis_taglist * nis_servstate_3 __P ((nis_taglist *, CLIENT *));
-extern  nis_taglist * nis_servstate_3_svc __P ((nis_taglist *,
-						struct svc_req *));
+extern  nis_taglist * nis_servstate_3 (nis_taglist *, CLIENT *) __THROW;
+extern  nis_taglist * nis_servstate_3_svc (nis_taglist *,
+					   struct svc_req *) __THROW;
 #define NIS_MKDIR 22
-extern  nis_error * nis_mkdir_3 __P ((nis_name *, CLIENT *));
-extern  nis_error * nis_mkdir_3_svc __P ((nis_name *, struct svc_req *));
+extern  nis_error * nis_mkdir_3 (nis_name *, CLIENT *) __THROW;
+extern  nis_error * nis_mkdir_3_svc (nis_name *, struct svc_req *) __THROW;
 #define NIS_RMDIR 23
-extern  nis_error * nis_rmdir_3 __P ((nis_name *, CLIENT *));
-extern  nis_error * nis_rmdir_3_svc __P ((nis_name *, struct svc_req *));
+extern  nis_error * nis_rmdir_3 (nis_name *, CLIENT *) __THROW;
+extern  nis_error * nis_rmdir_3_svc (nis_name *, struct svc_req *) __THROW;
 #define NIS_UPDKEYS 24
-extern  nis_error * nis_updkeys_3 __P ((nis_name *, CLIENT *));
-extern  nis_error * nis_updkeys_3_svc __P ((nis_name *, struct svc_req *));
+extern  nis_error * nis_updkeys_3 (nis_name *, CLIENT *) __THROW;
+extern  nis_error * nis_updkeys_3_svc (nis_name *, struct svc_req *) __THROW;
 
 __END_DECLS
 
diff --git a/nis/rpcsvc/nis_callback.h b/nis/rpcsvc/nis_callback.h
index 106bd03b9e..eca4ed9f05 100644
--- a/nis/rpcsvc/nis_callback.h
+++ b/nis/rpcsvc/nis_callback.h
@@ -49,22 +49,22 @@ typedef struct cback_data cback_data;
 #define CB_VERS 1
 
 #define CBPROC_RECEIVE 1
-extern  bool_t * cbproc_receive_1 __P ((cback_data *, CLIENT *));
-extern  bool_t * cbproc_receive_1_svc __P ((cback_data *, struct svc_req *));
+extern  bool_t * cbproc_receive_1 (cback_data *, CLIENT *) __THROW;
+extern  bool_t * cbproc_receive_1_svc (cback_data *, struct svc_req *) __THROW;
 
 #define CBPROC_FINISH 2
-extern  void * cbproc_finish_1 __P ((void *, CLIENT *));
-extern  void * cbproc_finish_1_svc __P ((void *, struct svc_req *));
+extern  void * cbproc_finish_1 (void *, CLIENT *) __THROW;
+extern  void * cbproc_finish_1_svc (void *, struct svc_req *) __THROW;
 
 #define CBPROC_ERROR 3
-extern  void * cbproc_error_1 __P ((nis_error *, CLIENT *));
-extern  void * cbproc_error_1_svc __P ((nis_error *, struct svc_req *));
-extern int cb_prog_1_freeresult __P ((SVCXPRT *, xdrproc_t, caddr_t));
+extern  void * cbproc_error_1 (nis_error *, CLIENT *) __THROW;
+extern  void * cbproc_error_1_svc (nis_error *, struct svc_req *) __THROW;
+extern int cb_prog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t) __THROW;
 
 /* the xdr functions */
 
-extern  bool_t xdr_obj_p __P ((XDR *, obj_p*));
-extern  bool_t xdr_cback_data __P ((XDR *, cback_data*));
+extern  bool_t xdr_obj_p (XDR *, obj_p*) __THROW;
+extern  bool_t xdr_cback_data (XDR *, cback_data*) __THROW;
 
 __END_DECLS
 
diff --git a/nis/rpcsvc/nislib.h b/nis/rpcsvc/nislib.h
index 007123df41..a9da624553 100644
--- a/nis/rpcsvc/nislib.h
+++ b/nis/rpcsvc/nislib.h
@@ -1,6 +1,6 @@
-/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
+   Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
 
    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
@@ -52,12 +52,14 @@ typedef const char *const_nis_name;
  * nis_modify (name, obj) can change specific attributes of an object
  *                        that already exists in the namespace.
  */
-extern nis_result *nis_lookup __P ((const_nis_name name, unsigned int flags));
-extern nis_result *nis_add __P ((const_nis_name name, const nis_object *obj));
-extern nis_result *nis_remove __P ((const_nis_name name,
-				    const nis_object *obj));
-extern nis_result *nis_modify __P ((const_nis_name name,
-				    const nis_object *obj));
+extern nis_result *nis_lookup (const_nis_name name, unsigned int flags)
+     __THROW;
+extern nis_result *nis_add (const_nis_name name, const nis_object *obj)
+     __THROW;
+extern nis_result *nis_remove (const_nis_name name,
+			       const nis_object *obj) __THROW;
+extern nis_result *nis_modify (const_nis_name name,
+			       const nis_object *obj) __THROW;
 
 /* nis_tables: These functions are used to search and modify NIS+ tables.
  *
@@ -109,145 +111,145 @@ extern nis_result *nis_modify __P ((const_nis_name name,
  *    const netobj *cookie: The value of cookie from the nis_result structure
  *                          form the previous call.
  */
-extern nis_result *nis_list __P ((const_nis_name name, unsigned int flags,
-				  int (*callback)(const_nis_name table_name,
-						  const nis_object *obj,
-						  const void *userdata),
-				  const void *userdata));
-extern nis_result *nis_add_entry __P ((const_nis_name table_name,
-				       const nis_object *obj,
-				       unsigned int flags));
-extern nis_result *nis_modify_entry __P ((const_nis_name name,
-					  const nis_object *obj,
-					  unsigned int flags));
-extern nis_result *nis_remove_entry __P ((const_nis_name table_name,
-					  const nis_object *obj,
-					  unsigned int flags));
-extern nis_result *nis_first_entry __P ((const_nis_name table_name));
-extern nis_result *nis_next_entry __P ((const_nis_name table_name,
-					const netobj *cookie));
+extern nis_result *nis_list (const_nis_name name, unsigned int flags,
+			     int (*callback)(const_nis_name table_name,
+					     const nis_object *obj,
+					     const void *userdata),
+			     const void *userdata) __THROW;
+extern nis_result *nis_add_entry (const_nis_name table_name,
+				  const nis_object *obj,
+				  unsigned int flags) __THROW;
+extern nis_result *nis_modify_entry (const_nis_name name,
+				     const nis_object *obj,
+				     unsigned int flags) __THROW;
+extern nis_result *nis_remove_entry (const_nis_name table_name,
+				     const nis_object *obj,
+				     unsigned int flags) __THROW;
+extern nis_result *nis_first_entry (const_nis_name table_name) __THROW;
+extern nis_result *nis_next_entry (const_nis_name table_name,
+				   const netobj *cookie) __THROW;
 /*
 ** nis_server
 */
-extern nis_error nis_mkdir __P ((const_nis_name dirname,
-				 const nis_server *machine));
-extern nis_error nis_rmdir __P ((const_nis_name dirname,
-				 const nis_server *machine));
-extern nis_error nis_servstate __P ((const nis_server *machine,
-				     const nis_tag *tags, int numtags,
-				     nis_tag **result));
-extern nis_error nis_stats __P ((const nis_server *machine,
-				 const nis_tag *tags, int numtags,
-				 nis_tag **result));
-extern void nis_freetags __P ((nis_tag *tags, int numtags));
-extern nis_server **nis_getservlist __P ((const_nis_name dirname));
-extern void nis_freeservlist __P ((nis_server **machines));
+extern nis_error nis_mkdir (const_nis_name dirname,
+			    const nis_server *machine) __THROW;
+extern nis_error nis_rmdir (const_nis_name dirname,
+			    const nis_server *machine) __THROW;
+extern nis_error nis_servstate (const nis_server *machine,
+				const nis_tag *tags, int numtags,
+				nis_tag **result) __THROW;
+extern nis_error nis_stats (const nis_server *machine,
+			    const nis_tag *tags, int numtags,
+			    nis_tag **result) __THROW;
+extern void nis_freetags (nis_tag *tags, int numtags) __THROW;
+extern nis_server **nis_getservlist (const_nis_name dirname) __THROW;
+extern void nis_freeservlist (nis_server **machines) __THROW;
 
 /*
 ** nis_subr
 */
-extern nis_name nis_leaf_of __P ((const_nis_name name));
-extern nis_name nis_leaf_of_r __P ((const_nis_name name, char *buffer,
-				    size_t buflen));
-extern nis_name nis_name_of __P ((const_nis_name name));
-extern nis_name nis_name_of_r __P ((const_nis_name name, char *buffer,
-				    size_t buflen));
-extern nis_name nis_domain_of __P ((const_nis_name name));
-extern nis_name nis_domain_of_r __P ((const_nis_name name, char *buffer,
-				      size_t buflen));
-extern nis_name *nis_getnames __P ((const_nis_name name));
-extern void nis_freenames __P ((nis_name *namelist));
-extern name_pos nis_dir_cmp __P ((const_nis_name n1, const_nis_name n2));
-extern nis_object *nis_clone_object __P ((const nis_object *src,
-					  nis_object *dest));
-extern void nis_destroy_object __P ((nis_object *obj));
-extern void nis_print_object __P ((const nis_object *obj));
+extern nis_name nis_leaf_of (const_nis_name name) __THROW;
+extern nis_name nis_leaf_of_r (const_nis_name name, char *buffer,
+			       size_t buflen) __THROW;
+extern nis_name nis_name_of (const_nis_name name) __THROW;
+extern nis_name nis_name_of_r (const_nis_name name, char *buffer,
+			       size_t buflen) __THROW;
+extern nis_name nis_domain_of (const_nis_name name) __THROW;
+extern nis_name nis_domain_of_r (const_nis_name name, char *buffer,
+				 size_t buflen) __THROW;
+extern nis_name *nis_getnames (const_nis_name name) __THROW;
+extern void nis_freenames (nis_name *namelist) __THROW;
+extern name_pos nis_dir_cmp (const_nis_name n1, const_nis_name n2) __THROW;
+extern nis_object *nis_clone_object (const nis_object *src,
+				     nis_object *dest) __THROW;
+extern void nis_destroy_object (nis_object *obj) __THROW;
+extern void nis_print_object (const nis_object *obj) __THROW;
 
 /*
 ** nis_local_names
 */
-extern nis_name nis_local_group __P ((void));
-extern nis_name nis_local_directory __P ((void));
-extern nis_name nis_local_principal __P ((void));
-extern nis_name nis_local_host __P ((void));
+extern nis_name nis_local_group (void) __THROW;
+extern nis_name nis_local_directory (void) __THROW;
+extern nis_name nis_local_principal (void) __THROW;
+extern nis_name nis_local_host (void) __THROW;
 
 /*
 ** nis_error
 */
-extern const char *nis_sperrno __P ((const nis_error status));
-extern void nis_perror __P ((const nis_error status, const char *label));
-extern void nis_lerror __P ((const nis_error status, const char *label));
-extern char *nis_sperror __P ((const nis_error status, const char *label));
-extern char *nis_sperror_r __P ((const nis_error status, const char *label,
-				 char *buffer, size_t buflen));
+extern const char *nis_sperrno (const nis_error status) __THROW;
+extern void nis_perror (const nis_error status, const char *label) __THROW;
+extern void nis_lerror (const nis_error status, const char *label) __THROW;
+extern char *nis_sperror (const nis_error status, const char *label) __THROW;
+extern char *nis_sperror_r (const nis_error status, const char *label,
+			    char *buffer, size_t buflen) __THROW;
 /*
 ** nis_groups
 */
-extern bool_t nis_ismember __P ((const_nis_name principal,
-				 const_nis_name group));
-extern nis_error nis_addmember __P ((const_nis_name member,
-				     const_nis_name group));
-extern nis_error nis_removemember __P ((const_nis_name member,
-					const_nis_name group));
-extern nis_error nis_creategroup __P ((const_nis_name group,
-				       unsigned int flags));
-extern nis_error nis_destroygroup __P ((const_nis_name group));
-extern void nis_print_group_entry __P ((const_nis_name group));
-extern nis_error nis_verifygroup __P ((const_nis_name group));
+extern bool_t nis_ismember (const_nis_name principal,
+			    const_nis_name group) __THROW;
+extern nis_error nis_addmember (const_nis_name member,
+				const_nis_name group) __THROW;
+extern nis_error nis_removemember (const_nis_name member,
+				   const_nis_name group) __THROW;
+extern nis_error nis_creategroup (const_nis_name group,
+				  unsigned int flags) __THROW;
+extern nis_error nis_destroygroup (const_nis_name group) __THROW;
+extern void nis_print_group_entry (const_nis_name group) __THROW;
+extern nis_error nis_verifygroup (const_nis_name group) __THROW;
 
 /*
 ** nis_ping
 */
-extern void nis_ping __P ((const_nis_name dirname, uint32_t utime,
-			   const nis_object *dirobj));
-extern nis_result *nis_checkpoint __P ((const_nis_name dirname));
+extern void nis_ping (const_nis_name dirname, uint32_t utime,
+		      const nis_object *dirobj) __THROW;
+extern nis_result *nis_checkpoint (const_nis_name dirname) __THROW;
 
 /*
 ** nis_print (XXX INTERNAL FUNCTIONS, SHOULD NOT BE USED !!)
 */
-extern void nis_print_result __P ((const nis_result *result));
-extern void nis_print_rights __P ((unsigned int rights));
-extern void nis_print_directory __P ((const directory_obj *dirobj));
-extern void nis_print_group __P ((const group_obj *grpobj));
-extern void nis_print_table __P ((const table_obj *tblobj));
-extern void nis_print_link __P ((const link_obj *lnkobj));
-extern void nis_print_entry __P ((const entry_obj *enobj));
+extern void nis_print_result (const nis_result *result) __THROW;
+extern void nis_print_rights (unsigned int rights) __THROW;
+extern void nis_print_directory (const directory_obj *dirobj) __THROW;
+extern void nis_print_group (const group_obj *grpobj) __THROW;
+extern void nis_print_table (const table_obj *tblobj) __THROW;
+extern void nis_print_link (const link_obj *lnkobj) __THROW;
+extern void nis_print_entry (const entry_obj *enobj) __THROW;
 
 /*
 ** nis_file (XXX INTERNAL FUNCTIONS, SHOULD NOT BE USED !!)
 */
-extern directory_obj *readColdStartFile __P ((void));
-extern bool_t writeColdStartFile __P ((const directory_obj *dirobj));
-extern nis_object *nis_read_obj __P ((const char *obj));
-extern bool_t nis_write_obj __P ((const char *file, const nis_object *obj));
+extern directory_obj *readColdStartFile (void) __THROW;
+extern bool_t writeColdStartFile (const directory_obj *dirobj) __THROW;
+extern nis_object *nis_read_obj (const char *obj) __THROW;
+extern bool_t nis_write_obj (const char *file, const nis_object *obj) __THROW;
 
 /*
 ** nis_clone - (XXX INTERNAL FUNCTIONS, SHOULD NOT BE USED !!)
 */
-extern directory_obj *nis_clone_directory __P ((const directory_obj *src,
-						directory_obj *dest));
-extern nis_result *nis_clone_result __P ((const nis_result *src,
-					  nis_result *dest));
+extern directory_obj *nis_clone_directory (const directory_obj *src,
+					   directory_obj *dest) __THROW;
+extern nis_result *nis_clone_result (const nis_result *src,
+				     nis_result *dest) __THROW;
 
 /* nis_free - nis_freeresult */
-extern void nis_freeresult __P ((nis_result *result));
+extern void nis_freeresult (nis_result *result) __THROW;
 /* (XXX THE FOLLOWING ARE INTERNAL FUNCTIONS, SHOULD NOT BE USED !!) */
-extern void nis_free_request __P ((ib_request *req));
-extern void nis_free_directory __P ((directory_obj *dirobj));
-extern void nis_free_object __P ((nis_object *obj));
+extern void nis_free_request (ib_request *req) __THROW;
+extern void nis_free_directory (directory_obj *dirobj) __THROW;
+extern void nis_free_object (nis_object *obj) __THROW;
 
 /* (XXX INTERNAL FUNCTIONS, SHOULD NOT BE USED !!) */
-extern nis_name __nis_default_owner __P ((char *));
-extern nis_name __nis_default_group __P ((char *));
-extern uint32_t __nis_default_ttl __P ((char *));
-extern unsigned int __nis_default_access __P ((char *, unsigned int));
-extern fd_result *__nis_finddirectory __P ((directory_obj *, const_nis_name));
-extern void __free_fdresult __P ((fd_result *));
-extern uint32_t __nis_hash __P ((const void *keyarg, register size_t len));
+extern nis_name __nis_default_owner (char *) __THROW;
+extern nis_name __nis_default_group (char *) __THROW;
+extern uint32_t __nis_default_ttl (char *) __THROW;
+extern unsigned int __nis_default_access (char *, unsigned int) __THROW;
+extern fd_result *__nis_finddirectory (directory_obj *, const_nis_name) __THROW;
+extern void __free_fdresult (fd_result *) __THROW;
+extern uint32_t __nis_hash (const void *keyarg, register size_t len) __THROW;
 
 /* NIS+ cache locking */
-extern int __nis_lock_cache __P ((void));
-extern int __nis_unlock_cache __P ((void));
+extern int __nis_lock_cache (void) __THROW;
+extern int __nis_unlock_cache (void) __THROW;
 
 /* (XXX INTERNAL FUNCTIONS, ONLY FOR rpc.nisd AND glibc !!) */
 #if defined (NIS_INTERNAL) || defined (_LIBC)
@@ -269,12 +271,12 @@ struct dir_binding
 };
 typedef struct dir_binding dir_binding;
 
-extern nis_error __nisbind_create __P ((dir_binding *, const nis_server *,
-					unsigned int, unsigned int));
-extern nis_error __nisbind_connect __P ((dir_binding *));
-extern nis_error __nisbind_next __P ((dir_binding *));
-extern void __nisbind_destroy __P ((dir_binding *));
-extern nis_error __nisfind_server __P ((const_nis_name, directory_obj **));
+extern nis_error __nisbind_create (dir_binding *, const nis_server *,
+				   unsigned int, unsigned int) __THROW;
+extern nis_error __nisbind_connect (dir_binding *) __THROW;
+extern nis_error __nisbind_next (dir_binding *) __THROW;
+extern void __nisbind_destroy (dir_binding *) __THROW;
+extern nis_error __nisfind_server (const_nis_name, directory_obj **) __THROW;
 
 #endif
 
diff --git a/nis/rpcsvc/ypclnt.h b/nis/rpcsvc/ypclnt.h
index fb006c3874..b475a1e1dd 100644
--- a/nis/rpcsvc/ypclnt.h
+++ b/nis/rpcsvc/ypclnt.h
@@ -1,6 +1,6 @@
-/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
+   Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996.
 
    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
@@ -23,66 +23,66 @@
 
 #include <features.h>
 
-/* some defines */
-#define YPERR_SUCCESS 0                 /* There is no error */
-#define	YPERR_BADARGS 1			/* Args to function are bad */
-#define	YPERR_RPC 2			/* RPC failure */
-#define	YPERR_DOMAIN 3			/* Can't bind to a server with this domain */
-#define	YPERR_MAP 4			/* No such map in server's domain */
-#define	YPERR_KEY 5			/* No such key in map */
-#define	YPERR_YPERR 6			/* Internal yp server or client error */
-#define	YPERR_RESRC 7			/* Local resource allocation failure */
-#define	YPERR_NOMORE 8			/* No more records in map database */
-#define	YPERR_PMAP 9			/* Can't communicate with portmapper */
-#define	YPERR_YPBIND 10			/* Can't communicate with ypbind */
-#define	YPERR_YPSERV 11			/* Can't communicate with ypserv */
-#define	YPERR_NODOM 12			/* Local domain name not set */
-#define	YPERR_BADDB 13			/* yp data base is bad */
-#define	YPERR_VERS 14			/* YP version mismatch */
-#define	YPERR_ACCESS 15			/* Access violation */
-#define	YPERR_BUSY 16			/* Database is busy */
+/* Some defines */
+#define YPERR_SUCCESS	0		/* There is no error */
+#define	YPERR_BADARGS	1		/* Args to function are bad */
+#define	YPERR_RPC 	2		/* RPC failure */
+#define	YPERR_DOMAIN	3		/* Can't bind to a server with this domain */
+#define	YPERR_MAP	4		/* No such map in server's domain */
+#define	YPERR_KEY	5		/* No such key in map */
+#define	YPERR_YPERR	6		/* Internal yp server or client error */
+#define	YPERR_RESRC	7		/* Local resource allocation failure */
+#define	YPERR_NOMORE	8		/* No more records in map database */
+#define	YPERR_PMAP	9		/* Can't communicate with portmapper */
+#define	YPERR_YPBIND	10		/* Can't communicate with ypbind */
+#define	YPERR_YPSERV	11		/* Can't communicate with ypserv */
+#define	YPERR_NODOM	12		/* Local domain name not set */
+#define	YPERR_BADDB	13		/* yp data base is bad */
+#define	YPERR_VERS	14		/* YP version mismatch */
+#define	YPERR_ACCESS	15		/* Access violation */
+#define	YPERR_BUSY	16		/* Database is busy */
 
 /* Types of update operations */
-#define	YPOP_CHANGE 1			/* change, do not add */
-#define	YPOP_INSERT 2			/* add, do not change */
-#define	YPOP_DELETE 3			/* delete this entry */
-#define	YPOP_STORE  4			/* add, or change */
+#define	YPOP_CHANGE	1		/* Change, do not add */
+#define	YPOP_INSERT	2		/* Add, do not change */
+#define	YPOP_DELETE	3		/* Delete this entry */
+#define	YPOP_STORE	4		/* Add, or change */
 
 __BEGIN_DECLS
 
-/* struct ypall_callback * is the arg which must be passed to yp_all */
+/* struct ypall_callback * is the arg which must be passed to yp_all.  */
 struct ypall_callback
   {
-    int (*foreach) __PMT ((int __status, char *__key, int __keylen,
-			 char *__val, int __vallen, char *__data));
+    int (*foreach) (int __status, char *__key, int __keylen,
+		    char *__val, int __vallen, char *__data);
     char *data;
   };
 
-/* External NIS client function references. */
-extern int yp_bind __P ((__const char *));
-extern void yp_unbind __P ((__const char *));
-extern int yp_get_default_domain __P ((char **));
-extern int yp_match __P ((__const char *, __const char *, __const char *,
-			  __const int, char **, int *));
-extern int yp_first __P ((__const char *, __const char *, char **,
-			  int *, char **, int *));
-extern int yp_next __P ((__const char *, __const char *, __const char *,
-			 __const int, char **, int *, char **, int *));
-extern int yp_master __P ((__const char *, __const char *, char **));
-extern int yp_order __P ((__const char *, __const char *, unsigned int *));
-extern int yp_all __P ((__const char *, __const char *,
-			__const struct ypall_callback *));
-extern __const char *yperr_string __P ((__const int));
-extern __const char *ypbinderr_string __P ((__const int));
-extern int ypprot_err __P ((__const int));
-extern int yp_update __P ((char *, char *, unsigned,  char *,
-			   int, char *, int));
+/* External NIS client function references.  */
+extern int yp_bind (__const char *) __THROW;
+extern void yp_unbind (__const char *) __THROW;
+extern int yp_get_default_domain (char **) __THROW;
+extern int yp_match (__const char *, __const char *, __const char *,
+		     __const int, char **, int *) __THROW;
+extern int yp_first (__const char *, __const char *, char **,
+		     int *, char **, int *) __THROW;
+extern int yp_next (__const char *, __const char *, __const char *,
+		    __const int, char **, int *, char **, int *) __THROW;
+extern int yp_master (__const char *, __const char *, char **) __THROW;
+extern int yp_order (__const char *, __const char *, unsigned int *) __THROW;
+extern int yp_all (__const char *, __const char *,
+		   __const struct ypall_callback *) __THROW;
+extern __const char *yperr_string (__const int) __THROW;
+extern __const char *ypbinderr_string (__const int) __THROW;
+extern int ypprot_err (__const int) __THROW;
+extern int yp_update (char *, char *, unsigned int,  char *,
+		      int, char *, int) __THROW;
 #if 0
-extern int yp_maplist __P ((__const char *, struct ypmaplist **));
+extern int yp_maplist (__const char *, struct ypmaplist **) __THROW;
 #endif
 
-/* Exist only under BSD and Linux systems */
-extern int __yp_check __P ((char **));
+/* This functions exists only under BSD and Linux systems.  */
+extern int __yp_check (char **) __THROW;
 
 __END_DECLS
 
diff --git a/nis/ypclnt.c b/nis/ypclnt.c
index 00d0f8b4c8..82f34e4b06 100644
--- a/nis/ypclnt.c
+++ b/nis/ypclnt.c
@@ -603,8 +603,8 @@ yp_order (const char *indomain, const char *inmap, unsigned int *outorder)
 }
 
 static void *ypall_data;
-static int (*ypall_foreach) __P ((int status, char *key, int keylen,
-				  char *val, int vallen, char *data));
+static int (*ypall_foreach) (int status, char *key, int keylen,
+			     char *val, int vallen, char *data);
 
 static bool_t
 __xdr_ypresp_all (XDR *xdrs, u_long *objp)
diff --git a/nscd/nscd.c b/nscd/nscd.c
index c4187f13bc..45928f0f67 100644
--- a/nscd/nscd.c
+++ b/nscd/nscd.c
@@ -94,7 +94,7 @@ static const struct argp_option options[] =
 static const char doc[] = N_("Name Service Cache Daemon.");
 
 /* Prototype for option handler.  */
-static error_t parse_opt __P ((int key, char *arg, struct argp_state *state));
+static error_t parse_opt (int key, char *arg, struct argp_state *state);
 
 /* Data structure to communicate with argp functions.  */
 static struct argp argp =
diff --git a/nscd/nscd_proto.h b/nscd/nscd_proto.h
index d9b92bf066..8af906503f 100644
--- a/nscd/nscd_proto.h
+++ b/nscd/nscd_proto.h
@@ -1,6 +1,6 @@
 /* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by Thorsten Kukuk <kukuk@uni-paderborn.de>, 1998.
+   Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998.
 
    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
@@ -29,25 +29,25 @@ extern int __nss_not_use_nscd_passwd;
 extern int __nss_not_use_nscd_group;
 extern int __nss_not_use_nscd_hosts;
 
-extern int __nscd_getpwnam_r __P ((const char *name, struct passwd *resultbuf,
-				   char *buffer, size_t buflen));
-extern int __nscd_getpwuid_r __P ((uid_t uid, struct passwd *resultbuf,
-				   char *buffer,  size_t buflen));
-extern int __nscd_getgrnam_r __P ((const char *name, struct group *resultbuf,
-				   char *buffer, size_t buflen));
-extern int __nscd_getgrgid_r __P ((uid_t uid, struct group *resultbuf,
-				   char *buffer,  size_t buflen));
-extern int __nscd_gethostbyname_r __P ((const char *name,
-					struct hostent *resultbuf,
-					char *buffer, size_t buflen,
-					int *h_errnop));
-extern int __nscd_gethostbyname2_r __P ((const char *name, int af,
-					 struct hostent *resultbuf,
-					 char *buffer, size_t buflen,
-					 int *h_errnop));
-extern int __nscd_gethostbyaddr_r __P ((const char *addr, size_t len, int type,
-					struct hostent *resultbuf,
-					char *buffer, size_t buflen,
-					int *h_errnop));
+extern int __nscd_getpwnam_r (const char *name, struct passwd *resultbuf,
+			      char *buffer, size_t buflen);
+extern int __nscd_getpwuid_r (uid_t uid, struct passwd *resultbuf,
+			      char *buffer,  size_t buflen);
+extern int __nscd_getgrnam_r (const char *name, struct group *resultbuf,
+			      char *buffer, size_t buflen);
+extern int __nscd_getgrgid_r (uid_t uid, struct group *resultbuf,
+			      char *buffer,  size_t buflen);
+extern int __nscd_gethostbyname_r (const char *name,
+				   struct hostent *resultbuf,
+				   char *buffer, size_t buflen,
+				   int *h_errnop);
+extern int __nscd_gethostbyname2_r (const char *name, int af,
+				    struct hostent *resultbuf,
+				    char *buffer, size_t buflen,
+				    int *h_errnop);
+extern int __nscd_gethostbyaddr_r (const char *addr, size_t len, int type,
+				   struct hostent *resultbuf,
+				   char *buffer, size_t buflen,
+				   int *h_errnop);
 
 #endif /* _NSCD_PROTO_H */
diff --git a/sunrpc/rpcsvc/rusers.x b/sunrpc/rpcsvc/rusers.x
index 7f3abeb75d..b72c293905 100644
--- a/sunrpc/rpcsvc/rusers.x
+++ b/sunrpc/rpcsvc/rusers.x
@@ -104,7 +104,7 @@ program RUSERSPROG {
 %	char	ut_line[8];		/* tty name */
 %	char	ut_name[8];		/* user id */
 %	char	ut_host[16];		/* host name, if remote */
-%	long	ut_time;		/* time on */
+%	long int ut_time;		/* time on */
 %};
 %
 %struct utmparr {
@@ -113,11 +113,11 @@ program RUSERSPROG {
 %};
 %typedef struct utmparr utmparr;
 %
-%extern bool_t xdr_utmparr __P ((XDR *xdrs, struct utmparr *objp));
+%extern bool_t xdr_utmparr (XDR *xdrs, struct utmparr *objp) __THROW;
 %
 %struct utmpidle {
 %	struct ru_utmp ui_utmp;
-%	unsigned ui_idle;
+%	unsigned int ui_idle;
 %};
 %
 %struct utmpidlearr {
@@ -125,7 +125,7 @@ program RUSERSPROG {
 %	int uia_cnt;
 %};
 %
-%extern bool_t xdr_utmpidlearr __P ((XDR *xdrs, struct utmpidlearr *objp));
+%extern bool_t xdr_utmpidlearr (XDR *xdrs, struct utmpidlearr *objp) __THROW;
 %
 %#ifdef	__cplusplus
 %}
diff --git a/sysdeps/generic/inttypes.h b/sysdeps/generic/inttypes.h
index 2d4c1686e3..1ac9114fc4 100644
--- a/sysdeps/generic/inttypes.h
+++ b/sysdeps/generic/inttypes.h
@@ -295,27 +295,27 @@ typedef lldiv_t imaxdiv_t;
 
 
 /* Compute absolute value of N.  */
-extern intmax_t imaxabs __P ((intmax_t __n)) __attribute__ ((__const__));
+extern intmax_t imaxabs (intmax_t __n) __THROW __attribute__ ((__const__));
 
 /* Return the `imaxdiv_t' representation of the value of NUMER over DENOM. */
-extern imaxdiv_t imaxdiv __P ((intmax_t __numer, intmax_t __denom))
-     __attribute__ ((__const__));
+extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom)
+      __THROW __attribute__ ((__const__));
 
 /* Like `strtol' but convert to `intmax_t'.  */
-extern intmax_t strtoimax __P ((__const char *__restrict __nptr,
-				char **__restrict __endptr, int __base));
+extern intmax_t strtoimax (__const char *__restrict __nptr,
+			   char **__restrict __endptr, int __base) __THROW;
 
 /* Like `strtoul' but convert to `uintmax_t'.  */
-extern uintmax_t strtoumax __P ((__const char * __restrict __nptr,
-				 char ** __restrict __endptr, int __base));
+extern uintmax_t strtoumax (__const char * __restrict __nptr,
+			    char ** __restrict __endptr, int __base) __THROW;
 
 /* Like `wcstol' but convert to `intmax_t'.  */
-extern intmax_t wcstoimax __P ((__const wchar_t * __restrict __nptr,
-				wchar_t **__restrict __endptr, int __base));
+extern intmax_t wcstoimax (__const wchar_t * __restrict __nptr,
+			   wchar_t **__restrict __endptr, int __base) __THROW;
 
 /* Like `wcstoul' but convert to `uintmax_t'.  */
-extern uintmax_t wcstoumax __P ((__const wchar_t * __restrict __nptr,
-				 wchar_t ** __restrict __endptr, int __base));
+extern uintmax_t wcstoumax (__const wchar_t * __restrict __nptr,
+			    wchar_t ** __restrict __endptr, int __base) __THROW;
 
 #ifdef __USE_EXTERN_INLINES
 
@@ -323,10 +323,10 @@ extern uintmax_t wcstoumax __P ((__const wchar_t * __restrict __nptr,
 
 /* We ant to use the appropriate functions from <stdlib.h> but cannot
    assume the header is read already.  */
-__extension__ extern long int labs __P ((long int __x))
-     __attribute__ ((__const__));
-__extension__ extern ldiv_t ldiv __P ((long int __numer, long int __denom))
-     __attribute__ ((__const__));
+__extension__ extern long int labs (long int __x)
+      __THROW __attribute__ ((__const__));
+__extension__ extern ldiv_t ldiv (long int __numer, long int __denom)
+      __THROW __attribute__ ((__const__));
 
 
 /* Compute absolute value of N.  */
@@ -345,9 +345,9 @@ imaxdiv (intmax_t __numer, intmax_t __denom) __THROW
 
 /* Like `strtol' but convert to `intmax_t'.  */
 #  ifndef __strtol_internal_defined
-extern long int __strtol_internal __P ((__const char *__restrict __nptr,
-					char **__restrict __endptr,
-					int __base, int __group));
+extern long int __strtol_internal (__const char *__restrict __nptr,
+				   char **__restrict __endptr,
+				   int __base, int __group) __THROW;
 #   define __strtol_internal_defined	1
 #  endif
 extern __inline intmax_t
@@ -359,10 +359,10 @@ strtoimax (__const char *__restrict nptr, char **__restrict endptr,
 
 /* Like `strtoul' but convert to `uintmax_t'.  */
 #  ifndef __strtoul_internal_defined
-extern unsigned long int __strtoul_internal __P ((__const char *
-						  __restrict __nptr,
-						  char ** __restrict __endptr,
-						  int __base, int __group));
+extern unsigned long int __strtoul_internal (__const char *
+					     __restrict __nptr,
+					     char ** __restrict __endptr,
+					     int __base, int __group) __THROW;
 #   define __strtoul_internal_defined	1
 #  endif
 extern __inline uintmax_t
@@ -374,9 +374,9 @@ strtoumax (__const char *__restrict nptr, char **__restrict endptr,
 
 /* Like `wcstol' but convert to `intmax_t'.  */
 #  ifndef __wcstol_internal_defined
-extern long int __wcstol_internal __P ((__const wchar_t * __restrict __nptr,
-					wchar_t **__restrict __endptr,
-					int __base, int __group));
+extern long int __wcstol_internal (__const wchar_t * __restrict __nptr,
+				   wchar_t **__restrict __endptr,
+				   int __base, int __group) __THROW;
 #   define __wcstol_internal_defined	1
 #  endif
 extern __inline intmax_t
@@ -389,11 +389,11 @@ wcstoimax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
 
 /* Like `wcstoul' but convert to `uintmax_t'.  */
 #  ifndef __wcstoul_internal_defined
-extern unsigned long int __wcstoul_internal __P ((__const wchar_t *
-						  __restrict __nptr,
-						  wchar_t **
-						  __restrict __endptr,
-						  int __base, int __group));
+extern unsigned long int __wcstoul_internal (__const wchar_t *
+					     __restrict __nptr,
+					     wchar_t **
+					     __restrict __endptr,
+					     int __base, int __group) __THROW;
 #   define __wcstoul_internal_defined	1
 #  endif
 extern __inline uintmax_t
@@ -405,13 +405,13 @@ wcstoumax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
 
 # else /* __WORDSIZE == 32 */
 
-/* We ant to use the appropriate functions from <stdlib.h> but cannot
+/* We want to use the appropriate functions from <stdlib.h> but cannot
    assume the header is read already.  */
-__extension__ extern long long int llabs __P ((long long int __x))
-     __attribute__ ((__const__));
-__extension__ extern lldiv_t lldiv __P ((long long int __numer,
-					 long long int __denom))
-     __attribute__ ((__const__));
+__extension__ extern long long int llabs (long long int __x)
+      __THROW __attribute__ ((__const__));
+__extension__ extern lldiv_t lldiv (long long int __numer,
+				    long long int __denom)
+     __THROW __attribute__ ((__const__));
 
 
 /* Compute absolute value of N.  */
@@ -431,9 +431,9 @@ imaxdiv (intmax_t __numer, intmax_t __denom) __THROW
 /* Like `strtol' but convert to `intmax_t'.  */
 #  ifndef __strtoll_internal_defined
 __extension__
-extern long long int __strtoll_internal __P ((__const char *__restrict __nptr,
-					      char **__restrict __endptr,
-					      int __base, int __group));
+extern long long int __strtoll_internal (__const char *__restrict __nptr,
+					 char **__restrict __endptr,
+					 int __base, int __group) __THROW;
 #   define __strtoll_internal_defined	1
 #  endif
 extern __inline intmax_t
@@ -446,12 +446,12 @@ strtoimax (__const char *__restrict nptr, char **__restrict endptr,
 /* Like `strtoul' but convert to `uintmax_t'.  */
 #  ifndef __strtoull_internal_defined
 __extension__
-extern unsigned long long int __strtoull_internal __P ((__const char *
-							__restrict __nptr,
-							char **
-							__restrict __endptr,
-							int __base,
-							int __group));
+extern unsigned long long int __strtoull_internal (__const char *
+						   __restrict __nptr,
+						   char **
+						   __restrict __endptr,
+						   int __base,
+						   int __group) __THROW;
 #   define __strtoull_internal_defined	1
 #  endif
 extern __inline uintmax_t
@@ -464,10 +464,10 @@ strtoumax (__const char *__restrict nptr, char **__restrict endptr,
 /* Like `wcstol' but convert to `intmax_t'.  */
 #  ifndef __wcstoll_internal_defined
 __extension__
-extern long long int __wcstoll_internal __P ((__const wchar_t *
-					      __restrict __nptr,
-					      wchar_t **__restrict __endptr,
-					      int __base, int __group));
+extern long long int __wcstoll_internal (__const wchar_t *
+					 __restrict __nptr,
+					 wchar_t **__restrict __endptr,
+					 int __base, int __group) __THROW;
 #   define __wcstoll_internal_defined	1
 #  endif
 extern __inline intmax_t
@@ -481,12 +481,12 @@ wcstoimax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
 /* Like `wcstoul' but convert to `uintmax_t'.  */
 #  ifndef __wcstoull_internal_defined
 __extension__
-extern unsigned long long int __wcstoull_internal __P ((__const wchar_t *
-							__restrict __nptr,
-							wchar_t **
-							__restrict __endptr,
-							int __base,
-							int __group));
+extern unsigned long long int __wcstoull_internal (__const wchar_t *
+						   __restrict __nptr,
+						   wchar_t **
+						   __restrict __endptr,
+						   int __base,
+						   int __group) __THROW;
 #   define __wcstoull_internal_defined	1
 #  endif
 extern __inline uintmax_t
diff --git a/sysdeps/gnu/utmpx.h b/sysdeps/gnu/utmpx.h
index a7b58daf7f..f7a7a3eeb0 100644
--- a/sysdeps/gnu/utmpx.h
+++ b/sysdeps/gnu/utmpx.h
@@ -48,40 +48,40 @@ struct utmp;
 __BEGIN_DECLS
 
 /* Open user accounting database.  */
-extern void setutxent __P ((void));
+extern void setutxent (void) __THROW;
 
 /* Close user accounting database.  */
-extern void endutxent __P ((void));
+extern void endutxent (void) __THROW;
 
 /* Get the next entry from the user accounting database.  */
-extern struct utmpx *getutxent __P ((void));
+extern struct utmpx *getutxent (void) __THROW;
 
 /* Get the user accounting database entry corresponding to ID.  */
-extern struct utmpx *getutxid __P ((__const struct utmpx *__id));
+extern struct utmpx *getutxid (__const struct utmpx *__id) __THROW;
 
 /* Get the user accounting database entry corresponding to LINE.  */
-extern struct utmpx *getutxline __P ((__const struct utmpx *__line));
+extern struct utmpx *getutxline (__const struct utmpx *__line) __THROW;
 
 /* Write the entry UTMPX into the user accounting database.  */
-extern struct utmpx *pututxline __P ((__const struct utmpx *__utmpx));
+extern struct utmpx *pututxline (__const struct utmpx *__utmpx) __THROW;
 
 
 #ifdef __USE_GNU
 /* Change name of the utmpx file to be examined.  */
-extern int utmpxname __P ((__const char *__file));
+extern int utmpxname (__const char *__file) __THROW;
 
 /* Append entry UTMP to the wtmpx-like file WTMPX_FILE.  */
-extern void updwtmpx __P ((__const char *__wtmpx_file,
-			   __const struct utmpx *__utmpx));
+extern void updwtmpx (__const char *__wtmpx_file,
+		      __const struct utmpx *__utmpx) __THROW;
 
 
 /* Copy the information in UTMPX to UTMP. */
-extern void getutmp __P ((__const struct utmpx *__utmpx,
-			  struct utmp *__utmp));
+extern void getutmp (__const struct utmpx *__utmpx,
+		     struct utmp *__utmp) __THROW;
 
 /* Copy the information in UTMP to UTMPX. */
-extern void getutmpx __P ((__const struct utmp *__utmp,
-			   struct utmpx *__utmpx));
+extern void getutmpx (__const struct utmp *__utmp,
+		      struct utmpx *__utmpx) __THROW;
 #endif
 
 __END_DECLS