erl_epmd(3)



erl_epmd(3erl)             Erlang Module Definition             erl_epmd(3erl)

NAME
       erl_epmd -
           Erlang interface towards epmd

DESCRIPTION
       This  module  communicates with the EPMD daemon, see epmd. To implement
       your own epmd module please see ERTS User's Guide: How to Implement  an
       Alternative Node Discovery for Erlang Distribution

EXPORTS
       start_link() -> {ok, pid()} | ignore | {error, term()}

              This  function  is invoked as this module is added as a child of
              the erl_distribution supervisor.

       register_node(Name, Port) -> Result

       register_node(Name, Port, Driver) -> Result

              Types:

                 Name = string()
                 Port = integer() >= 0
                 Driver = inet_tcp | inet6_tcp | inet | inet6
                 Creation = integer() >= 0 | -1
                 Result =  {ok,  Creation}  |  {error,  already_registered}  |
                 term()

              Registers  the  node  with epmd and tells epmd what port will be
              used for the current node. It returns a  creation  number.  This
              number  is incremented on each register to help with identifying
              if a node is reconnecting to epmd.

       port_please(Name, Host) -> {ok, Port, Version} | noport

       port_please(Name, Host, Timeout) -> {port, Port, Version} | noport

              Types:

                 Name = atom() | string()
                 Host = atom() | string() | inet:ip_address()
                 Timeout = integer() >= 0 | infinity
                 Port = Version = integer() >= 0

              Requests the distribution port for the given node of an EPMD in-
              stance.  Together with the port it returns a distribution proto-
              col version which has been 5 since Erlang/OTP R6.

       listen_port_please(Name, Host) -> {ok, Port}

              Types:

                 Name = atom()
                 Host = string() | inet:ip_address()
                 Port = integer() >= 0

              Called by the distribution module to get which  port  the  local
              node should listen to when accepting new distribution requests.

       address_please(Name, Host, AddressFamily) ->
                         Success | {error, term()}

              Types:

                 Name = string()
                 Host = string() | inet:ip_address()
                 AddressFamily = inet | inet6
                 Port = Version = integer() >= 0
                 Success =
                     {ok, inet:ip_address()} |
                     {ok, inet:ip_address(), Port, Version}

              Called  by the distribution module to resolves the Host to an IP
              address of a remote node.

              As an optimization this function may also return  the  port  and
              version  of  the  remote  node. If port and version are returned
              port_please/3 will not be called.

       names(Host) -> {ok, [{Name, Port}]} | {error, Reason}

              Types:

                 Host = atom() | string() | inet:ip_address()
                 Name = string()
                 Port = integer() >= 0
                 Reason = address | file:posix()

              Called by net_adm:names/0. Host defaults to the  localhost.  Re-
              turns  the names and associated port numbers of the Erlang nodes
              that epmd registered at the specified host. Returns {error,  ad-
              dress} if epmd is not operational.

              Example:

              (arne@dunn)1> erl_epmd:names(localhost).
              {ok,[{"arne",40262}]}

Ericsson AB                       kernel 7.0                    erl_epmd(3erl)

Man(1) output converted with man2html
list of all man pages