NAME ^

src/io/io_passdown.c - IO layer handling

DESCRIPTION ^

This is a set of helper functions which search for the first implementation of a function in the layer-stack, call it with the appropriate arguments and return the value returned.

Functions ^

ParrotIO *PIO_open_down

Looks for the implementation of Open and calls it if found, returning its return value.

Returns NULL if no implementation is found.

ParrotIO *PIO_open_async_down

Looks for the implementation of Open_ASync and calls it if found, returning its return value.

Returns NULL if no implementation is found.

ParrotIO *PIO_fdopen_down

Looks for the implementation of FDOpen and calls it if found, returning its return value.

Returns NULL if no implementation is found.

size_t PIO_peek_down

RT#48260: Not yet documented!!!

INTVAL PIO_close_down

Looks for the implementation of Close and calls it if found, returning its return value.

Returns -1 if no implementation is found.

size_t PIO_write_down

Looks for the implementation of Write and calls it if found, returning its return value.

Returns 0 if no implementation is found.

size_t PIO_write_async_down

Looks for the implementation of WriteASync and calls it if found, returning its return value.

Returns 0 if no implementation is found.

size_t PIO_read_down

Looks for the implementation of Read and calls it if found, returning its return value.

Returns 0 if no implementation is found.

size_t PIO_read_async_down

Looks for the implementation of Read_ASync and calls it if found, returning its return value.

Returns 0 if no implementation is found.

INTVAL PIO_flush_down

Looks for the implementation of Flush and calls it if found, returning its return value.

Returns 0 if no implementation is found.

PIOOFF_T PIO_seek_down

Looks for the implementation of Seek and calls it if found, returning its return value.

Returns -1 if no implementation is found.

PIOOFF_T PIO_tell_down

Looks for the implementation of Tell and calls it if found, returning its return value.

Returns 0 if no implementation is found.

INTVAL PIO_setbuf_down

Looks for the implementation of SetBuf and calls it if found, returning its return value.

Returns -1 if no implementation is found.

INTVAL PIO_setlinebuf_down

Looks for the implementation of SetLineBuf and calls it if found, returning its return value.

Returns -1 if no implementation is found.

INTVAL PIO_eof_down

Looks for the implementation of Eof and calls it if found, returning its return value.

Returns -1 if no implementation is found.

INTVAL PIO_poll_down

Looks for the implementation of Poll and calls it if found, returning its return value.

Returns -1 if no implementation is found.

ParrotIO *PIO_socket_down

Looks for the implementation of Socket and calls it if found, returning its return value.

Returns NULL if no implementation is found.

INTVAL PIO_recv_down

Looks for the implementation of Recv and calls it if found, returning its return value.

Returns -1 if no implementation is found.

INTVAL PIO_send_down

Looks for the implementation of Send and calls it if found, returning its return value.

Returns -1 if no implementation is found.

INTVAL PIO_connect_down

Looks for the implementation of Connect and calls it if found, returning its return value.

Returns -1 if no implementation is found.

INTVAL PIO_bind_down

Looks for the implementation of Bind and calls it if found, returning its return value.

Returns -1 if no implementation is found.

INTVAL PIO_listen_down

Looks for the implementation of listen and calls it if found, returning its return value.

Returns -1 if no implementation is found.

ParrotIO *PIO_accept_down

Looks for the implementation of Accept and calls it if found, returning its return value.

Returns -1 if no implementation is found.

SEE ALSO ^

src/io/io_buf.c, src/io/io_passdown.c, src/io/io_stdio.c, src/io/io_unix.c, src/io/io_win32.c, src/io/io.c, src/io/io_private.h.

HISTORY ^

Initially written by Juergen Boemmels

Some ideas and goals from Perl5.7 and Nick Ing-Simmons' work.


parrot