erl_prim_loader (erts v12.0.3)
This module is used to load all Erlang modules into the system. The start script is also fetched with this low-level loader.
erl_prim_loader
knows about the environment and how to fetch modules.
Command-line flag -loader Loader
can be used to choose the method used by erl_prim_loader
. Two Loader
methods are supported by the Erlang runtime system: efile
and inet
.
Command-Line Flags
The erl_prim_loader
module interprets the following command-line flags:
-loader Loader
Specifies the name of the loader used by
erl_prim_loader
.Loader
can beefile
(use the local file system) orinet
(load using theboot_server
on another Erlang node).If flag
-loader
is omitted, it defaults toefile
.-loader_debug
Makes the
efile
loader write some debug information, such as the reason for failures, while it handles files.-hosts Hosts
Specifies which other Erlang nodes the
inet
loader can use. This flag is mandatory if flag-loader inet
is present. On each host, there must be on Erlang node with theerl_boot_server(3)
, which handles the load requests.Hosts
is a list of IP addresses (hostnames are not acceptable).-setcookie Cookie
Specifies the cookie of the Erlang runtime system. This flag is mandatory if flag
-loader inet
is present.
See Also
Link to this section Summary
Functions
Fetches a file using the low-level loader. Filename
is either an absolute filename or only the name of the file, for example, "lists.beam"
. If an internal path is set to the loader, this path is used to find the file. FullName
is the complete name of the fetched file. Bin
is the contents of the file as a binary.
Gets the path set in the loader. The path is set by the init(3)
process according to information found in the start script.
Lists all the files in a directory. Returns {ok, Filenames}
if successful, otherwise error
. Filenames
is a list of the names of all the files in the directory. The names are not sorted.
Retrieves information about a file. Returns {ok, FileInfo}
if successful, otherwise error
. FileInfo
is a record file_info
, defined in the Kernel include file file.hrl
. Include the following directive in the module from which the function is called
Works like read_file_info/1
except that if Filename
is a symbolic link, information about the link is returned in the file_info
record and the type
field of the record is set to symlink
.
Sets the path of the loader if init(3)
interprets a path
command in the start script.
Link to this section Functions
get_file/1
Specs
get_file(Filename) -> {ok, Bin, FullName} | error when Filename :: atom() | string(), Bin :: binary(), FullName :: string().
Fetches a file using the low-level loader. Filename
is either an absolute filename or only the name of the file, for example, "lists.beam"
. If an internal path is set to the loader, this path is used to find the file. FullName
is the complete name of the fetched file. Bin
is the contents of the file as a binary.
Filename
can also be a file in an archive, for example, $OTPROOT/lib/
mnesia-4.4.7.ez/mnesia-4.4.7/ebin/
mnesia.beam
. For information about archive files, see code(3)
.
get_path/0
Specs
get_path() -> {ok, Path} when Path :: [Dir :: string()].
Gets the path set in the loader. The path is set by the init(3)
process according to information found in the start script.
list_dir/1
Specs
list_dir(Dir) -> {ok, Filenames} | error when Dir :: string(), Filenames :: [Filename :: string()].
Lists all the files in a directory. Returns {ok, Filenames}
if successful, otherwise error
. Filenames
is a list of the names of all the files in the directory. The names are not sorted.
Dir
can also be a directory in an archive, for example, $OTPROOT/lib/
mnesia-4.4.7.ez/mnesia-4.4.7/ebin
. For information about archive files, see code(3)
.
read_file_info/1
Specs
read_file_info(Filename) -> {ok, FileInfo} | error when Filename :: string(), FileInfo :: file:file_info().
Retrieves information about a file. Returns {ok, FileInfo}
if successful, otherwise error
. FileInfo
is a record file_info
, defined in the Kernel include file file.hrl
. Include the following directive in the module from which the function is called:
-include_lib("kernel/include/file.hrl").
For more information about the record file_info
, see file(3)
.
Filename
can also be a file in an archive, for example, $OTPROOT/lib/
mnesia-4.4.7.ez/mnesia-4.4.7/ebin/
mnesia
. For information about archive files, see code(3)
.
Specs
read_link_info(Filename) -> {ok, FileInfo} | error when Filename :: string(), FileInfo :: file:file_info().
Works like read_file_info/1
except that if Filename
is a symbolic link, information about the link is returned in the file_info
record and the type
field of the record is set to symlink
.
If Filename
is not a symbolic link, this function returns exactly the same result as read_file_info/1
. On platforms that do not support symbolic links, this function is always equivalent to read_file_info/1
.
set_path/1
Specs
set_path(Path) -> ok when Path :: [Dir :: string()].
Sets the path of the loader if init(3)
interprets a path
command in the start script.