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