flux_aux_set(3)¶
SYNOPSIS¶
#include <flux/core.h>
typedef void (*flux_free_f)(void *arg);
void *flux_aux_get (flux_t *h, const char *name);
int flux_aux_set (flux_t *h, const char *name,
void *aux, flux_free_f destroy);
DESCRIPTION¶
flux_aux_set()
attaches application-specific data
to the parent object h. It stores data aux by key name,
with optional destructor destroy. The destructor, if non-NULL,
is called when the parent object is destroyed, or when
key is overwritten by a new value. If aux is NULL,
the destructor for a previous value, if any is called,
but no new value is stored. If name is NULL,
aux is stored anonymously.
flux_aux_get()
retrieves application-specific data
by name. If the data was stored anonymously, it
cannot be retrieved. Note that flux_aux_get()
does not scale to a
large number of items, and flux module handles may persist for a long
time.
Names beginning with "flux::" are reserved for internal use.
RETURN VALUE¶
flux_aux_get()
returns data on success, or NULL on failure, with errno set.
flux_aux_set()
returns 0 on success, or -1 on failure, with errno set.
ERRORS¶
- EINVAL
Some arguments were invalid.
- ENOMEM
Out of memory.
- ENOENT
flux_aux_get()
could not find an entry for key.