| parrotcode: IO Layer Handling | |
| Contents | C |

src/io/io_layers.c - IO Layer Handling

The Parrot IO subsystem uses a per-interpreter stack to provide a layer-based approach to IO.
Each layer implements a subset of the ParrotIOLayerAPI vtable.
To find an IO function the layer stack is searched downwards until a non-NULL function pointer is found for that particular slot.
*/
/*

ParrotIOLayer *PIO_base_new_layer(ParrotIOLayer *proto)ParrotIOLayer.
If a prototype *proto is supplied then it's values will be copied to the new instance.void PIO_base_delete_layer(ParrotIOLayer *layer)*layer.INTVAL PIO_push_layer(theINTERP, PMC *pmc, ParrotIOLayer *layer)*pmc) or the default stack.void PIO_push_layer_str(theINTERP, PMC *pmc, STRING *layer_name)*pmc).ParrotIOLayer *PIO_pop_layer(theINTERP, PMC *pmc)*pmc) or the default stack.STRING *PIO_pop_layer_str(theINTERP, PMC *pmc)*pmc) and return the name of the popped layer.
The layer gets freed.ParrotIOLayer *PIO_copy_stack(ParrotIOLayer *stack)
|
|
|