PreviousUpNext

14.4.110  Threadkit_Winix_Text_File_For_Os

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 );
};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext