PreviousUpNext

15.3.562  src/lib/std/src/winix/winix-file.api

## winix-file.api

# Compiled by:
#     src/lib/std/src/standard-core.sublib



# The generic file system interface.
#
# A sub-api of api Winix:
#
#     src/lib/std/src/winix/winix.api

api Winix_File {
    #
    Directory_Stream;

    open_directory_stream:    String -> Directory_Stream;
    read_directory_entry:     Directory_Stream -> Null_Or( String );
    rewind_directory_stream:  Directory_Stream -> Void;
    close_directory_stream:   Directory_Stream -> Void;

    change_directory:        String -> Void;
    current_directory:       Void -> String;
    make_directory:          String -> Void;
    remove_directory:        String -> Void;
    is_directory:            String -> Bool;

    is_symlink:              String -> Bool;
    read_symlink:            String -> String;

    full_path:  String -> String;
    real_path:  String -> String;

    file_size:  String -> file_position::Int;
    last_file_modification_time:   String -> time::Time;
    set_last_file_modification_time:   (String, Null_Or(time::Time)) -> Void;
    remove_file:    String -> Void;
    rename_file:    { from:  String,  to:  String } -> Void;

    Access_Mode = MAY_READ | MAY_WRITE | MAY_EXECUTE;

    access:  (String, List( Access_Mode )) -> Bool;

    tmp_name:  Void -> String;                                                          # NB: posix::mkstemp is considered more secure, when applicable.

    eqtype File_Id;

    file_id:   String -> File_Id;
    hash:     File_Id -> Unt;
    compare:  (File_Id, File_Id) -> Order;

};                                              # Winix_File




## COPYRIGHT (c) 1995 AT&T Bell Laboratories.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2012,
## released under Gnu Public Licence version 3.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext