19962009 Ericsson AB. All Rights Reserved. The contents of this file are subject to the Erlang Public License, Version 1.1, (the "License"); you may not use this file except in compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. net_adm Claes Wikstrom 1 96-09-10 A
net_adm Various Erlang Net Administration Routines

This module contains various network utility functions.

dns_hostname(Host) -> {ok, Name} | {error, Host} Official name of a host Host = atom() | string() Name = string()

Returns the official name of Host, or {error, Host} if no such name is found. See also inet(3).

host_file() -> Hosts | {error, Reason} Read the .hosts.erlangfile Hosts = [Host]  Host = atom() Reason = term()

Reads the .hosts.erlang file, see the section Files below. Returns the hosts in this file as a list, or returns {error, Reason} if the file could not be read. See file(3) for possible values of Reason.

localhost() -> Name Name of the local host Name = string()

Returns the name of the local host. If Erlang was started with the -name command line flag, Name is the fully qualified name.

names() -> {ok, [{Name, Port}]} | {error, Reason} names(Host) -> {ok, [{Name, Port}]} | {error, Reason} Names of Erlang nodes at a host Name = string() Port = int() Reason = address | term()

Similar to epmd -names, see epmd(1). Host defaults to the local host. Returns the names and associated port numbers of the Erlang nodes that epmd at the specified host has registered.

Returns {error, address} if epmd is not running. See inet(3) for other possible values of Reason.

(arne@dunn)1> net_adm:names().
{ok,[{"arne",40262}]}
ping(Node) -> pong | pang Set up a connection to a node Node = node()

Tries to set up a connection to Node. Returns pang if it fails, or pong if it is successful.

world() -> [node()] world(Arg) -> [node()] Lookup and connect to all nodes at all hosts in .hosts.erlang Arg = silent | verbose

This function calls names(Host) for all hosts which are specified in the Erlang host file .hosts.erlang, collects the replies and then evaluates ping(Node) on all those nodes. Returns the list of all nodes that were, successfully pinged.

Arg defaults to silent. If Arg == verbose, the function writes information about which nodes it is pinging to stdout.

This function can be useful when a node is started, and the names of the other nodes in the network are not initially known.

Failure: {error, Reason} if host_file() returns {error, Reason}.

world_list(Hosts) -> [node()] world_list(Hosts, Arg) -> [node()] Lookup and connect to all nodes at specified hosts Hosts = [Host]  Host = atom() Arg = silent | verbose

As world/0,1, but the hosts are given as argument instead of being read from .hosts.erlang.

Files

The .hosts.erlang file consists of a number of host names written as Erlang terms. It is looked for in the current work directory, the user's home directory, and $OTP_ROOT (the root directory of Erlang/OTP), in that order.

The format of the .hosts.erlang file must be one host name per line. The host names must be within quotes as shown in the following example:

'super.eua.ericsson.se'.
'renat.eua.ericsson.se'.
'grouse.eua.ericsson.se'.
'gauffin1.eua.ericsson.se'.
^ (new line)