PreviousUpNext

14.4.154  Winix_Pure_File_For_Os

The standard library Winix_Pure_File_For_Os api extends the Mythryl Winix_Pure_File_For_Os interface with mailop-valued operations. It defines access to “pure” (side-effect free) input for multithreaded Mythryl programs. (No attempt is made to implement pure output.)

The Winix_Pure_File_For_Os api is a sub-api of the Winix_File_For_Os api.

Implementations of Winix_Pure_File_For_Os are produce by winix_data_file_for_os_g and winix_text_file_for_os_g from respectively src/lib/std/src/io/winix-data-file-for-os-g–premicrothread.pkg and src/lib/std/src/io/winix-text-file-for-os-g–premicrothread.pkg.

Predefined packages generated by those two include the standard library file and data_file packages.

The Winix_Pure_File_For_Os api source code is in src/lib/std/src/io/winix-pure-file-for-os.api.

See also: Winix_Pure_Pure_File_For_Os.

See also: Winix_Pure_File_For_Os__Premicrothread.

See also: pur ("pure I/O").

See also: Winix_File_For_Os. The above information is manually maintained and may contain errors.

api {
    Vector;
    Element;
    Filereader;
    Filewriter;
    Input_Stream;
    Output_Stream;
    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);
    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;
    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)) );};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext