125 lines
2.2 KiB
Plaintext
125 lines
2.2 KiB
Plaintext
|
|
||
|
:- use_module(library(system)).
|
||
|
:- use_module(library(filenames)).
|
||
|
|
||
|
|
||
|
:- object(system,
|
||
|
implements(systemp)).
|
||
|
|
||
|
|
||
|
:- info([
|
||
|
version is 1.0,
|
||
|
author is 'Paulo Moura',
|
||
|
date is 2004/6/5,
|
||
|
comment is 'Operating system interface for CIAO.']).
|
||
|
|
||
|
|
||
|
make_directory(Directory) :-
|
||
|
{make_directory(Directory)}.
|
||
|
|
||
|
|
||
|
delete_directory(Directory) :-
|
||
|
{delete_directory(Directory)}.
|
||
|
|
||
|
|
||
|
change_directory(Directory) :-
|
||
|
{cd(Directory)}.
|
||
|
|
||
|
|
||
|
working_directory(Directory) :-
|
||
|
{working_directory(Directory, Directory)}.
|
||
|
|
||
|
|
||
|
directory_exists(Directory) :-
|
||
|
{fail}.
|
||
|
|
||
|
|
||
|
directory_files(Directory, Files) :-
|
||
|
{directory_files(Directory, Files)}.
|
||
|
|
||
|
|
||
|
absolute_file_name(File) :-
|
||
|
{absolute_file_name(File, File)}.
|
||
|
|
||
|
|
||
|
absolute_file_name(File, Full) :-
|
||
|
{absolute_file_name(File, Full)}.
|
||
|
|
||
|
|
||
|
file_base_name(File, Base) :-
|
||
|
{no_path_file_name_(File, Name),
|
||
|
file_name_extension(Name, Base, _)}.
|
||
|
|
||
|
|
||
|
file_name_extension(File, Extension) :-
|
||
|
{no_path_file_name_(File, Name),
|
||
|
file_name_extension(Name, _, Extension)}.
|
||
|
|
||
|
|
||
|
file_name_directory(File, Directory) :-
|
||
|
{no_path_file_name_(File, Name),
|
||
|
absolute_file_name(File, Full),
|
||
|
atom_concat(Directory, Name, Full)}.
|
||
|
|
||
|
|
||
|
file_exists(File) :-
|
||
|
{file_exists(File)}.
|
||
|
|
||
|
|
||
|
file_modification_time(File, Time) :-
|
||
|
{modif_time(File, Time)}.
|
||
|
|
||
|
|
||
|
file_size(File, Size) :-
|
||
|
{file_property(File, size(Size))}.
|
||
|
|
||
|
|
||
|
file_type(File, Type) :-
|
||
|
{file_property(File, type(Type))}.
|
||
|
|
||
|
|
||
|
file_permission(File, Permission) :-
|
||
|
{file_exists(File, Permission)}.
|
||
|
|
||
|
|
||
|
delete_file(File) :-
|
||
|
{delete_file(File)}.
|
||
|
|
||
|
|
||
|
rename_file(Old, New) :-
|
||
|
{rename_file(Old, New)}.
|
||
|
|
||
|
|
||
|
symbolic_link(File, Target) :-
|
||
|
{file_property(File, linkto(Target))}.
|
||
|
|
||
|
|
||
|
environment_variable(Variable, Value) :-
|
||
|
{getenvstr(Variable, Codes),
|
||
|
atom_codes(Value, Codes)}.
|
||
|
|
||
|
|
||
|
set_environment_variable(Variable, Value) :-
|
||
|
{atom_codes(Value, Codes),
|
||
|
setenvstr(Variable, Codes)}.
|
||
|
|
||
|
|
||
|
date_time(Year, Month, Day, Hours, Mins, Secs, 0) :-
|
||
|
{datime(datime(Year, Month, Day, Hours, Mins, Secs))}.
|
||
|
|
||
|
|
||
|
convert_time(Time, Year, Month, Day, Hours, Mins, Secs, Milisecs) :-
|
||
|
{datime(Time, Year, Month, Day, Hours, Mins, Secs, _, _)}.
|
||
|
|
||
|
|
||
|
cpu_time(Time) :-
|
||
|
{statistics(runtime, [Miliseconds| _]),
|
||
|
Time is Miliseconds/1000}.
|
||
|
|
||
|
|
||
|
host_name(Name) :-
|
||
|
{current_host(Name)}.
|
||
|
|
||
|
|
||
|
:- end_object.
|