Higher-level interfaces to libc::* functions and operating system services.

In general these take and return rust types, use rust idioms (enums, closures, vectors) rather than C idioms, and do more extensive safety checks.

This module is not meant to only contain 1:1 mappings to libc entries; any os-interface code that is reasonably useful and broadly applicable can go here. Including utility routines that merely build on other os code.

We assume the general case is that users do not care, and do not want to be made to care, which operating system they are on. While they may want to special case various special cases -- and so we will not hide the facts of which OS the user is on -- they should be given the opportunity to write OS-ignorant code by default.

Const TMPBUF_SZ

uint

Struct Pipe

pub struct Pipe {
    mut in: c_int,
    mut out: c_int,
}

Function args

fn args() -> ~[~str]

Function as_c_charp

fn as_c_charp<T>(s: &str, f: &fn(*c_char) -> T) -> T

Function change_dir

fn change_dir(p: &Path) -> bool

Function close

fn close(fd: c_int) -> c_int

Function copy_file

fn copy_file(from: &Path, to: &Path) -> bool

Copies a file from one location to another

Function dll_filename

fn dll_filename(base: &str) -> ~str

Function env

fn env() -> ~[(~str, ~str)]

Function errno

fn errno() -> int

Function fdopen

fn fdopen(fd: c_int) -> *FILE

Function fill_charp_buf

fn fill_charp_buf(f: &fn(*mut c_char, size_t) -> bool) -> Option<~str>

Function fsync_fd

fn fsync_fd(fd: c_int, level: io::fsync::Level) -> c_int

Function getcwd

fn getcwd() -> Path

Function getenv

fn getenv(n: &str) -> Option<~str>

Function homedir

fn homedir() -> Option<Path>

Returns the path to the user's home directory, if known.

On Unix, returns the value of the 'HOME' environment variable if it is set and not equal to the empty string.

On Windows, returns the value of the 'HOME' environment variable if it is set and not equal to the empty string. Otherwise, returns the value of the 'USERPROFILE' environment variable if it is set and not equal to the empty string.

Otherwise, homedir returns option::none.

Function last_os_error

fn last_os_error() -> ~str

Get a string representing the platform-dependent last error

Function list_dir

fn list_dir(p: &Path) -> ~[~str]

Lists the contents of a directory

Function list_dir_path

fn list_dir_path(p: &Path) -> ~[~Path]

Lists the contents of a directory

This version prepends each entry with the directory.

Function make_absolute

fn make_absolute(p: &Path) -> Path

Convert a relative path to an absolute path

If the given path is relative, return it prepended with the current working directory. If the given path is already an absolute path, return it as is.

Function make_dir

fn make_dir(p: &Path, mode: c_int) -> bool

Creates a directory at the specified path

Function path_exists

fn path_exists(p: &Path) -> bool

Indicates whether a path exists

Function path_is_dir

fn path_is_dir(p: &Path) -> bool

Indicates whether a path represents a directory

Function pipe

fn pipe() -> Pipe

Function real_args

fn real_args() -> ~[~str]

Function remove_dir

fn remove_dir(p: &Path) -> bool

Removes a directory at the specified path

Function remove_file

fn remove_file(p: &Path) -> bool

Deletes an existing file

Function self_exe_path

fn self_exe_path() -> Option<Path>

Function set_args

fn set_args(new_args: ~[~str])

Function set_exit_status

fn set_exit_status(code: int)

Sets the process exit code

Sets the exit code returned by the process if all supervised tasks terminate successfully (without failing). If the current root task fails and is supervised by the scheduler then any user-specified exit status is ignored and the process exits with the default failure status

Function setenv

fn setenv(n: &str, v: &str)

Function tmpdir

fn tmpdir() -> Path

Returns the path to a temporary directory.

On Unix, returns the value of the 'TMPDIR' environment variable if it is set and non-empty and '/tmp' otherwise.

On Windows, returns the value of, in order, the 'TMP', 'TEMP', 'USERPROFILE' environment variable if any are set and not the empty string. Otherwise, tmpdir returns the path to the Windows directory.

Function waitpid

fn waitpid(pid: pid_t) -> c_int

Function walk_dir

fn walk_dir(p: &Path, f: &fn(&Path) -> bool)

Recursively walk a directory structure