# net_adm

### MODULE

net_adm

### MODULE SUMMARY

Various Erlang Net Administration Routines

### DESCRIPTION

This module contains various network utility functions.

### EXPORTS

`dns_hostname(Host) -> {ok, Name} | {error, Host}`

Types:

`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}`

Types:

`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`

Types:

`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}`

Types:

`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`

Types:

`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()]`

Types:

`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 found nodes, regardless of the return value of `ping(Node)`.

`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()]`

Types:

`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)

### AUTHORS

Claes Wikstrom - support@erlang.ericsson.se

kernel 2.11
Copyright © 1991-2006 Ericsson AB