alcove_drv (alcove v0.38.0) View Source

Link to this section Summary

Link to this section Types

Specs

ref() :: pid().

Link to this section Functions

Link to this function

call(Drv, Pids, Command, Argv, Timeout)

View Source

Specs

call(ref(), [alcove:pid_t()], atom(), list(), timeout()) -> term().
Link to this function

code_change(OldVsn, State, Extra)

View Source
Link to this function

event(Drv, Pids, Timeout)

View Source

Specs

event(ref(), [alcove:pid_t()], timeout()) -> term().

Specs

getopts(proplists:proplist()) -> [string() | [string()]].
Link to this function

handle_call(_, From, State)

View Source
Link to this function

handle_info(Info, State)

View Source

Specs

port(ref()) -> port().

Specs

progname() -> string().

Specs

raw(ref()) -> ok.

Specs

start() -> ignore | {error, _} | {ok, pid()}.
Create the alcove port using the default options

Specs

start(proplists:proplist()) -> ignore | {error, _} | {ok, pid()}.

Create the alcove port

See start_link/1 for options.

Specs

start(pid(), proplists:proplist()) -> ignore | {error, _} | {ok, pid()}.

Specs

start_link() -> ignore | {error, _} | {ok, pid()}.
Create and link against the alcove port using the default options

Specs

start_link(proplists:proplist()) -> ignore | {error, _} | {ok, pid()}.

Create and link against the alcove port

Create the alcove port.

* stderr_to_stdout

The behaviour of stderr from the port differs from child processes. Standard error from the port goes to the console while stderr from child processes is tagged and sent to the controlling Erlang process.

This option merges stderr and stdout from the port. Since stdout is used for communicating with the Erlang side and is tagged with a header, this will likely mess things up.

Only use this option if you want to call execvp/3,4 in the port.

* {env, [{Key,Val}]}

Set the environment for the port.

* {exec, Exec}

Default: ""

Sets a command to run the port, such as sudo.

* {progname, Path}

Default: priv/alcove

Sets the path to the alcove executable.

* {ctldir, Path}

Default: priv

Sets the path to the alcove control directory. The directory must be writable by the alcove user.

For the remaining options, see alcove:getopt/2,3.
Link to this function

start_link(Owner, Options)

View Source

Specs

start_link(pid(), proplists:proplist()) -> ignore | {error, _} | {ok, pid()}.
Link to this function

stderr(Drv, Pids, Timeout)

View Source

Specs

stderr(ref(), [alcove:pid_t()], timeout()) ->
          false | binary() | {alcove_error, any()} | {alcove_pipe, integer()}.

Specs

stdin(ref(), [alcove:pid_t()], iodata()) -> ok | {alcove_error, badarg}.
Link to this function

stdout(Drv, Pids, Timeout)

View Source

Specs

stdout(ref(), [alcove:pid_t()], timeout()) ->
          false | binary() | {alcove_error, any()} | {alcove_pipe, integer()}.

Specs

stop(ref()) -> ok.
Link to this function

terminate(Reason, State)

View Source