open/4 option: overflow(OverFlowAction) QP_stream: unsigned char overflow
Written characters are stored in the buffer of an output stream by the
middle layer output function until the
current record is terminated, through a newline operation (such as
nl/[0,1]
or QP_newln()
) or
by writing the line border code of the stream.
If a character is written when the buffer of an output stream is full,
it overflows the output buffer.
The overflow
field specifies
the action that the middle layer function should take if this happens.
The possible values for overflow
are:
QP_OV_ERROR
overflow(error)
in open/4
.
It is an error when output stream buffer overflows.
QP_OV_TRUNCATE
overflow(truncate)
in open/4
.
Keeps the characters in the buffer and throws away the
current character that overflows the output buffer.
QP_OV_FLUSH
overflow(flush)
in open/4
.
Pass the current buffer storing a partial record of the output stream
to the bottom layer flush function to write out the buffer.
The host operating system must support
writing of partial records for the device associated with the stream.
Note that if an output stream is unbuffered (i.e. max_reclen
is 0)
then the middle layer function ignores the overflow
field and
calls the write
function for each character written to the stream.