---
name: "mdex_del"
section: "3"
platform: "linux"
package: "liblibrecast-dev"
version: "0.9.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mdex_del"
---

# mdex\_del(3)

delete an entry from a multicast index

## NAME

mdex\_del - delete an entry from a multicast index

## LIBRARY

Librecast library (*liblibrecast*, *-llibrecast*)

## SYNOPSIS

```
#include <librecast/mdex.h>
```

**int mdex\_del(mdex\_t** *\*mdex***, unsigned char** *\*hash***, size\_t** *hashlen***);**

Compile and link with *-llibrecast*.

## DESCRIPTION

The **mdex\_del** function deletes an entry from the multicast index *mdex* using *hash* (of length *hashlen*) as the key. 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)](/mdex_put/3.md) and will delete 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.

## RETURN VALUE

**mdex\_put**() 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*.

## SEE ALSO

[**mdex\_init**(3)](/mdex_init/3.md), [**mdex\_free**(3)](/mdex_free/3.md), [**mdex\_get**(3)](/mdex_get/3.md), [**mdex\_put**(3)](/mdex_put/3.md), [**lc\_share**(3)](/lc_share/3.md)
