about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog78
-rw-r--r--manual/arith.texi14
-rw-r--r--manual/conf.texi4
-rw-r--r--manual/errno.texi2
-rw-r--r--manual/filesys.texi22
-rw-r--r--manual/getopt.texi2
-rw-r--r--manual/llio.texi30
-rw-r--r--manual/math.texi8
-rw-r--r--manual/resource.texi14
-rw-r--r--manual/search.texi2
-rw-r--r--manual/signal.texi4
-rw-r--r--manual/socket.texi22
-rw-r--r--manual/startup.texi2
-rw-r--r--manual/stdio.texi4
-rw-r--r--manual/string.texi14
-rw-r--r--manual/sysinfo.texi8
-rw-r--r--manual/syslog.texi4
-rw-r--r--manual/terminal.texi8
-rw-r--r--manual/time.texi4
-rw-r--r--manual/users.texi6
20 files changed, 164 insertions, 88 deletions
diff --git a/ChangeLog b/ChangeLog
index 449755fb15..e6a7fdf491 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,81 @@
+2013-02-11  Roland McGrath  <roland@hack.frob.com>
+
+	* manual/conf.texi (General Limits): Fix SSIZE_MAX type to ssize_t.
+	* manual/errno.texi (Error Messages): Fix typo in error_print_progname
+	declaration.
+	* manual/search.texi (Array Search Function): Add missing const in
+	lfind prototype.
+	* manual/resource.texi (Limits on Resources): Fix RLIM_INFINITY
+	declaration to use rlim_t.
+	(Basic Scheduling Functions): Remove erroneous const from
+	sched_getparam prototype.  Remove erroneous * from
+	sched_get_priority_max and sched_get_priority_min prototypes.
+	(Resource Usage): Fix summary @comment on vtimes to refer to
+	sys/vtimes.h rather than vtimes.h.
+	Add missing *s in vtimes prototype.
+	(Limits on Resources): Fix ulimit prototype to return long int.
+	* manual/math.texi (SVID Random): Fix lrand48_r and mrand48_r
+	prototypes to use long int rather than double.
+	(BSD Random): Fix initstate and setstate to use char *, not void *.
+	* manual/llio.texi (Asynchronous Reads/Writes): Fix lio_listio64
+	prototype to make second argument 'struct aiocb64 *const[]'.
+	Fix aio_read64 and aio_write64 prototypes to use struct aiocb64.
+	(Status of AIO Operations): Remove erroneous const in aio_return and
+	aio_return64 prototypes.
+	(Synchronizing I/O): Fix sync prototype to return void.
+	* manual/startup.texi (Suboptions): Remove an erroneous const in
+	getsubopt prototype.
+	* manual/getopt.texi (Using Getopt): Add a const in getopt prototype.
+	* manual/users.texi (Lookup Netgroup): Fix getnetgrent_r prototype to
+	use size_t rather than int.
+	(Scanning All Users): Likewise for getpwent_r.
+	(Setting Groups): Add missing const to setgroups prototype.
+	* manual/sysinfo.texi (mtab): Fix typo in getmntent_r prototype.
+	* manual/socket.texi (Host Names): Fix gethostbyaddr and
+	gethostbyaddr_r prototypes to use socklen_t rather than size_t and
+	'const void *' rather than 'const char *'.
+	(Host Address Functions): Likewise for inet_ntop.
+	(Networks Database): Fix getnetbyaddr prototype to use uint32_t.
+	(Receiving Data): Fix recv, recvfrom, recvmsg prototypes to use
+	ssize_t for return value.
+	(Sending Data): Likewise for send, sendto, sendmsg.
+	(Socket Option Functions): Add a missing const in setsockopt prototype.
+	* manual/stdio.texi (Simple Output): Fix fputwc_unlocked prototype to
+	use wchar_t for the argument.
+	(Formatted Input Functions): Fix swscanf prototype to use wchar_t *.
+	* manual/arith.texi (Control Functions): Fix fegetexcept prototype to
+	take no arguments.
+	(Normalization Functions): Fix scalb, scalbf, scalbl prototypes to use
+	double/float/long double for second argument.
+	Fix return types of significand, significandf, significandl.
+	* manual/filesys.texi (Setting Permissions): Use mode_t for second
+	argument in fchmod prototype.
+	(File Owner): Use uid_t and gid_t in fchown prototype.
+	(File Times): Add const to utimes, futimes, and lutimes prototypes.
+	(Making Special Files): Use mode_t and dev_t in mknod prototype.
+	(Scanning Directory Content): Fix scandir and scandir64 prototypes to
+	use 'const struct dirent **' as argument types to CMP function pointer
+	argument.
+	(Symbolic Links): Fix readlink prototype with ssize_t as return value.
+	(File Times): Fix summary magic @comment for struct utimbuf and utime
+	to refer to utime.h, not time.h.
+	* manual/string.texi (Argz Functions): Add missing const in
+	argz_extract and argz_next prototypes.
+	(Finding Tokens in a String): Likewise for basename.
+	(String/Array Comparison): Fix typo in wcscasecmp prototype.
+	(Copying and Concatenation): Fix typo in wmemmove prototype.
+	* manual/signal.texi (Using Pause): Use (void) in pause prototype.
+	(Signal Stack): Remove erroneous const in sigstack prototype.
+	* manual/time.texi (Setting an Alarm): Add missing const in setitimer
+	prototype.
+	(Simple Calendar Time): Likewise for stime.
+	* manual/terminal.texi (BSD Terminal Modes): Add missing const in stty
+	prototype.
+	* manual/sysinfo.texi (System Parameters): Fix mentions of sysctl.h to
+	say sys/sysctl.h instead.
+	* manual/syslog.texi (syslog; vsyslog): Add missing const in syslog
+	and vsyslog prototypes.
+
 2013-02-11  Tom de Vries  <tom@codesourcery.com>
 
 	* string/Makefile (CFLAGS-bug-strstr1.c, CFLAGS-bug-strcasestr1.c):
