RTF_PUT(3)

NAME
rtf_put - write data to a real-time fifo

SYNOPSIS
#include <rtl_fifo.h>

int rtf_put(unsigned int fifo, char * buf, int count);

DESCRIPTION
rtf_put writes a block of data to a real-time fifo (RT-FIFO) previously created with a call to rtf_create(3). fifo is the ID with which the RT-FIFO was created. buf is the block of data to be written, while count is the size of the block in bytes. This mechanism is available only to real-time tasks; Linux processes use a write (2) to the corresponding fifo device to enqueue data to a fifo. Similarly, Linux processes use read (2) or similar functions to read the data previously written via rtf_put by a real-time task.

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), write(2), and select(2).

RETURN VALUE
On success, size 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.

-ENOSPC
    insufficient space is available in the RT-FIFO for count bytes.

SEE ALSO
read(2), rtf_create(3), rtf_create_handler(3), rtf_destroy(3), rtf_get(3), write(2)