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)