diff --git a/manual/arith.texi b/manual/arith.texi
index f387c8f1ad..faf25cc42a 100644
--- a/manual/arith.texi
+++ b/manual/arith.texi
@@ -1086,7 +1086,7 @@ operation was successful, @code{-1} otherwise.
 
 @comment fenv.h
 @comment GNU
-@deftypefun int fegetexcept (int @var{excepts})
+@deftypefun int fegetexcept (void)
 The function returns a bitmask of all currently enabled exceptions.  It
 returns @code{-1} in case of failure.
 @end deftypefun
@@ -1248,13 +1248,13 @@ equivalent to those of @code{ldexp} and @code{frexp}.  See also the
 
 @comment math.h
 @comment BSD
-@deftypefun double scalb (double @var{value}, int @var{exponent})
+@deftypefun double scalb (double @var{value}, double @var{exponent})
 @comment math.h
 @comment BSD
-@deftypefunx float scalbf (float @var{value}, int @var{exponent})
+@deftypefunx float scalbf (float @var{value}, float @var{exponent})
 @comment math.h
 @comment BSD
-@deftypefunx {long double} scalbl (long double @var{value}, int @var{exponent})
+@deftypefunx {long double} scalbl (long double @var{value}, long double @var{exponent})
 The @code{scalb} function is the BSD name for @code{ldexp}.
 @end deftypefun
 
@@ -1286,13 +1286,13 @@ The @code{scalb} function is the BSD name for @code{ldexp}.
 
 @comment math.h
 @comment BSD
-@deftypefun {long long int} significand (double @var{x})
+@deftypefun double significand (double @var{x})
 @comment math.h
 @comment BSD
-@deftypefunx {long long int} significandf (float @var{x})
+@deftypefunx float significandf (float @var{x})
 @comment math.h
 @comment BSD
-@deftypefunx {long long int} significandl (long double @var{x})
+@deftypefunx {long double} significandl (long double @var{x})
 @code{significand} returns the mantissa of @var{x} scaled to the range
 @math{[1, 2)}.
 It is equivalent to @w{@code{scalb (@var{x}, (double) -ilogb (@var{x}))}}.
diff --git a/manual/conf.texi b/manual/conf.texi
index 55ca4d10cd..7eb8b3625a 100644
--- a/manual/conf.texi
+++ b/manual/conf.texi
@@ -114,7 +114,7 @@ more (@pxref{Sysconf}).
 
 @comment limits.h
 @comment POSIX.1
-@deftypevr Macro int SSIZE_MAX
+@deftypevr Macro ssize_t SSIZE_MAX
 The largest value that can fit in an object of type @code{ssize_t}.
 Effectively, this is the limit on the number of bytes that can be read
 or written in a single operation.
@@ -1121,7 +1121,7 @@ Each parameter also has another macro, with a name starting with
 have on @emph{any} POSIX system.  @xref{File Minimums}.
 
 @cindex limits, link count of files
-@comment limits.h
+@comment limits.h (optional)
 @comment POSIX.1
 @deftypevr Macro int LINK_MAX
 The uniform system limit (if any) for the number of names for a given
diff --git a/manual/errno.texi b/manual/errno.texi
index fa88b1e8a1..2a3c004b2a 100644
--- a/manual/errno.texi
+++ b/manual/errno.texi
@@ -1507,7 +1507,7 @@ can be customized by defining a variable named
 
 @comment error.h
 @comment GNU
-@deftypevar {void (*) error_print_progname } (void)
+@deftypevar {void (*error_print_progname)} (void)
 If the @code{error_print_progname} variable is defined to a non-zero
 value the function pointed to is called by @code{error} or
 @code{error_at_line}.  It is expected to print the program name or do
diff --git a/manual/filesys.texi b/manual/filesys.texi
index 1b77f069e6..1df9cf2b34 100644
--- a/manual/filesys.texi
+++ b/manual/filesys.texi
@@ -615,7 +615,7 @@ the result.
 
 @comment dirent.h
 @comment BSD/SVID
-@deftypefun int scandir (const char *@var{dir}, struct dirent ***@var{namelist}, int (*@var{selector}) (const struct dirent *), int (*@var{cmp}) (const void *, const void *))
+@deftypefun int scandir (const char *@var{dir}, struct dirent ***@var{namelist}, int (*@var{selector}) (const struct dirent *), int (*@var{cmp}) (const struct dirent **, const struct dirent **))
 
 The @code{scandir} function scans the contents of the directory selected
 by @var{dir}.  The result in *@var{namelist} is an array of pointers to
@@ -669,7 +669,7 @@ dirent64}}.  To use this we need a new function.
 
 @comment dirent.h
 @comment GNU
-@deftypefun int scandir64 (const char *@var{dir}, struct dirent64 ***@var{namelist}, int (*@var{selector}) (const struct dirent64 *), int (*@var{cmp}) (const void *, const void *))
+@deftypefun int scandir64 (const char *@var{dir}, struct dirent64 ***@var{namelist}, int (*@var{selector}) (const struct dirent64 *), int (*@var{cmp}) (const struct dirent64 **, const struct dirent64 **))
 The @code{scandir64} function works like the @code{scandir} function
 except that the directory entries it returns are described by elements
 of type @w{@code{struct dirent64}}.  The function pointed to by
@@ -1189,7 +1189,7 @@ exceeded.
 
 @comment unistd.h
 @comment BSD
-@deftypefun int readlink (const char *@var{filename}, char *@var{buffer}, size_t @var{size})
+@deftypefun ssize_t readlink (const char *@var{filename}, char *@var{buffer}, size_t @var{size})
 The @code{readlink} function gets the value of the symbolic link
 @var{filename}.  The file name that the link points to is copied into
 @var{buffer}.  This file name string is @emph{not} null-terminated;
@@ -2189,7 +2189,7 @@ The file is on a read-only file system.
 
 @comment unistd.h
 @comment BSD
-@deftypefun int fchown (int @var{filedes}, int @var{owner}, int @var{group})
+@deftypefun int fchown (int @var{filedes}, uid_t @var{owner}, gid_t @var{group})
 This is like @code{chown}, except that it changes the owner of the open
 file with descriptor @var{filedes}.
 
