+The three types of buffering available are unbuffered, block buffered,
+and line buffered.
+When an output stream is unbuffered, information appears on the
+destination file or terminal as soon as written;
+when it is block buffered many characters are saved up and written as a block;
+when it is line buffered characters are saved up until a newline is
+encountered or input is read from stdin.
+.I Fflush
+(see
+.IR fclose (3S))
+may be used to force the block out early.
+Normally all files are block buffered.
+A buffer is obtained from
+.IR malloc (3)
+upon the first
+.I getc
+or
+.IR putc (3S)
+on the file.
+If the standard stream
+.B stdout
+refers to a terminal it is line buffered.
+The standard stream
+.B stderr
+is always unbuffered.
+.PP