oracular (3) mdex_getalias.3.gz

Provided by: liblibrecast-dev_0.8.0-2_amd64 bug

NAME

       mdex_get - retrieve an entry from a multicast index

LIBRARY

       Librecast library (liblibrecast, -llibrecast)

SYNOPSIS

       #include <librecast/mdex.h>

       int mdex_get(mdex_t *mdex, unsigned char *hash, size_t hashlen, mdex_entry_t *entry);
       int mdex_getalias(mdex_t *mdex, const char *path, mdex_entry_t *entry);

       Compile and link with -llibrecast.

DESCRIPTION

       The  mdex_get function retrieves an entry from the multicast index mdex using hash (of length hashlen) as
       the key, and returns a copy of the data in entry if provided.  If entry is NULL, the return value can  be
       used to check if an entry exists in the index without retrieving it.

       If no matching entry is found in the index, -1 is returned and errno is set to ENOENT.

       hashlen can be shorter than the full length of the hash stored with mdex_put(3) and will return the first
       entry matching the truncated hash.  This allows us to store the full 32 byte hash in the index, but still
       match against the truncated hash derived from, say, the 14 bytes of an IPv6 multicast group address.

       The  mdex_getalias()  function  is  a  wrapper which calls mdex_get() with the hash of the NUL-terminated
       string path, returning the result.

RETURN VALUE

       mdex_get() returns zero on success.  On error, -1 is returned, and errno is set to indicate the error.

ERRORS

       EINVAL Invalid argument. Both mdex and hash are required (not NULL), and hashlen > 0.

       ENOENT No entry found matching hash.

       ELOOP  Infinite loop. Alias points to itself.

SEE ALSO

       mdex_init(3), mdex_free(3), mdex_put(3), mdex_del(3), lc_share(3)