@@ -2541,7 +2541,7 @@ for full details on the sticky bit.
 
 @comment sys/stat.h
 @comment BSD
-@deftypefun int fchmod (int @var{filedes}, int @var{mode})
+@deftypefun int fchmod (int @var{filedes}, mode_t @var{mode})
 This is like @code{chmod}, except that it changes the permissions of the
 currently open file given by @var{filedes}.
 
@@ -2713,7 +2713,7 @@ the @code{utime} function---all except the attribute change time.  You
 need to include the header file @file{utime.h} to use this facility.
 @pindex utime.h
 
-@comment time.h
+@comment utime.h
 @comment POSIX.1
 @deftp {Data Type} {struct utimbuf}
 The @code{utimbuf} structure is used with the @code{utime} function to
@@ -2729,7 +2729,7 @@ This is the modification time for the file.
 @end table
 @end deftp
 
-@comment time.h
+@comment utime.h
 @comment POSIX.1
 @deftypefun int utime (const char *@var{filename}, const struct utimbuf *@var{times})
 This function is used to modify the file times associated with the file
@@ -2782,7 +2782,7 @@ in the header file @file{sys/time.h}.
 
 @comment sys/time.h
 @comment BSD
-@deftypefun int utimes (const char *@var{filename}, struct timeval @var{tvp}@t{[2]})
+@deftypefun int utimes (const char *@var{filename}, const struct timeval @var{tvp}@t{[2]})
 This function sets the file access and modification times of the file
 @var{filename}.  The new file access time is specified by
 @code{@var{tvp}[0]}, and the new modification time by
@@ -2796,7 +2796,7 @@ function.
 
 @comment sys/time.h
 @comment BSD
-@deftypefun int lutimes (const char *@var{filename}, struct timeval @var{tvp}@t{[2]})
+@deftypefun int lutimes (const char *@var{filename}, const struct timeval @var{tvp}@t{[2]})
 This function is like @code{utimes}, except that it does not follow
 symbolic links.  If @var{filename} is the name of a symbolic link,
 @code{lutimes} sets the file access and modification times of the
@@ -2812,7 +2812,7 @@ function.
 
 @comment sys/time.h
 @comment BSD
-@deftypefun int futimes (int @var{fd}, struct timeval @var{tvp}@t{[2]})
+@deftypefun int futimes (int @var{fd}, const struct timeval @var{tvp}@t{[2]})
 This function is like @code{utimes}, except that it takes an open file
 descriptor as an argument instead of a file name.  @xref{Low-Level
 I/O}.  This function comes from FreeBSD, and is not available on all
@@ -3049,7 +3049,7 @@ The prototype for @code{mknod} is declared in @file{sys/stat.h}.
 
 @comment sys/stat.h
 @comment BSD
-@deftypefun int mknod (const char *@var{filename}, int @var{mode}, int @var{dev})
+@deftypefun int mknod (const char *@var{filename}, mode_t @var{mode}, dev_t @var{dev})
 The @code{mknod} function makes a special file with name @var{filename}.
 The @var{mode} specifies the mode of the file, and may include the various
 special file bits, such as @code{S_IFCHR} (for a character special file)
diff --git a/manual/getopt.texi b/manual/getopt.texi
index 77045157ef..f0b7283c8e 100644
--- a/manual/getopt.texi
+++ b/manual/getopt.texi
@@ -59,7 +59,7 @@ option argument, for those options that accept arguments.
 
 @comment unistd.h
 @comment POSIX.2
-@deftypefun int getopt (int @var{argc}, char **@var{argv}, const char *@var{options})
+@deftypefun int getopt (int @var{argc}, char *const *@var{argv}, const char *@var{options})
 The @code{getopt} function gets the next option argument from the
 argument list specified by the @var{argv} and @var{argc} arguments.
 Normally these values come directly from the arguments received by
diff --git a/manual/llio.texi b/manual/llio.texi
index acafed315e..90bd2d71f7 100644
--- a/manual/llio.texi
+++ b/manual/llio.texi
@@ -1669,15 +1669,13 @@ they return.
 
 @comment unistd.h
 @comment X/Open
-@deftypefun int sync (void)
+@deftypefun void sync (void)
 A call to this function will not return as long as there is data which
 has not been written to the device.  All dirty buffers in the kernel will
 be written and so an overall consistent system can be achieved (if no
 other process in parallel writes data).
 
 A prototype for @code{sync} can be found in @file{unistd.h}.
-
-The return value is zero to indicate no error.
 @end deftypefun
 
 Programs more often want to ensure that data written to a given file is
@@ -1989,7 +1987,7 @@ replaces the normal implementation.
 
 @comment aio.h
 @comment Unix98
-@deftypefun int aio_read64 (struct aiocb *@var{aiocbp})
+@deftypefun int aio_read64 (struct aiocb64 *@var{aiocbp})
 This function is similar to the @code{aio_read} function.  The only
 difference is that on @w{32 bit} machines, the file descriptor should
 be opened in the large file mode.  Internally, @code{aio_read64} uses
@@ -2073,7 +2071,7 @@ replaces the normal implementation.
 
 @comment aio.h
 @comment Unix98
-@deftypefun int aio_write64 (struct aiocb *@var{aiocbp})
+@deftypefun int aio_write64 (struct aiocb64 *@var{aiocbp})
 This function is similar to the @code{aio_write} function.  The only
 difference is that on @w{32 bit} machines the file descriptor should
 be opened in the large file mode.  Internally @code{aio_write64} uses
@@ -2177,7 +2175,7 @@ transparently replaces the normal implementation.
 
 @comment aio.h
 @comment Unix98
-@deftypefun int lio_listio64 (int @var{mode}, struct aiocb *const @var{list}, int @var{nent}, struct sigevent *@var{sig})
+@deftypefun int lio_listio64 (int @var{mode}, struct aiocb64 *const @var{list}[], int @var{nent}, struct sigevent *@var{sig})
 This function is similar to the @code{lio_listio} function.  The only
 difference is that on @w{32 bit} machines, the file descriptor should
 be opened in the large file mode.  Internally, @code{lio_listio64} uses
