


The standard libary threadkit_posix_text_base_io package implements base-level input/output functionality for multithreaded Mythryl programs on posix operating systems.
The threadkit_posix_text_base_io package implements a superset of the Threadkit_Winix_Base_Io API.
The threadkit_posix_text_base_io package source code is in src/lib/std/src/posix/threadkit-posix-text-stream-readers-and-writers.pkg.
See also: text_base_io package.
See also: threadkit_posix_binary_base_io package.
The above information is manually maintained and may contain errors.
api { package stream_readers_and_writers : api {
Mailop X = Mailop(X );
Rw_Vector = Rw_Vector;
Vector = Vector;
Element = Element;
Vector_Slice = vector_slice_of_chars::Slice;
Rw_Vector_Slice = rw_vector_slice_of_chars::Slice;
File_Position = File_Position;
compare : (File_Position , File_Position) -> Order;
Stream_Reader
= STREAM_READER {avail:Void -> Null_Or(Int ), chunk_size:Int,
close:Void -> Void,
end_position:Null_Or((Void -> File_Position) ),
get_position:Null_Or((Void -> File_Position) ),
io_descriptor:Null_Or(Int ), name:String,
read_arr_mailop:Rw_Vector_Slice -> Mailop(Int ),
read_rw_vector:Rw_Vector_Slice -> Int,
read_vec_mailop:Int -> Mailop(Vector ),
read_vector:Int -> Vector,
set_position:Null_Or((File_Position -> Void) ),
verify_position:Null_Or((Void -> File_Position) )};
Stream_Writer
= STREAM_WRITER {chunk_size:Int, close:Void -> Void,
end_position:Null_Or((Void -> File_Position) ),
get_position:Null_Or((Void -> File_Position) ),
io_descriptor:Null_Or(Int ), name:String,
set_position:Null_Or((File_Position -> Void) ),
verify_position:Null_Or((Void -> File_Position) ),
write_arr_mailop:Rw_Vector_Slice -> Mailop(Int ),
write_rw_vector:Rw_Vector_Slice -> Int,
write_vec_mailop:Vector_Slice -> Mailop(Int ),
write_vector:Vector_Slice -> Int};
};;
File_Descriptor = File_Descriptor;
open_for_read : String -> stream_readers_and_writers::Stream_Reader;
open_for_write : String -> stream_readers_and_writers::Stream_Writer;
open_for_append : String -> stream_readers_and_writers::Stream_Writer;
make_reader : {fd:File_Descriptor, name:String}
-> stream_readers_and_writers::Stream_Reader;
make_writer : {append_mode:Bool, chunk_size:Int,
fd:File_Descriptor, name:String}
-> stream_readers_and_writers::Stream_Writer;
stdin : Void -> stream_readers_and_writers::Stream_Reader;
stdout : Void -> stream_readers_and_writers::Stream_Writer;
stderr : Void -> stream_readers_and_writers::Stream_Writer;
string_reader : String -> stream_readers_and_writers::Stream_Reader;
};


