summaryrefslogtreecommitdiff
path: root/manual
diff options
context:
space:
mode:
Diffstat (limited to 'manual')
-rw-r--r--manual/.cvsignore2
-rw-r--r--manual/argp.texi3
-rw-r--r--manual/arith.texi3
-rw-r--r--manual/conf.texi9
-rw-r--r--manual/errno.texi8
-rw-r--r--manual/examples/rprintf.c4
-rw-r--r--manual/examples/testopt.c3
-rw-r--r--manual/filesys.texi13
-rw-r--r--manual/header.texi7
-rw-r--r--manual/lgpl.texinfo2
-rw-r--r--manual/math.texi33
-rw-r--r--manual/message.texi3
-rw-r--r--manual/pattern.texi21
-rw-r--r--manual/process.texi8
-rw-r--r--manual/signal.texi12
-rw-r--r--manual/socket.texi18
-rw-r--r--manual/startup.texi32
-rw-r--r--manual/stdio.texi23
-rw-r--r--manual/terminal.texi23
19 files changed, 132 insertions, 95 deletions
diff --git a/manual/.cvsignore b/manual/.cvsignore
index 7c305176da..92494696db 100644
--- a/manual/.cvsignore
+++ b/manual/.cvsignore
@@ -9,4 +9,4 @@ glibc-*
*.cp *.cps *.fn *.fns *.vr *.vrs *.tp *.tps *.ky *.kys *.pg *.pgs
chapters chapters-incl1 chapters-incl2 summary.texi stamp-*
-distinfo dir-add.texi
+distinfo dir-add.texinfo
diff --git a/manual/argp.texi b/manual/argp.texi
index 84b131f36a..4b72ebe5a7 100644
--- a/manual/argp.texi
+++ b/manual/argp.texi
@@ -480,7 +480,8 @@ case ARGP_KEY_ARG:
/* First argument */
first_arg = @var{arg};
else
- return ARGP_KEY_UNKNOWN; /* Let the next case parse it. */
+ /* Let the next case parse it. */
+ return ARGP_KEY_UNKNOWN;
break;
case ARGP_KEY_ARGS:
remaining_args = @var{state}->argv + @var{state}->next;
diff --git a/manual/arith.texi b/manual/arith.texi
index 0d62e419b0..9db50cf05e 100644
--- a/manual/arith.texi
+++ b/manual/arith.texi
@@ -1,4 +1,6 @@
@c We need some definitions here.
+@c No we don't, they were done by math.texi. -zw
+@ignore
@ifclear cdot
@ifhtml
@set cdot ·
@@ -19,6 +21,7 @@ x
@end macro
@end ifclear
@end ifclear
+@end ignore
@node Arithmetic, Date and Time, Mathematics, Top
@chapter Low-Level Arithmetic Functions
diff --git a/manual/conf.texi b/manual/conf.texi
index 86e29a8e04..34554bc35f 100644
--- a/manual/conf.texi
+++ b/manual/conf.texi
@@ -315,6 +315,10 @@ Here are the symbolic constants for use as the @var{parameter} argument
to @code{sysconf}. The values are all integer constants (more
specifically, enumeration type values).
+@c This table runs a bit wide.
+@iftex
+@indexfonts
+@end iftex
@table @code
@comment unistd.h
@comment POSIX.1
@@ -604,7 +608,7 @@ Inquire about the parameter corresponding to @code{_POSIX_TTY_NAME_MAX}.
@comment POSIX.1
@item _SC_THREAD_DESTRUCTOR_ITERATIONS
Inquire about the parameter corresponding to
-@code{_POSIX_THREAD_DESTRUCTOR_ITERATIONS}.
+@code{_POSIX_THREAD_DESTRUCTOR_@*ITERATIONS}.
@comment unistd.h
@comment POSIX.1
@@ -960,6 +964,9 @@ Inquire about the parameter corresponding to @code{NL_SETMAX}.
@item _SC_NL_TEXTMAX
Inquire about the parameter corresponding to @code{NL_TEXTMAX}.
@end table
+@iftex
+@textfonts
+@end iftex
@node Examples of Sysconf
@subsection Examples of @code{sysconf}
diff --git a/manual/errno.texi b/manual/errno.texi
index 86b4c74e7a..5eb6eae3f5 100644
--- a/manual/errno.texi
+++ b/manual/errno.texi
@@ -977,19 +977,19 @@ They are not yet documented.}
@end deftypevr
@comment errno.h
-@comment Linux???: Level 2 not synchronized
+@comment Obsolete: Level 2 not synchronized
@deftypevr Macro int EL2NSYNC
@comment errno ???/45
@end deftypevr
@comment errno.h
-@comment Linux???: Level 3 halted
+@comment Obsolete: Level 3 halted
@deftypevr Macro int EL3HLT
@comment errno ???/46
@end deftypevr
@comment errno.h
-@comment Linux???: Level 3 reset
+@comment Obsolete: Level 3 reset
@deftypevr Macro int EL3RST
@comment errno ???/47
@end deftypevr
@@ -1013,7 +1013,7 @@ They are not yet documented.}
@end deftypevr
@comment errno.h
-@comment Linux???: Level 2 halted
+@comment Obsolete: Level 2 halted
@deftypevr Macro int EL2HLT
@comment errno ???/51
@end deftypevr
diff --git a/manual/examples/rprintf.c b/manual/examples/rprintf.c
index 723b3a3ef0..bac17b49e5 100644
--- a/manual/examples/rprintf.c
+++ b/manual/examples/rprintf.c
@@ -10,7 +10,9 @@ typedef struct
/*@end group*/
int
-print_widget (FILE *stream, const struct printf_info *info, va_list *app)
+print_widget (FILE *stream,
+ const struct printf_info *info,
+ va_list *app)
{
Widget *w;
char *buffer;
diff --git a/manual/examples/testopt.c b/manual/examples/testopt.c
index 8ebc9b6f7a..94baf4db55 100644
--- a/manual/examples/testopt.c
+++ b/manual/examples/testopt.c
@@ -41,7 +41,8 @@ main (int argc, char **argv)
/*@end group*/
/*@group*/
- printf ("aflag = %d, bflag = %d, cvalue = %s\n", aflag, bflag, cvalue);
+ printf ("aflag = %d, bflag = %d, cvalue = %s\n",
+ aflag, bflag, cvalue);
for (index = optind; index < argc; index++)
printf ("Non-option argument %s\n", argv[index]);
diff --git a/manual/filesys.texi b/manual/filesys.texi
index 951ae7956c..6e4baa5673 100644
--- a/manual/filesys.texi
+++ b/manual/filesys.texi
@@ -86,7 +86,7 @@ Permission to read or search a component of the file name was denied.
@end table
@end deftypefun
-Here is an example showing how you could implement the behavior of GNU's
+Here is an example showing how you could implement the behavior of GNU's@*
@w{@code{getcwd (NULL, 0)}} using only the standard behavior of
@code{getcwd}:
@@ -230,17 +230,18 @@ A character device.
A block device.
@end table
-This member is a BSD extension. Each value except DT_UNKNOWN
+This member is a BSD extension. On systems where it is used, it
corresponds to the file type bits in the @code{st_mode} member of
-@code{struct statbuf}. These two macros convert between @code{d_type}
-values and @code{st_mode} values:
+@code{struct statbuf}. On other systems it will always be DT_UNKNOWN.
+These two macros convert between @code{d_type} values and @code{st_mode}
+values:
@deftypefun int IFTODT (mode_t @var{mode})
This returns the @code{d_type} value corresponding to @var{mode}.
@end deftypefun
-@deftypefun mode_t DTTOIF (int @var{dirtype})
-This returns the @code{st_mode} value corresponding to @var{dirtype}.
+@deftypefun mode_t DTTOIF (int @var{dtype})
+This returns the @code{st_mode} value corresponding to @var{dtype}.
@end deftypefun
@end table
diff --git a/manual/header.texi b/manual/header.texi
index 066fdbf1aa..b6ca60ee96 100644
--- a/manual/header.texi
+++ b/manual/header.texi
@@ -7,8 +7,15 @@ standard or other source from which each facility is derived, and tells
you where in the manual you can find more information about how to use
it.
+@c This table runs wide. Shrink fonts.
+@iftex
+@indexfonts @rm
+@end iftex
@table @code
@comment summary.texi is generated from the other Texinfo files.
@comment See the Makefile and summary.awk for the details.
@include summary.texi
@end table
+@iftex
+@textfonts @rm
+@end iftex
diff --git a/manual/lgpl.texinfo b/manual/lgpl.texinfo
index f5d97a8d3d..6bb32205ba 100644
--- a/manual/lgpl.texinfo
+++ b/manual/lgpl.texinfo
@@ -112,7 +112,7 @@ works together with the library.
General Public License rather than by this special one.
@iftex
-@unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+@unnumberedsec TERMS AND CONDITIONS FOR COPYING,@*DISTRIBUTION AND MODIFICATION
@end iftex
@ifinfo
@center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
diff --git a/manual/math.texi b/manual/math.texi
index b784afe52b..28cc4a59be 100644
--- a/manual/math.texi
+++ b/manual/math.texi
@@ -1,24 +1,16 @@
@c We need some definitions here.
-@ifclear cdot
@ifhtml
-@set cdot ·
-@macro mul
-@end macro
+@set mult ·
@end ifhtml
@iftex
-@set cdot ·
-@macro mul
-@cdot
-@end macro
+@set mult @cdot
@end iftex
-@ifclear cdot
-@set cdot x
+@ifclear mult
+@set mult x
+@end ifclear
@macro mul
-x
+@value{mult}
@end macro
-@end ifclear
-@end ifclear
@iftex
@set infty @infty
@end iftex
@@ -443,7 +435,7 @@ Another possibility which is useful in several situations is
@deftypefun int feholdexcept (fenv_t *@var{envp})
Store the current floating-point environment in the object pointed to by
@var{envp}. Afterwards, all exception flags are cleared and if
-available a mode is installed which continues on all exception and does
+available a mode is installed which continues on all exceptions and does
not cause a trap to occur. In this case a nonzero value is returned.
If the floating-point implementation does not support such a non-stop
@@ -455,8 +447,8 @@ restored can take two kinds of arguments:
@itemize @bullet
@item
-Pointed to objects which previously were initialized by a call to
-@code{fegetenv} or @code{feholdexcept}.
+Pointers to @code{fenv_t} objects which were initialized previously by a
+call to @code{fegetenv} or @code{feholdexcept}.
@item
@vindex FE_DFL_ENV
The special macro @code{FE_DFL_ENV} which represents the floating-point
@@ -466,10 +458,11 @@ Implementation defined macros with names starting with @code{FE_}.
@vindex FE_NOMASK_ENV
If possible, the GNU C Library defines a macro @code{FE_NOMASK_ENV}
-which represents an environment where no exception is masked and so each
-raised exception causes a trap to occur. Whether this macro is available can easily be tested using @code{#ifdef}.
+which represents an environment where no exceptions are masked, so every
+exception raised causes a trap to occur. You can test for this macro
+using @code{#ifdef}.
-Some platforms might define further predefined environments.
+Some platforms might define other predefined environments.
@end itemize
@noindent
diff --git a/manual/message.texi b/manual/message.texi
index a292b78531..3c8650fb20 100644
--- a/manual/message.texi
+++ b/manual/message.texi
@@ -673,7 +673,8 @@ int
main (void)
@{
nl_catd catdesc = catopen ("hello.cat", NL_CAT_LOCALE);
- printf (catgets (catdesc, SetMainSet, SetMainHello, "Hello, world!\n"));
+ printf (catgets (catdesc, SetMainSet, SetMainHello,
+ "Hello, world!\n"));
catclose (catdesc);
return 0;
@}
diff --git a/manual/pattern.texi b/manual/pattern.texi
index bd5658dd67..90529bace6 100644
--- a/manual/pattern.texi
+++ b/manual/pattern.texi
@@ -196,8 +196,8 @@ This is a GNU extension.
The address of an alternative implementation of the @code{lstat}
function to get information about an object in the filesystems, not
following symbolic links. It is used if the @code{GLOB_ALTDIRFUNC} bit
-is set in the flag parameter. The type of this field is @w{@code{int
-(*) (const char *, struct stat *)}}.
+is set in the flag parameter. The type of this field is @code{@w{int
+(*) (const char *,} @w{struct stat *)}}.
This is a GNU extension.
@end table
@@ -847,13 +847,16 @@ actually matches is near the end of the first word. But it is
@code{regexec} reports nonuse of the ``na'' subexpression.
Another place where this rule applies is when the regular expression
-@w{@samp{\(ba\(na\)*s \|nefer\(ti\)* \)*}} matches @samp{bananas nefertiti}.
-The ``na'' subexpression does match in the first word, but it doesn't
-match in the second word because the other alternative is used there.
-Once again, the second repetition of the outer subexpression overrides
-the first, and within that second repetition, the ``na'' subexpression
-is not used. So @code{regexec} reports nonuse of the ``na''
-subexpression.
+@smallexample
+\(ba\(na\)*s \|nefer\(ti\)* \)*
+@end smallexample
+@noindent
+matches @samp{bananas nefertiti}. The ``na'' subexpression does match
+in the first word, but it doesn't match in the second word because the
+other alternative is used there. Once again, the second repetition of
+the outer subexpression overrides the first, and within that second
+repetition, the ``na'' subexpression is not used. So @code{regexec}
+reports nonuse of the ``na'' subexpression.
@node Regexp Cleanup
@subsection POSIX Regexp Matching Cleanup
diff --git a/manual/process.texi b/manual/process.texi
index 71fc707f9a..b1f5ef469a 100644
--- a/manual/process.texi
+++ b/manual/process.texi
@@ -709,19 +709,19 @@ the following members:
@table @code
@item int w_termsig
-The value of this member is the same as the result of the
+The value of this member is the same as that of the
@code{WTERMSIG} macro.
@item int w_coredump
-The value of this member is the same as the result of the
+The value of this member is the same as that of the
@code{WCOREDUMP} macro.
@item int w_retcode
-The value of this member is the same as the result of the
+The value of this member is the same as that of the
@code{WEXITSTATUS} macro.
@item int w_stopsig
-The value of this member is the same as the result of the
+The value of this member is the same as that of the
@code{WSTOPSIG} macro.
@end table
diff --git a/manual/signal.texi b/manual/signal.texi
index 177b3b98c0..dd1666c3af 100644
--- a/manual/signal.texi
+++ b/manual/signal.texi
@@ -2285,12 +2285,12 @@ for some special system processes. Otherwise, send the signal to all
processes with the same effective user ID.
@end table
-A process can send a signal @var{signum} to itself with a call like
-@w{@code{kill (getpid(), @var{signum})}}. If @code{kill} is used by a
-process to send a signal to itself, and the signal is not blocked, then
-@code{kill} delivers at least one signal (which might be some other
-pending unblocked signal instead of the signal @var{signum}) to that
-process before it returns.
+A process can send a signal to itself with a call like @w{@code{kill
+(getpid(), @var{signum})}}. If @code{kill} is used by a process to send
+a signal to itself, and the signal is not blocked, then @code{kill}
+delivers at least one signal (which might be some other pending
+unblocked signal instead of the signal @var{signum}) to that process
+before it returns.
The return value from @code{kill} is zero if the signal can be sent
successfully. Otherwise, no signal is sent, and a value of @code{-1} is
diff --git a/manual/socket.texi b/manual/socket.texi
index 1135230cb0..dcd288b12c 100644
--- a/manual/socket.texi
+++ b/manual/socket.texi
@@ -792,7 +792,7 @@ be better if the usage were made consistent, but it is not hard to extract
the integer from the structure or put the integer into a structure.
The following basic definitions for Internet addresses appear in the
-header file @file{netinet/in.h}:
+header file@*@file{netinet/in.h}:
@pindex netinet/in.h
@comment netinet/in.h
@@ -866,8 +866,9 @@ own variables to this value.
@subsubsection Host Address Functions
@pindex arpa/inet.h
+@noindent
These additional functions for manipulating Internet addresses are
-declared in @file{arpa/inet.h}. They represent Internet addresses in
+declared in@*@file{arpa/inet.h}. They represent Internet addresses in
network byte order; they represent network numbers and
local-address-within-network numbers in host byte order.
@xref{Byte Order}, for an explanation of network and host byte order.
@@ -1244,6 +1245,7 @@ service at port @var{port} using protocol @var{proto}. If it can't
find such a service, it returns a null pointer.
@end deftypefun
+@noindent
You can also scan the services database using @code{setservent},
@code{getservent}, and @code{endservent}. Be careful in using these
functions, because they are not reentrant.
@@ -2689,8 +2691,17 @@ 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}, which has size @var{optlen}.
+@c Argh. -zw
+@iftex
+@hfuzz 6pt
The return value and error codes for @code{setsockopt} are the same as
for @code{getsockopt}.
+@end iftex
+@ifinfo
+The return value and error codes for @code{setsockopt} are the same as
+for @code{getsockopt}.
+@end ifinfo
+
@end deftypefun
@node Socket-Level Options
@@ -2705,8 +2716,9 @@ this section.
@end deftypevr
@pindex sys/socket.h
+@noindent
Here is a table of socket-level option names; all are defined in the
-header file @file{sys/socket.h}.
+header file@*@file{sys/socket.h}.
@table @code
@comment sys/socket.h
diff --git a/manual/startup.texi b/manual/startup.texi
index 7e42bb9c7b..2a55e3934e 100644
--- a/manual/startup.texi
+++ b/manual/startup.texi
@@ -409,7 +409,7 @@ these environment variable names for some other purpose.
@comment Extra blank lines make it look better.
@table @code
@item HOME
-@cindex HOME environment variable
+@cindex @code{HOME} environment variable
@cindex home directory
This is a string representing the user's @dfn{home directory}, or
@@ -425,7 +425,7 @@ this lets the user specify the value.
@c !!! also USER
@item LOGNAME
-@cindex LOGNAME environment variable
+@cindex @code{LOGNAME} environment variable
This is the name that the user used to log in. Since the value in the
environment can be tweaked arbitrarily, this is not a reliable way to
@@ -436,7 +436,7 @@ For most purposes, it is better to use @code{LOGNAME}, precisely because
this lets the user specify the value.
@item PATH
-@cindex PATH environment variable
+@cindex @code{PATH} environment variable
A @dfn{path} is a sequence of directory names which is used for
searching for a file. The variable @code{PATH} holds a path used
@@ -463,7 +463,7 @@ the one that is executed.
@c !!! also TERMCAP
@item TERM
-@cindex TERM environment variable
+@cindex @code{TERM} environment variable
This specifies the kind of terminal that is receiving program output.
Some programs can make use of this information to take advantage of
@@ -473,13 +473,13 @@ of terminals. Many programs which use the termcap library
Manual}) use the @code{TERM} environment variable, for example.
@item TZ
-@cindex TZ environment variable
+@cindex @code{TZ} environment variable
This specifies the time zone. @xref{TZ Variable}, for information about
the format of this string and how it is used.
@item LANG
-@cindex LANG environment variable
+@cindex @code{LANG} environment variable
This specifies the default locale to use for attribute categories where
neither @code{LC_ALL} nor the specific environment variable for that
@@ -489,7 +489,7 @@ locales.
@ignore
@c I doubt this really exists
@item LC_ALL
-@cindex LC_ALL environment variable
+@cindex @code{LC_ALL} environment variable
This is similar to the @code{LANG} environment variable. However, its
value takes precedence over any values provided for the individual
@@ -498,7 +498,7 @@ environment variable.
@end ignore
@item LC_ALL
-@cindex LC_ALL environment variable
+@cindex @code{LC_ALL} environment variable
If this environment variable is set it overrides the selection for all
the locales done using the other @code{LC_*} environment variables. The
@@ -506,45 +506,45 @@ value of the other @code{LC_*} environment variables is simply ignored
in this case.
@item LC_COLLATE
-@cindex LC_COLLATE environment variable
+@cindex @code{LC_COLLATE} environment variable
This specifies what locale to use for string sorting.
@item LC_CTYPE
-@cindex LC_CTYPE environment variable
+@cindex @code{LC_CTYPE} environment variable
This specifies what locale to use for character sets and character
classification.
@item LC_MESSAGES
-@cindex LC_MESSAGES environment variable
+@cindex @code{LC_MESSAGES} environment variable
This specifies what locale to use for printing messages and to parse
responses.
@item LC_MONETARY
-@cindex LC_MONETARY environment variable
+@cindex @code{LC_MONETARY} environment variable
This specifies what locale to use for formatting monetary values.
@item LC_NUMERIC
-@cindex LC_NUMERIC environment variable
+@cindex @code{LC_NUMERIC} environment variable
This specifies what locale to use for formatting numbers.
@item LC_TIME
-@cindex LC_TIME environment variable
+@cindex @code{LC_TIME} environment variable
This specifies what locale to use for formatting date/time values.
@item NLSPATH
-@cindex NLSPATH environment variable
+@cindex @code{NLSPATH} environment variable
This specifies the directories in which the @code{catopen} function
looks for message translation catalogs.
@item _POSIX_OPTION_ORDER
-@cindex _POSIX_OPTION_ORDER environment variable.
+@cindex @code{_POSIX_OPTION_ORDER} environment variable.
If this environment variable is defined, it suppresses the usual
reordering of command line arguments by @code{getopt} and
diff --git a/manual/stdio.texi b/manual/stdio.texi
index 58605702e0..7b56787e95 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -1,5 +1,9 @@
@node I/O on Streams, Low-Level I/O, I/O Overview, Top
@chapter Input/Output on Streams
+@c fix an overfull:
+@tex
+\hyphenation{which-ever}
+@end tex
This chapter describes the functions for creating streams and performing
input and output operations on them. As discussed in @ref{I/O
@@ -1541,11 +1545,13 @@ make_message (char *name, char *value)
@group
if (nchars >= size)
@{
- /* @r{Reallocate buffer now that we know how much space is needed.} */
+ /* @r{Reallocate buffer now that we know
+ how much space is needed.} */
buffer = (char *) xrealloc (buffer, nchars + 1);
/* @r{Try again.} */
- snprintf (buffer, size, "value of %s is %s", name, value);
+ snprintf (buffer, size, "value of %s is %s",
+ name, value);
@}
/* @r{The last call worked, return the string.} */
return buffer;
@@ -1621,7 +1627,8 @@ the GNU C compiler provides a way to do this much more easily with macros.
For example:
@smallexample
-#define myprintf(a, b, c, d, e, rest...) printf (mytemplate , ## rest...)
+#define myprintf(a, b, c, d, e, rest...) \
+ printf (mytemplate , ## rest...)
@end smallexample
@noindent
@@ -2057,11 +2064,11 @@ If you define a meaning for @samp{%A}, what if the template contains
the handler when called needs to be able to get the options specified in
the template.
-Both the @var{handler-function} and @var{arginfo-function} arguments
-to @code{register_printf_function} accept an argument that points to a
-@code{struct printf_info}, which contains information about the options
-appearing in an instance of the conversion specifier. This data type
-is declared in the header file @file{printf.h}.
+Both the @var{handler-function} and @var{arginfo-function} accept an
+argument that points to a @code{struct printf_info}, which contains
+information about the options appearing in an instance of the conversion
+specifier. This data type is declared in the header file
+@file{printf.h}.
@pindex printf.h
@comment printf.h
diff --git a/manual/terminal.texi b/manual/terminal.texi
index 0417a63bd8..bd897ab06e 100644
--- a/manual/terminal.texi
+++ b/manual/terminal.texi
@@ -73,18 +73,17 @@ The @dfn{terminal input queue} is also sometimes referred to as its
@dfn{typeahead buffer}. It holds the characters that have been received
from the terminal but not yet read by any process.
-The size of the terminal's input queue is described by the
-@code{MAX_INPUT} and @w{@code{_POSIX_MAX_INPUT}} parameters; see @ref{Limits
-for Files}. You are guaranteed a queue size of at least
-@code{MAX_INPUT}, but the queue might be larger, and might even
-dynamically change size. If input flow control is enabled by setting
-the @code{IXOFF} input mode bit (@pxref{Input Modes}), the terminal
-driver transmits STOP and START characters to the terminal when
-necessary to prevent the queue from overflowing. Otherwise, input may
-be lost if it comes in too fast from the terminal. In canonical mode,
-all input stays in the queue until a newline character is received, so
-the terminal input queue can fill up when you type a very long line.
-@xref{Canonical or Not}.
+The size of the input queue is described by the @code{MAX_INPUT} and
+@w{@code{_POSIX_MAX_INPUT}} parameters; see @ref{Limits for Files}. You
+are guaranteed a queue size of at least @code{MAX_INPUT}, but the queue
+might be larger, and might even dynamically change size. If input flow
+control is enabled by setting the @code{IXOFF} input mode bit
+(@pxref{Input Modes}), the terminal driver transmits STOP and START
+characters to the terminal when necessary to prevent the queue from
+overflowing. Otherwise, input may be lost if it comes in too fast from
+the terminal. In canonical mode, all input stays in the queue until a
+newline character is received, so the terminal input queue can fill up
+when you type a very long line. @xref{Canonical or Not}.
@cindex terminal output queue
The @dfn{terminal output queue} is like the input queue, but for output;