@@ -2239,7 +2237,7 @@ machines.
 
 @comment aio.h
 @comment POSIX.1b
-@deftypefun ssize_t aio_return (const struct aiocb *@var{aiocbp})
+@deftypefun ssize_t aio_return (struct aiocb *@var{aiocbp})
 This function can be used to retrieve the return status of the operation
 carried out by the request described in the variable pointed to by
 @var{aiocbp}.  As long as the error status of this request as returned
@@ -2262,7 +2260,7 @@ transparently replaces the normal implementation.
 
 @comment aio.h
 @comment Unix98
-@deftypefun int aio_return64 (const struct aiocb64 *@var{aiocbp})
+@deftypefun ssize_t aio_return64 (struct aiocb64 *@var{aiocbp})
 This function is similar to @code{aio_return} with the only difference
 that the argument is a reference to a variable of type @code{struct
 aiocb64}.
@@ -2929,19 +2927,19 @@ access modes.  These names are preferred when writing GNU-specific code.
 But most programs will want to be portable to other POSIX.1 systems and
 should use the POSIX.1 names above instead.
 
-@comment fcntl.h
+@comment fcntl.h (optional)
 @comment GNU
 @deftypevr Macro int O_READ
 Open the file for reading.  Same as @code{O_RDONLY}; only defined on GNU.
 @end deftypevr
 
-@comment fcntl.h
+@comment fcntl.h (optional)
 @comment GNU
 @deftypevr Macro int O_WRITE
 Open the file for writing.  Same as @code{O_WRONLY}; only defined on GNU.
 @end deftypevr
 
-@comment fcntl.h
+@comment fcntl.h (optional)
 @comment GNU
 @deftypevr Macro int O_EXEC
 Open the file for executing.  Only defined on GNU.
@@ -3045,7 +3043,7 @@ to be portable, use @code{O_NOCTTY} when it is important to avoid this.
 The following three file name translation flags exist only on
 @gnuhurdsystems{}.
 
-@comment fcntl.h
+@comment fcntl.h (optional)
 @comment GNU
 @deftypevr Macro int O_IGNORE_CTTY
 Do not recognize the named file as the controlling terminal, even if it
@@ -3054,7 +3052,7 @@ on the new file descriptor will never induce job control signals.
 @xref{Job Control}.
 @end deftypevr
 
-@comment fcntl.h
+@comment fcntl.h (optional)
 @comment GNU
 @deftypevr Macro int O_NOLINK
 If the named file is a symbolic link, open the link itself instead of
@@ -3063,7 +3061,7 @@ return the information returned by @code{lstat} on the link's name.)
 @cindex symbolic link, opening
 @end deftypevr
 
-@comment fcntl.h
+@comment fcntl.h (optional)
 @comment GNU
 @deftypevr Macro int O_NOTRANS
 If the named file is specially translated, do not invoke the translator.
@@ -3095,7 +3093,7 @@ compatibility.
 The remaining operating modes are BSD extensions.  They exist only
 on some systems.  On other systems, these macros are not defined.
 
-@comment fcntl.h
+@comment fcntl.h (optional)
 @comment BSD
 @deftypevr Macro int O_SHLOCK
 Acquire a shared lock on the file, as with @code{flock}.
@@ -3106,7 +3104,7 @@ creating the file.  You are guaranteed that no other process will get
 the lock on the new file first.
 @end deftypevr
 
-@comment fcntl.h
+@comment fcntl.h (optional)
 @comment BSD
 @deftypevr Macro int O_EXLOCK
 Acquire an exclusive lock on the file, as with @code{flock}.
diff --git a/manual/math.texi b/manual/math.texi
index 9242b539ad..193d415fba 100644
--- a/manual/math.texi
+++ b/manual/math.texi
@@ -1387,7 +1387,7 @@ program runs, do @code{srandom (time (0))}.
 
 @comment stdlib.h
 @comment BSD
-@deftypefun {void *} initstate (unsigned int @var{seed}, void *@var{state}, size_t @var{size})
+@deftypefun {char *} initstate (unsigned int @var{seed}, char *@var{state}, size_t @var{size})
 The @code{initstate} function is used to initialize the random number
 generator state.  The argument @var{state} is an array of @var{size}
 bytes, used to hold the state information.  It is initialized based on
@@ -1401,7 +1401,7 @@ restore that state.
 
 @comment stdlib.h
 @comment BSD
-@deftypefun {void *} setstate (void *@var{state})
+@deftypefun {char *} setstate (char *@var{state})
 The @code{setstate} function restores the random number state
 information @var{state}.  The argument must have been the result of
 a previous call to @var{initstate} or @var{setstate}.
@@ -1692,7 +1692,7 @@ programs.
 
 @comment stdlib.h
 @comment GNU
-@deftypefun int lrand48_r (struct drand48_data *@var{buffer}, double *@var{result})
+@deftypefun int lrand48_r (struct drand48_data *@var{buffer}, long int *@var{result})
 This function is similar to @code{lrand48}, but in addition it takes a
 pointer to a buffer describing the state of the random number generator
 just like @code{drand48}.
@@ -1722,7 +1722,7 @@ programs.
 
 @comment stdlib.h
 @comment GNU
-@deftypefun int mrand48_r (struct drand48_data *@var{buffer}, double *@var{result})
+@deftypefun int mrand48_r (struct drand48_data *@var{buffer}, long int *@var{result})
 This function is similar to @code{mrand48} but like the other reentrant
 functions it uses the random number generator described by the value in
 the buffer pointed to by @var{buffer}.
diff --git a/manual/resource.texi b/manual/resource.texi
index cb25d2440c..1ec7af29f0 100644
--- a/manual/resource.texi
+++ b/manual/resource.texi
@@ -129,9 +129,9 @@ scheduled).
 @code{vtimes} and its @code{vtimes} data structure are declared in
 @file{sys/vtimes.h}.
 @pindex sys/vtimes.h
-@comment vtimes.h
 
-@deftypefun int vtimes (struct vtimes @var{current}, struct vtimes @var{child})
+@comment sys/vtimes.h
+@deftypefun int vtimes (struct vtimes *@var{current}, struct vtimes *@var{child})
 
 @code{vtimes} reports resource usage totals for a process.
 
