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

# rtf\_send(2)

send data to an rt\_ipc real-time fifo

## NAME

rtf\_send - send data to an rt\_ipc real-time fifo

## SYNOPSIS

```
#define MODULE
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/version.h>
#include <linux/errno.h>
#include <linux/rtf.h>
#include rt_ipc.h
```

**int rtf\_send(unsigned int** *fifo***, void \****buf***, int** *count***, RTIME** *timeout***)**

## DESCRIPTION

**rtf\_send** sends data to the rt-fifo *fifo*. The data, of size *count*, is taken from *buf*. If *timeout* is RT\_NO\_WAIT, the function returns immediately even if *count* bytes cannot be sent.  If *timeout* is RT\_WAIT\_FOREVER, the function blocks until *count* bytes can be sent.  If *timeout* is any other value, it represents the time at which the function will return with a timeout after unsuccessfully waiting to send the data.  If **rtf\_send** cannot send the entire block, no data is sent.

The rt\_ipc RT-FIFO is a mechanism, implemented as a character device, to communicate between real-time tasks and ordinary Linux processes.  It is based on the Real-Time Linux RT-FIFO mechanism.  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

If the return value is greater than or equal to zero, it represents the number of bytes received.  This might be zero if the function timed out or RT\_NO\_WAIT was specified and less than *count* bytes could be sent.  On failure, a negative value is returned as described below.

## ERRORS

- **-ENODEV**

  *fifo* is not less than IPC\_RTF\_NO and RTF\_NO.

- **-EINVAL**

  *fifo* is not a valid fifo identifier.

## AUTHOR

Jerry Epplin \<JerryEpplin@worldnet.att.net\>

## SEE ALSO

[**rtf\_ipc\_create**(2)](/rtf_ipc_create/2.md), [**rtf\_ipc\_destroy**(2)](/rtf_ipc_destroy/2.md), [**rtf\_receive**(2)](/rtf_receive/2.md)
