---
name: "rtf_destroy"
section: "3"
platform: "linux"
package: "rtlinux"
version: "2.0rel-1"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/rtf_destroy/3"
---

# rtf\_destroy(3)

remove a real-time fifo created with rtf\_create(3)

## NAME

rtf\_destroy - remove a real-time fifo created with [rtf\_create(3)](/rtf_create/3.md)

## SYNOPSIS

```
#include <rtl_fifo.h>
```

**int rtf\_destroy(unsigned int** *fifo***);**

## DESCRIPTION

**rtf\_destroy** removes a real-time fifo (RT-FIFO) previously created with **[rtf\_create(3)](/rtf_create/3.md).** *fifo* is then available for reuse by another call to **[rtf\_create(3)](/rtf_create/3.md).**

The RT-FIFO is a mechanism, implemented as a character device, to communicate between real-time tasks and ordinary Linux processes.  The rtf\_\* functions are used by the real-time tasks; Linux processes use standard character device access functions such as **[read(2)](/read/2.md)**, **[write(2)](/write/2.md)**, and **[select(2)](/select/2.md)**.

## RETURN VALUE

On success, 0 is returned.  On failure, -1 is returned, and *errno* is set as described below.

## ERRORS

- **-ENODEV**

  *fifo* is greater than or equal to RTF\_NO.

- **-EINVAL**

  *fifo* is not a valid RT-FIFO identifier.

## NOTES

This function can only be called in the Linux kernel mode.

## SEE ALSO

[**rtf\_create**(3)](/rtf_create/3.md), [**rtf\_create\_handler**(3)](/rtf_create_handler/3.md), [**rtf\_get**(3)](/rtf_get/3.md), [**rtf\_put**(3)](/rtf_put/3.md)
