# erl_global

### C LIBRARY

erl_global

### C LIBRARY SUMMARY

Access globally registered names

### DESCRIPTION

This module provides support for registering, looking up and unregistering names in the Erlang Global module. For more information, see the description of Global in the reference manual.

### EXPORTS

`char **erl_global_names(fd,count)`

Types:

`int fd;`
`int *count;`

Retrieve 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 will be 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.

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

This function 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 should be associated with `name`. This is the value that Global will return when processes request the location of `name`.

The function returns 0 on success, or -1 on failure.

`int erl_global_unregister(fd,name)`

Types:

`int fd;`
`const char *name;`

This function unregisters a name from Global.

`fd` is an open descriptor to an Erlang connection.

`name` is the name to unregister from Global.

The function returns 0 on success, or -1 on failure.

`ETERM *erl_global_whereis(fd,name,node)`

Types:

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

`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 given name, and node will be initialized to the nodename where `name` is found. On failure NULL will be returned and `node` will not be modified.

### AUTHORS

Gordon Beaton - support@erlang.ericsson.se

erl_interface 3.4
Copyright © 1991-2003 Ericsson Utvecklings AB