Provided by: erlang-manpages_22.2.7+dfsg-1ubuntu0.2_all bug

NAME

       erl_global - Access globally registered names.

DESCRIPTION

   Note:
       The support for VxWorks is deprecated as of OTP 22, and will be removed in OTP 23.

   Note:
       The  old legacy erl_interface library (functions with prefix erl_) is deprecated as of OTP
       22, and will be removed in OTP 23. This does not apply to the ei library.  Reasonably  new
       gcc  compilers will issue deprecation warnings. In order to disable these warnings, define
       the macro EI_NO_DEPR_WARN.

       This module provides support for registering, looking up, and unregistering names  in  the
       global module. For more information, see kernel:global.

       Notice  that  the functions below perform an RPC using an open file descriptor provided by
       the caller. This file descriptor must not be used for  other  traffic  during  the  global
       operation, as the function can then receive unexpected data and fail.

EXPORTS

       char **erl_global_names(fd,count)

              Types:

                 int fd;
                 int *count;

              Retrieves a list of all known global names.

                * fd is an open descriptor to an Erlang connection.

                * count is the address of an integer, or NULL. If count is not NULL, it is set by
                  the function to the number of names found.

              On success, the function returns an array of  strings,  each  containing  a  single
              registered  name,  and  sets  count  to  the  number  of  names found. The array is
              terminated by a single NULL pointer. On failure,  the  function  returns  NULL  and
              count is not modified.

          Note:
              It  is  the  caller's  responsibility  to  free  the  array afterwards. It has been
              allocated by the function with a single call to malloc(), so a single free() is all
              that is necessary.

       int erl_global_register(fd,name,pid)

              Types:

                 int fd;
                 const char *name;
                 ETERM *pid;

              Registers a name in global.

                * fd is an open descriptor to an Erlang connection.

                * name is the name to register in global.

                * pid  is  the  pid that is to be associated with name. This value is returned by
                  global when processes request the location of name.

              Returns 0 on success, otherwise -1.

       int erl_global_unregister(fd,name)

              Types:

                 int fd;
                 const char *name;

              Unregisters a name from global.

                * fd is an open descriptor to an Erlang connection.

                * name is the name to unregister from global.

              Returns 0 on success, otherwise -1.

       ETERM *erl_global_whereis(fd,name,node)

              Types:

                 int fd;
                 const char *name;
                 char *node;

              Looks up a name in global.

                * fd is an open descriptor to an Erlang connection.

                * name is the name that is to be looked up in global.

              If node is not NULL, it is a pointer to a buffer where the function can fill in the
              name  of the node where name is found. node can be passed directly to erl_connect()
              if necessary.

              On success, the function returns an  Erlang  pid  containing  the  address  of  the
              specified  name,  and the node is initialized to the node name where name is found.
              On failure, NULL is returned and node is not modified.