Provided by: liblibrecast-dev_0.8.0-1.1build1_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)