alcove_drv (alcove v0.38.0) View Source
Link to this section Summary
Functions
Create the alcove port
Create and link against the alcove port
Link to this section Types
Specs
ref() :: pid().
Link to this section Functions
Specs
call(ref(), [alcove:pid_t()], atom(), list(), timeout()) -> term().
Specs
event(ref(), [alcove:pid_t()], timeout()) -> term().
Specs
getopts(proplists:proplist()) -> [string() | [string()]].
Specs
port(ref()) -> port().
Specs
progname() -> string().
Specs
raw(ref()) -> ok.
Specs
start() -> ignore | {error, _} | {ok, pid()}.
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()}.
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.Specs
start_link(pid(), proplists:proplist()) -> ignore | {error, _} | {ok, pid()}.
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}.
Specs
stdout(ref(), [alcove:pid_t()], timeout()) -> false | binary() | {alcove_error, any()} | {alcove_pipe, integer()}.
Specs
stop(ref()) -> ok.