object

# `os`

Portable operating-system access predicates.

Availability:
`logtalk_load(os(loader))`
Author: Paulo Moura
Version: 1:100:1
Date: 2024-03-16
Compilation flags:
`static, context_switching_calls`
Implements:
`public` osp
Uses:
list
Aliases:
`osp` `absolute_file_name/2` as `expand_path/2`
Remarks:

> - File path expansion: To ensure portability, all file paths are expanded before being handed to the backend Prolog system.

> - Exception terms: Currently, there is no standardization of the exception terms thrown by the different backend Prolog systems.

> - B-Prolog portability: The `wall_time/1` predicate is not supported.

> - CxProlog portability: The `date_time/7` predicate returns zeros for all arguments.

> - JIProlog portability: The `file_permission/2` and `command_line_arguments/1` predicates are not supported.

> - Quintus Prolog: The `pid/1` and `shell/2` predicates are not supported.

> - XSB portability: The `command_line_arguments/1` predicate is not supported.

Inherited public predicates:
absolute_file_name/2 change_directory/1 command_line_arguments/1 copy_file/2 cpu_time/1 date_time/7 decompose_file_name/3 decompose_file_name/4 delete_directory/1 delete_file/1 directory_exists/1 directory_files/2 directory_files/3 ensure_directory/1 ensure_file/1 environment_variable/2 file_exists/1 file_modification_time/2 file_permission/2 file_size/2 full_device_path/1 internal_os_path/2 is_absolute_file_name/1 make_directory/1 make_directory_path/1 null_device_path/1 operating_system_machine/1 operating_system_name/1 operating_system_release/1 operating_system_type/1 path_concat/3 pid/1 read_only_device_path/1 rename_file/2 shell/1 shell/2 sleep/1 temporary_directory/1 time_stamp/1 wall_time/1 working_directory/1

## Public predicates

(no local declarations; see entity ancestors if any)

## Protected predicates

(no local declarations; see entity ancestors if any)

## Private predicates

(no local declarations; see entity ancestors if any)

## Operators

(none)

See also

os_types