@@ -419,7 +419,7 @@ operand must be less than @code{RLIM_NLIMITS}.
 
 @comment sys/resource.h
 @comment BSD
-@deftypevr Constant int RLIM_INFINITY
+@deftypevr Constant rlim_t RLIM_INFINITY
 This constant stands for a value of ``infinity'' when supplied as
 the limit value in @code{setrlimit}.
 @end deftypevr
@@ -433,7 +433,7 @@ above do.  The functions above are better choices.
 
 @comment ulimit.h
 @comment BSD
-@deftypefun int ulimit (int @var{cmd}, @dots{})
+@deftypefun {long int} ulimit (int @var{cmd}, @dots{})
 
 @code{ulimit} gets the current limit or sets the current and maximum
 limit for a particular resource for the calling process according to the
@@ -893,7 +893,7 @@ It is functionally identical to @code{sched_setscheduler} with
 
 @comment sched.h
 @comment POSIX
-@deftypefun int sched_getparam (pid_t @var{pid}, const struct sched_param *@var{param})
+@deftypefun int sched_getparam (pid_t @var{pid}, struct sched_param *@var{param})
 
 This function returns a process' absolute priority.
 
@@ -922,7 +922,7 @@ There is no process with pid @var{pid} and it is not zero.
 
 @comment sched.h
 @comment POSIX
-@deftypefun int sched_get_priority_min (int *@var{policy})
+@deftypefun int sched_get_priority_min (int @var{policy})
 
 This function returns the lowest absolute priority value that is
 allowable for a process with scheduling policy @var{policy}.
@@ -942,7 +942,7 @@ to this function are:
 
 @comment sched.h
 @comment POSIX
-@deftypefun int sched_get_priority_max (int *@var{policy})
+@deftypefun int sched_get_priority_max (int @var{policy})
 
 This function returns the highest absolute priority value that is
 allowable for a process that with scheduling policy @var{policy}.
diff --git a/manual/search.texi b/manual/search.texi
index 498832bdd9..efd3604790 100644
--- a/manual/search.texi
+++ b/manual/search.texi
@@ -71,7 +71,7 @@ two functions can be found in @file{search.h}.
 
 @comment search.h
 @comment SVID
-@deftypefun {void *} lfind (const void *@var{key}, void *@var{base}, size_t *@var{nmemb}, size_t @var{size}, comparison_fn_t @var{compar})
+@deftypefun {void *} lfind (const void *@var{key}, const void *@var{base}, size_t *@var{nmemb}, size_t @var{size}, comparison_fn_t @var{compar})
 The @code{lfind} function searches in the array with @code{*@var{nmemb}}
 elements of @var{size} bytes pointed to by @var{base} for an element
 which matches the one pointed to by @var{key}.  The function pointed to
diff --git a/manual/signal.texi b/manual/signal.texi
index 18db3d2266..adcda37520 100644
--- a/manual/signal.texi
+++ b/manual/signal.texi
@@ -2921,7 +2921,7 @@ you use it.
 
 @comment unistd.h
 @comment POSIX.1
-@deftypefun int pause ()
+@deftypefun int pause (void)
 The @code{pause} function suspends program execution until a signal
 arrives whose action is either to execute a handler function, or to
 terminate the process.
@@ -3195,7 +3195,7 @@ This field is true if the process is currently using this stack.
 
 @comment signal.h
 @comment BSD
-@deftypefun int sigstack (const struct sigstack *@var{stack}, struct sigstack *@var{oldstack})
+@deftypefun int sigstack (struct sigstack *@var{stack}, struct sigstack *@var{oldstack})
 The @code{sigstack} function specifies an alternate stack for use during
 signal handling.  When a signal is received by the process and its
 action indicates that the signal stack is used, the system arranges a
diff --git a/manual/socket.texi b/manual/socket.texi
index b12c591311..288707f9e4 100644
--- a/manual/socket.texi
+++ b/manual/socket.texi
@@ -1127,7 +1127,7 @@ responsibility to make sure the buffer is large enough.
 
 @comment arpa/inet.h
 @comment IPv6 basic API
-@deftypefun {const char *} inet_ntop (int @var{af}, const void *@var{cp}, char *@var{buf}, size_t @var{len})
+@deftypefun {const char *} inet_ntop (int @var{af}, const void *@var{cp}, char *@var{buf}, socklen_t @var{len})
 This function converts an Internet address (either IPv4 or IPv6) from
 network (binary) to presentation (textual) form.  @var{af} should be
 either @code{AF_INET} or @code{AF_INET6}, as appropriate.  @var{cp} is a
