


The standard library Threadkit_Winix_Text_File_For_Os api defines access to basic low-level file I/O for multi-threaded programming.
The Threadkit_Winix_Text_File_For_Os api is implemented by src/lib/std/src/io/threadkit-winix-text-file-for-os-g.pkg.
The Threadkit_Winix_Text_File_For_Os api is implemented by threadkit_winix_text_file_for_posix.
The Threadkit_Winix_Text_File_For_Os api source code is in src/lib/std/src/io/threadkit-winix-text-file-for-os.api.
The above information is manually maintained and may contain errors.
api {
Vector = String;
Element = Char;
Input_Stream ;
Output_Stream ;
read : Input_Stream -> Vector;
read_one : Input_Stream -> Null_Or(Element );
read_n : (Input_Stream , Int) -> Vector;
read_all : Input_Stream -> Vector;
max_readable_without_blocking : (Input_Stream , Int) -> Null_Or(Int );
peek : Input_Stream -> Null_Or(Element );
close_input : Input_Stream -> Void;
end_of_stream : Input_Stream -> Bool;
write : (Output_Stream , Vector) -> Void;
write_one : (Output_Stream , Element) -> Void;
flush : Output_Stream -> Void;
close_output : Output_Stream -> Void;
package pur : api {
Vector = String;
Element = Char;
Filereader = Filereader;
Filewriter = Filewriter;
Input_Stream ;
Output_Stream ;
File_Position = File_Position;
Out_Position ;
make_instream : (Filereader , Vector) -> Input_Stream;
read : Input_Stream -> (Vector , Input_Stream);
read_one : Input_Stream -> Null_Or(((Element , Input_Stream)) );
read_n : (Input_Stream , Int) -> (Vector , Input_Stream);
read_all : Input_Stream -> (Vector , Input_Stream);
max_readable_without_blocking : (Input_Stream , Int) -> Null_Or(Int );
close_input : Input_Stream -> Void;
end_of_stream : Input_Stream -> Bool;
get_reader : Input_Stream -> (Filereader , Vector);
file_position_in : Input_Stream -> File_Position;
make_outstream : (Filewriter , io_exceptions::Buffering_Mode)
-> Output_Stream;
write : (Output_Stream , Vector) -> Void;
write_one : (Output_Stream , Element) -> Void;
flush : Output_Stream -> Void;
close_output : Output_Stream -> Void;
set_buffering_mode : (Output_Stream , io_exceptions::Buffering_Mode) -> Void;
get_buffering_mode : Output_Stream -> io_exceptions::Buffering_Mode;
get_writer : Output_Stream
-> (Filewriter , io_exceptions::Buffering_Mode);
file_pos_out : Out_Position -> File_Position;
get_output_position : Output_Stream -> Out_Position;
set_output_position : Out_Position -> Void;
read_line : Input_Stream -> Null_Or(((String , Input_Stream)) );
write_substring : (Output_Stream , Substring) -> Void;
input1evt : Input_Stream
-> Mailop(Null_Or(((Element , Input_Stream)) ) );
input_nevt : (Input_Stream , Int)
-> Mailop(((Vector , Input_Stream)) );
input_mailop : Input_Stream -> Mailop(((Vector , Input_Stream)) );
input_all_mailop : Input_Stream -> Mailop(((Vector , Input_Stream)) );
input_line_mailop : Input_Stream
-> Mailop(Null_Or(((Vector , Input_Stream)) ) );
};;
make_instream : pur::Input_Stream -> Input_Stream;
get_instream : Input_Stream -> pur::Input_Stream;
set_instream : (Input_Stream , pur::Input_Stream) -> Void;
get_output_position : Output_Stream -> pur::Out_Position;
set_output_position : (Output_Stream , pur::Out_Position) -> Void;
make_outstream : pur::Output_Stream -> Output_Stream;
get_outstream : Output_Stream -> pur::Output_Stream;
set_outstream : (Output_Stream , pur::Output_Stream) -> Void;
read_line : Input_Stream -> Null_Or(String );
write_substring : (Output_Stream , Substring) -> Void;
open_for_read : String -> Input_Stream;
open_string : String -> Input_Stream;
open_for_write : String -> Output_Stream;
open_for_append : String -> Output_Stream;
stdin : Input_Stream;
stdout : Output_Stream;
stderr : Output_Stream;
input1evt : Input_Stream -> Mailop(Null_Or(Element ) );
input_nevt : (Input_Stream , Int) -> Mailop(Vector );
input_mailop : Input_Stream -> Mailop(Vector );
input_all_mailop : Input_Stream -> Mailop(Vector );
open_slot_in : Mailslot(String ) -> Input_Stream;
open_slot_out : Mailslot(String ) -> Output_Stream;
print : String -> Void;
scan_stream : (number_string::Reader((Element, pur::Input_Stream) )
-> number_string::Reader((X, pur::Input_Stream) ))
-> Input_Stream -> Null_Or(X );
};


