


## 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.apiapi 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.