@@ -1225,7 +1225,7 @@ allows the caller to specify the desired address family (e.g.@:
 
 @comment netdb.h
 @comment BSD
-@deftypefun {struct hostent *} gethostbyaddr (const char *@var{addr}, size_t @var{length}, int @var{format})
+@deftypefun {struct hostent *} gethostbyaddr (const void *@var{addr}, socklen_t @var{length}, int @var{format})
 The @code{gethostbyaddr} function returns information about the host
 with Internet address @var{addr}.  The parameter @var{addr} is not
 really a pointer to char - it can be a pointer to an IPv4 or an IPv6
@@ -1339,7 +1339,7 @@ allows the caller to specify the desired address family (e.g.@:
 
 @comment netdb.h
 @comment GNU
-@deftypefun int gethostbyaddr_r (const char *@var{addr}, size_t @var{length}, int @var{format}, struct hostent *restrict @var{result_buf}, char *restrict @var{buf}, size_t @var{buflen}, struct hostent **restrict @var{result}, int *restrict @var{h_errnop})
+@deftypefun int gethostbyaddr_r (const void *@var{addr}, socklen_t @var{length}, int @var{format}, struct hostent *restrict @var{result_buf}, char *restrict @var{buf}, size_t @var{buflen}, struct hostent **restrict @var{result}, int *restrict @var{h_errnop})
 The @code{gethostbyaddr_r} function returns information about the host
 with Internet address @var{addr}.  The parameter @var{addr} is not
 really a pointer to char - it can be a pointer to an IPv4 or an IPv6
@@ -2248,7 +2248,7 @@ you get a @code{SIGPIPE} signal for any use of @code{send} or
 
 @comment sys/socket.h
 @comment BSD
-@deftypefun int send (int @var{socket}, void *@var{buffer}, size_t @var{size}, int @var{flags})
+@deftypefun ssize_t send (int @var{socket}, const void *@var{buffer}, size_t @var{size}, int @var{flags})
 The @code{send} function is like @code{write}, but with the additional
 flags @var{flags}.  The possible values of @var{flags} are described
 in @ref{Socket Data Options}.
@@ -2315,7 +2315,7 @@ Primitives}.
 
 @comment sys/socket.h
 @comment BSD
-@deftypefun int recv (int @var{socket}, void *@var{buffer}, size_t @var{size}, int @var{flags})
+@deftypefun ssize_t recv (int @var{socket}, void *@var{buffer}, size_t @var{size}, int @var{flags})
 The @code{recv} function is like @code{read}, but with the additional
 flags @var{flags}.  The possible values of @var{flags} are described
 in @ref{Socket Data Options}.
@@ -2643,7 +2643,7 @@ more information about the @code{connect} function.
 
 @comment sys/socket.h
 @comment BSD
-@deftypefun int sendto (int @var{socket}, void *@var{buffer}, size_t @var{size}, int @var{flags}, struct sockaddr *@var{addr}, socklen_t @var{length})
+@deftypefun ssize_t sendto (int @var{socket}, const void *@var{buffer}, size_t @var{size}, int @var{flags}, struct sockaddr *@var{addr}, socklen_t @var{length})
 The @code{sendto} function transmits the data in the @var{buffer}
 through the socket @var{socket} to the destination address specified
 by the @var{addr} and @var{length} arguments.  The @var{size} argument
@@ -2678,7 +2678,7 @@ also tells you where it was sent from.  This function is declared in
 
 @comment sys/socket.h
 @comment BSD
-@deftypefun int recvfrom (int @var{socket}, void *@var{buffer}, size_t @var{size}, int @var{flags}, struct sockaddr *@var{addr}, socklen_t *@var{length-ptr})
+@deftypefun ssize_t recvfrom (int @var{socket}, void *@var{buffer}, size_t @var{size}, int @var{flags}, struct sockaddr *@var{addr}, socklen_t *@var{length-ptr})
 The @code{recvfrom} function reads one packet from the socket
 @var{socket} into the buffer @var{buffer}.  The @var{size} argument
 specifies the maximum number of bytes to be read.
@@ -2725,7 +2725,7 @@ you don't want to specify @var{flags} (@pxref{I/O Primitives}).
 
 @comment sys/socket.h
 @comment BSD
-@deftypefun int sendmsg (int @var{socket}, const struct msghdr *@var{message}, int @var{flags})
+@deftypefun ssize_t sendmsg (int @var{socket}, const struct msghdr *@var{message}, int @var{flags})
 
 This function is defined as a cancellation point in multi-threaded
 programs, so one has to be prepared for this and make sure that
@@ -2736,7 +2736,7 @@ whatever) are freed even if the thread is cancel.
 
 @comment sys/socket.h
 @comment BSD
-@deftypefun int recvmsg (int @var{socket}, struct msghdr *@var{message}, int @var{flags})
+@deftypefun ssize_t recvmsg (int @var{socket}, struct msghdr *@var{message}, int @var{flags})
 
 This function is defined as a cancellation point in multi-threaded
 programs, so one has to be prepared for this and make sure that
@@ -2953,7 +2953,7 @@ The @var{optname} doesn't make sense for the given @var{level}.
 
 @comment sys/socket.h
 @comment BSD
-@deftypefun int setsockopt (int @var{socket}, int @var{level}, int @var{optname}, void *@var{optval}, socklen_t @var{optlen})
+@deftypefun int setsockopt (int @var{socket}, int @var{level}, int @var{optname}, const void *@var{optval}, socklen_t @var{optlen})
 This function is used to set the socket option @var{optname} at level
 @var{level} for socket @var{socket}.  The value of the option is passed
 in the buffer @var{optval} of size @var{optlen}.
@@ -3157,7 +3157,7 @@ network.
 
 @comment netdb.h
 @comment BSD
-@deftypefun {struct netent *} getnetbyaddr (unsigned long int @var{net}, int @var{type})
+@deftypefun {struct netent *} getnetbyaddr (uint32_t @var{net}, int @var{type})
 The @code{getnetbyaddr} function returns information about the network
 of type @var{type} with number @var{net}.  You should specify a value of
 @code{AF_INET} for the @var{type} argument for Internet networks.
diff --git a/manual/startup.texi b/manual/startup.texi
index d0be5e65f4..a2777141c2 100644
--- a/manual/startup.texi
+++ b/manual/startup.texi
@@ -220,7 +220,7 @@ programming of code like this the function @code{getsubopt} is
 available.
 
 @comment stdlib.h
-@deftypefun int getsubopt (char **@var{optionp}, const char* const *@var{tokens}, char **@var{valuep})
+@deftypefun int getsubopt (char **@var{optionp}, char *const *@var{tokens}, char **@var{valuep})
 
 The @var{optionp} parameter must be a pointer to a variable containing
 the address of the string to process.  When the function returns the
diff --git a/manual/stdio.texi b/manual/stdio.texi
index 7b436f080b..3f9be9bc58 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -834,7 +834,7 @@ function except that it does not implicitly lock the stream.
 
 @comment wchar.h
 @comment POSIX
-@deftypefun wint_t fputwc_unlocked (wint_t @var{wc}, FILE *@var{stream})
+@deftypefun wint_t fputwc_unlocked (wchar_t @var{wc}, FILE *@var{stream})
 The @code{fputwc_unlocked} function is equivalent to the @code{fputwc}
 function except that it does not implicitly lock the stream.
 
@@ -3853,7 +3853,7 @@ as an argument to receive a string read under control of the @samp{%s},
 
 @comment wchar.h
 @comment ISO
-@deftypefun int swscanf (const wchar_t *@var{ws}, const char *@var{template}, @dots{})
+@deftypefun int swscanf (const wchar_t *@var{ws}, const wchar_t *@var{template}, @dots{})
 This is like @code{wscanf}, except that the characters are taken from the
 null-terminated string @var{ws} instead of from a stream.  Reaching the
 end of the string is treated as an end-of-file condition.
diff --git a/manual/string.texi b/manual/string.texi
index 2844bc61e5..246be84457 100644
--- a/manual/string.texi
+++ b/manual/string.texi
@@ -479,7 +479,7 @@ The value returned by @code{memmove} is the value of @var{to}.
 
 @comment wchar.h
 @comment ISO
-@deftypefun {wchar_t *} wmemmove (wchar *@var{wto}, const wchar_t *@var{wfrom}, size_t @var{size})
+@deftypefun {wchar_t *} wmemmove (wchar_t *@var{wto}, const wchar_t *@var{wfrom}, size_t @var{size})
 @code{wmemmove} copies the @var{size} wide characters at @var{wfrom}
 into the @var{size} wide characters at @var{wto}, even if those two
 blocks of space overlap.  In the case of overlap, @code{memmove} is
@@ -1065,7 +1065,7 @@ If the contents of the two blocks are equal, @code{memcmp} returns
 @code{0}.
 @end deftypefun
 
-@comment wcjar.h
+@comment wchar.h
 @comment ISO
 @deftypefun int wmemcmp (const wchar_t *@var{a1}, const wchar_t *@var{a2}, size_t @var{size})
 The function @code{wmemcmp} compares the @var{size} wide characters
@@ -1171,7 +1171,7 @@ regards these characters as parts of the alphabet they do match.
 
 @comment wchar.h
 @comment GNU
-@deftypefun int wcscasecmp (const wchar_t *@var{ws1}, const wchar_T *@var{ws2})
+@deftypefun int wcscasecmp (const wchar_t *@var{ws1}, const wchar_t *@var{ws2})
 This function is like @code{wcscmp}, except that differences in case are
 ignored.  How uppercase and lowercase characters are related is
 determined by the currently selected locale.  In the standard @code{"C"}
@@ -1978,7 +1978,7 @@ separately.  The function is not locale-dependent.
 
 @comment wchar.h
 @comment ISO
-@deftypefun {wchar_t *} wcstok (wchar_t *@var{newstring}, const char *@var{delimiters})
+@deftypefun {wchar_t *} wcstok (wchar_t *@var{newstring}, const wchar_t *@var{delimiters})
 A string can be split into tokens by making a series of calls to the
 function @code{wcstok}.
 
@@ -2175,7 +2175,7 @@ on different systems.
 
 @comment libgen.h
 @comment XPG
-@deftypefun {char *} basename (char *@var{path})
+@deftypefun {char *} basename (const char *@var{path})
 This is the standard XPG defined @code{basename}. It is similar in
 spirit to the GNU version, but may modify the @var{path} by removing
 trailing '/' characters.  If the @var{path} is made up entirely of '/'
@@ -2483,7 +2483,7 @@ Returns the number of elements in the argz vector @var{argz} and
 
 @comment argz.h
 @comment GNU
-@deftypefun {void} argz_extract (char *@var{argz}, size_t @var{argz_len}, char **@var{argv})
+@deftypefun {void} argz_extract (const char *@var{argz}, size_t @var{argz_len}, char **@var{argv})
 The @code{argz_extract} function converts the argz vector @var{argz} and
 @var{argz_len} into a Unix-style argument vector stored in @var{argv},
 by putting pointers to every element in @var{argz} into successive
@@ -2561,7 +2561,7 @@ is @code{0}, @var{entry} is added to the end instead (as if by
 
 @comment argz.h
 @comment GNU
-@deftypefun {char *} argz_next (char *@var{argz}, size_t @var{argz_len}, const char *@var{entry})
+@deftypefun {char *} argz_next (const char *@var{argz}, size_t @var{argz_len}, const char *@var{entry})
 The @code{argz_next} function provides a convenient way of iterating
 over the elements in the argz vector @var{argz}.  It returns a pointer
 to the next element in @var{argz} after the element @var{entry}, or
diff --git a/manual/sysinfo.texi b/manual/sysinfo.texi
index 1733bc3b58..5df2a0f243 100644
--- a/manual/sysinfo.texi
+++ b/manual/sysinfo.texi
@@ -691,7 +691,7 @@ used in situations where multiple threads access the file.
 
 @comment mntent.h
 @comment BSD
-@deftypefun {struct mntent *} getmntent_r (FILE *@var{stream}, struct mentent *@var{result}, char *@var{buffer}, int @var{bufsize})
+@deftypefun {struct mntent *} getmntent_r (FILE *@var{stream}, struct mntent *@var{result}, char *@var{buffer}, int @var{bufsize})
 The @code{getmntent_r} function is the reentrant variant of
 @code{getmntent}.  It also returns the next entry from the file and
 returns a pointer.  The actual variable the values are stored in is not
@@ -1062,9 +1062,9 @@ when @code{umount2} is also available.
 This section describes the @code{sysctl} function, which gets and sets
 a variety of system parameters.
 
-The symbols used in this section are declared in the file @file{sysctl.h}.
+The symbols used in this section are declared in the file @file{sys/sysctl.h}.
 
-@comment sysctl.h
+@comment sys/sysctl.h
 @comment BSD
 @deftypefun int sysctl (int *@var{names}, int @var{nlen}, void *@var{oldval}, size_t *@var{oldlenp}, void *@var{newval}, size_t @var{newlen})
 
@@ -1090,7 +1090,7 @@ in a hierarchical structure like a hierarchical filesystem.  To identify
 a particular parameter, you specify a path through the structure in a
 way analogous to specifying the pathname of a file.  Each component of
 the path is specified by an integer and each of these integers has a
-macro defined for it by @file{sysctl.h}.  @var{names} is the path, in
+macro defined for it by @file{sys/sysctl.h}.  @var{names} is the path, in
 the form of an array of integers.  Each component of the path is one
 element of the array, in order.  @var{nlen} is the number of components
 in the path.
diff --git a/manual/syslog.texi b/manual/syslog.texi
index 15f5e42bdc..4e64d2a5e6 100644
--- a/manual/syslog.texi
+++ b/manual/syslog.texi
@@ -275,7 +275,7 @@ The symbols referred to in this section are declared in the file
 @c syslog() is implemented as a call to vsyslog().
 @comment syslog.h
 @comment BSD
-@deftypefun void syslog (int @var{facility_priority}, char *@var{format}, @dots{})
+@deftypefun void syslog (int @var{facility_priority}, const char *@var{format}, @dots{})
 
 @code{syslog} submits a message to the Syslog facility.  It does this by
 writing to the Unix domain socket @code{/dev/log}.
@@ -403,7 +403,7 @@ syslog (LOG_MAKEPRI(LOG_LOCAL1, LOG_ERROR),
 
 @comment syslog.h
 @comment BSD
-@deftypefun void vsyslog (int @var{facility_priority}, char *@var{format}, va_list @var{arglist})
+@deftypefun void vsyslog (int @var{facility_priority}, const char *@var{format}, va_list @var{arglist})
 
 This is functionally identical to @code{syslog}, with the BSD style variable
 length argument.
diff --git a/manual/terminal.texi b/manual/terminal.texi
index 8321237f60..9e9c057095 100644
--- a/manual/terminal.texi
+++ b/manual/terminal.texi
@@ -621,7 +621,7 @@ If this bit is set, convert the newline character on output into a pair
 of characters, carriage return followed by linefeed.
 @end deftypevr
 
-@comment termios.h
+@comment termios.h (optional)
 @comment BSD
 @deftypevr Macro tcflag_t OXTABS
 If this bit is set, convert tab characters on output into the appropriate
@@ -630,7 +630,7 @@ exists only on BSD systems and @gnuhurdsystems{}; on
 @gnulinuxsystems{} it is available as @code{XTABS}.
 @end deftypevr
 
-@comment termios.h
+@comment termios.h (optional)
 @comment BSD
 @deftypevr Macro tcflag_t ONOEOT
 If this bit is set, discard @kbd{C-d} characters (code @code{004}) on
@@ -962,7 +962,7 @@ This is the bit that toggles when the user types the DISCARD character.
 While this bit is set, all output is discarded.  @xref{Other Special}.
 @end deftypevr
 
-@comment termios.h
+@comment termios.h (optional)
 @comment BSD
 @deftypevr Macro tcflag_t NOKERNINFO
 Setting this bit disables handling of the STATUS character.
@@ -1686,7 +1686,7 @@ of the terminal which is open with file descriptor @var{filedes}.
 
 @comment sgtty.h
 @comment BSD
-@deftypefun int stty (int @var{filedes}, struct sgttyb *@var{attributes})
+@deftypefun int stty (int @var{filedes}, const struct sgttyb *@var{attributes})
 
 This function sets the attributes of a terminal.
 
diff --git a/manual/time.texi b/manual/time.texi
index 7dff44f42c..ff31e284fd 100644
--- a/manual/time.texi
+++ b/manual/time.texi
@@ -420,7 +420,7 @@ current calendar time is not available, the value
 @c Linux.
 @comment time.h
 @comment SVID, XPG
-@deftypefun int stime (time_t *@var{newtime})
+@deftypefun int stime (const time_t *@var{newtime})
 @code{stime} sets the system clock, i.e., it tells the system that the
 current calendar time is @var{newtime}, where @code{newtime} is
 interpreted as described in the above definition of @code{time_t}.
@@ -2314,7 +2314,7 @@ The @code{struct timeval} data type is described in @ref{Elapsed Time}.
 
 @comment sys/time.h
 @comment BSD
-@deftypefun int setitimer (int @var{which}, struct itimerval *@var{new}, struct itimerval *@var{old})
+@deftypefun int setitimer (int @var{which}, const struct itimerval *@var{new}, struct itimerval *@var{old})
 The @code{setitimer} function sets the timer specified by @var{which}
 according to @var{new}.  The @var{which} argument can have a value of
 @code{ITIMER_REAL}, @code{ITIMER_VIRTUAL}, or @code{ITIMER_PROF}.
diff --git a/manual/users.texi b/manual/users.texi
index 1ee5a0b178..957e34659c 100644
--- a/manual/users.texi
+++ b/manual/users.texi
@@ -437,7 +437,7 @@ should include the header file @file{grp.h}.
 
 @comment grp.h
 @comment BSD
-@deftypefun int setgroups (size_t @var{count}, gid_t *@var{groups})
+@deftypefun int setgroups (size_t @var{count}, const gid_t *@var{groups})
 This function sets the process's supplementary group IDs.  It can only
 be called from privileged processes.  The @var{count} argument specifies
 the number of group IDs in the array @var{groups}.
@@ -1655,7 +1655,7 @@ A null pointer is returned when no more entries are available.
 
 @comment pwd.h
 @comment GNU
-@deftypefun int getpwent_r (struct passwd *@var{result_buf}, char *@var{buffer}, int @var{buflen}, struct passwd **@var{result})
+@deftypefun int getpwent_r (struct passwd *@var{result_buf}, char *@var{buffer}, size_t @var{buflen}, struct passwd **@var{result})
 This function is similar to @code{getpwent} in that it returns the next
 entry from the stream initialized by @code{setpwent}.  Like
 @code{fgetpwent_r}, it uses the user-supplied buffers in
@@ -2005,7 +2005,7 @@ value of @code{0} means no further entries exist or internal errors occurred.
 
 @comment netdb.h
 @comment GNU
-@deftypefun int getnetgrent_r (char **@var{hostp}, char **@var{userp}, char **@var{domainp}, char *@var{buffer}, int @var{buflen})
+@deftypefun int getnetgrent_r (char **@var{hostp}, char **@var{userp}, char **@var{domainp}, char *@var{buffer}, size_t @var{buflen})
 This function is similar to @code{getnetgrent} with only one exception:
 the strings the three string pointers @var{hostp}, @var{userp}, and
 @var{domainp} point to, are placed in the buffer of @var{buflen} bytes