protocol

osp

Portable operating-system access protocol.

author:
Paulo Moura
version:
1.23
date:
2018/3/7
compilation flags:
static

(no dependencies on other entities)

Public interface

pid/1

Returns the process identifier of the running process.

compilation flags:
static
template:
pid(PID)
mode – number of proofs:
pid(-integer) – one

shell/2

Runs an operating-system shell command and returns its exit status.

compilation flags:
static
template:
shell(Command,Status)
mode – number of proofs:
shell(+atom,-integer) – one

shell/1

Runs an operating-system shell command.

compilation flags:
static
template:
shell(Command)
mode – number of proofs:
shell(+atom) – zero_or_one

absolute_file_name/2

Expands a file name to an absolute file path. An environment variable at the beginning of the file name is also expanded.

compilation flags:
static
template:
absolute_file_name(File,Path)
mode – number of proofs:
absolute_file_name(+atom,-atom) – one

decompose_file_name/3

Decomposes a file name into its directory (which always ends with a slash; "./" is returned if absent) and its basename (that can be the empty atom).

compilation flags:
static
template:
decompose_file_name(File,Directory,Basename)
mode – number of proofs:
decompose_file_name(+atom,?atom,?atom) – one

decompose_file_name/4

Decomposes a file name into its directory (which always ends with a slash; "./" is returned if absent), name (that can be the empty atom), and extension (which starts with a "." when defined; the empty atom otherwise).

compilation flags:
static
template:
decompose_file_name(File,Directory,Name,Extension)
mode – number of proofs:
decompose_file_name(+atom,?atom,?atom,?atom) – one

make_directory/1

Makes a new directory. Succeeds if the directory already exists.

compilation flags:
static
template:
make_directory(Directory)
mode – number of proofs:
make_directory(+atom) – one

make_directory_path/1

Makes a new directory creating all the intermediate directories if necessary. Succeeds if the directory already exists.

compilation flags:
static
template:
make_directory_path(Directory)
mode – number of proofs:
make_directory_path(+atom) – one

delete_directory/1

Deletes an empty directory.

compilation flags:
static
template:
delete_directory(Directory)
mode – number of proofs:
delete_directory(+atom) – one

change_directory/1

Changes current working directory.

compilation flags:
static
template:
change_directory(Directory)
mode – number of proofs:
change_directory(+atom) – one

working_directory/1

Current working directory.

compilation flags:
static
template:
working_directory(Directory)
mode – number of proofs:
working_directory(?atom) – zero_or_one

directory_files/2

Returns a list of all files (including directories, regular files, and hidden directories and files) in a directory. File paths are relative to the directory.

compilation flags:
static
template:
directory_files(Directory,Files)
mode – number of proofs:
directory_files(+atom,-list(atom)) – one

directory_files/3

Returns a filtered list of files. Filters: paths/1 - relative/absolute, type/1 - all/regular/directory, extensions/1 - list, prefixes/1 - list, suffixes/1 - list, dot_files/1 - boolean. Invalid options ignored. Defaults equivalent to directory_files/2.

compilation flags:
static
template:
directory_files(Directory,Files,Options)
mode – number of proofs:
directory_files(+atom,-list(atom),+list(compound)) – one

directory_exists/1

True if the specified directory exists (irrespective of directory permissions).

compilation flags:
static
template:
directory_exists(Directory)
mode – number of proofs:
directory_exists(+atom) – zero_or_one

file_exists/1

True if the specified file exists and is a regular file (irrespective of file permissions).

compilation flags:
static
template:
file_exists(File)
mode – number of proofs:
file_exists(+atom) – zero_or_one

file_modification_time/2

File modification time (which can be used for comparison).

compilation flags:
static
template:
file_modification_time(File,Time)
mode – number of proofs:
file_modification_time(+atom,-integer) – zero_or_one

file_size/2

File size (in bytes).

compilation flags:
static
template:
file_size(File,Size)
mode – number of proofs:
file_size(+atom,-integer) – zero_or_one

file_permission/2

True if the specified file has the specified permission (read, write, or execute).

compilation flags:
static
template:
file_permission(File,Permission)
mode – number of proofs:
file_permission(+atom,?atom) – zero_or_one

rename_file/2

Renames a file or a directory.

compilation flags:
static
template:
rename_file(Old,New)
mode – number of proofs:
rename_file(+atom,+atom) – zero_or_one

delete_file/1

Deletes a file.

compilation flags:
static
template:
delete_file(File)
mode – number of proofs:
delete_file(+atom) – one

environment_variable/2

Returns an environment variable value. Fails if the variable does not exists.

compilation flags:
static
template:
environment_variable(Variable,Value)
mode – number of proofs:
environment_variable(+atom,?atom) – zero_or_one

time_stamp/1

Returns a system-dependent time stamp, which can be used for sorting, but should be regarded otherwise as an opaque term.

compilation flags:
static
template:
time_stamp(Time)
mode – number of proofs:
time_stamp(-ground) – one

date_time/7

Returns the current date and time.

compilation flags:
static
template:
date_time(Year,Month,Day,Hours,Minutes,Seconds,Miliseconds)
mode – number of proofs:
date_time(-integer,-integer,-integer,-integer,-integer,-integer,-integer) – one

cpu_time/1

System cpu time in seconds.

compilation flags:
static
template:
cpu_time(Seconds)
mode – number of proofs:
cpu_time(-number) – one

wall_time/1

Wall time in seconds.

compilation flags:
static
template:
wall_time(Seconds)
mode – number of proofs:
wall_time(-number) – one

operating_system_type/1

Operating system type. Possible values are "unix", "windows", and "unknown".

compilation flags:
static
template:
operating_system_type(Type)
mode – number of proofs:
operating_system_type(?atom) – one

command_line_arguments/1

Returns a list with the command line arguments that occur after "--".

compilation flags:
static
template:
command_line_arguments(Arguments)
mode – number of proofs:
command_line_arguments(-list(atom)) – one

sleep/1

Suspends execution the given number of seconds.

compilation flags:
static
template:
sleep(Seconds)
mode – number of proofs:
sleep(+number) – one

Protected interface

(none)

Private predicates

(none)

Operators

(none)

Remarks

(none)

See also