123 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			123 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								:- import path_sysop/2, path_sysop/3 from file_io.
							 | 
						||
| 
								 | 
							
								:- import datime/1 from standard.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								:- object(system,
							 | 
						||
| 
								 | 
							
									implements(systemp)).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									:- info([
							 | 
						||
| 
								 | 
							
										version is 1.0,
							 | 
						||
| 
								 | 
							
										author is 'Paulo Moura',
							 | 
						||
| 
								 | 
							
										date is 2004/6/5,
							 | 
						||
| 
								 | 
							
										comment is 'Operating system interface for XSB.']).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									make_directory(Directory) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(mkdir, Directory)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									delete_directory(Directory) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(rmdir, Directory)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									change_directory(Directory) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(chdir, Directory)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									working_directory(Directory) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(cwd, Directory)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									directory_exists(Directory) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(isdir, Directory)
							 | 
						||
| 
								 | 
							
										 path_sysop(exists, Directory)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									directory_files(Directory, Files) :-
							 | 
						||
| 
								 | 
							
										{directory(Directory, Files)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									absolute_file_name(File) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(isabsolute, File)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									absolute_file_name(File, Full) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(expand, File, Full)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									file_base_name(File, Base) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(basename, File, Base)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									file_name_extension(File, Extension) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(extension, File, Extension)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									file_name_directory(File, Directory) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(dirname, File, Directory)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									file_exists(File) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(isplain, File)
							 | 
						||
| 
								 | 
							
										 path_sysop(exists, File)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									file_modification_time(File, Time) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(modtime, File, [High, Low]),
							 | 
						||
| 
								 | 
							
										 Time is Low + High * 2 ** 24}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									file_size(File, Size) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(size, File, Size)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									file_permission(File, read) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(readable, File)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									file_permission(File, write) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(writable, File)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									file_permission(File, execute) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(executable, File)}.
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									delete_file(File) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(rm, Directory)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									rename_file(Old, New) :-
							 | 
						||
| 
								 | 
							
										{path_sysop(rename, Old, New)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									symbolic_link(File, Target) :-
							 | 
						||
| 
								 | 
							
										{fail}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									environment_variable(Variable, Value) :-
							 | 
						||
| 
								 | 
							
										{fail}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									set_environment_variable(Variable, Value) :-
							 | 
						||
| 
								 | 
							
										{fail}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									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) :-
							 | 
						||
| 
								 | 
							
										{fail}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									cpu_time(Time) :-
							 | 
						||
| 
								 | 
							
										{cputime(Time)}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									host_name(Name) :-
							 | 
						||
| 
								 | 
							
										{fail}.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								:- end_object.
							 |