NAME
src/io/buffer.c - I/O buffering
DESCRIPTION
This file implements a collection of utility functions for I/O buffering.
Functions
INTVAL Parrot_io_init_buffer
Initialize buffering on STDOUT and STDIN.
void Parrot_io_setbuf
Set the buffering mode for the filehandle.
INTVAL Parrot_io_setlinebuf
Set the file handle to line buffering mode.
INTVAL Parrot_io_flush_buffer
Flush the I/O buffer for a given filehandle object.
size_t Parrot_io_fill_readbuf
The buffer layer's size_t Parrot_io_read_buffer
The buffer layer's size_t Parrot_io_peek_buffer
Retrieve the next character in the buffer without modifying the stream.
size_t Parrot_io_readline_buffer
This is called from size_t Parrot_io_write_buffer
The buffer layer's PIOOFF_T Parrot_io_seek_buffer
The buffer layer's static INTVAL io_is_end_of_line
Determine if the current character is the end of the line.Note that this is not a portable solution,
but it is what the old architecture was doing,
once you boil away the useless macros.
This will need to change to support the Strings PDD,
but is left as-is for now,
for a smooth transition to the new architecture.
Fill
function.
Read
function.
Parrot_io_read_buffer()
to do line buffered reading if that is what is required.
Write
function.
Seek
function.
SEE ALSO
src/io/api.c, src/io/unix.c, src/io/win32.c, src/io/portable.c, src/io.c, src/io/io_private.h.