Chapter 6. FIFO Buffer

Table of Contents

kfifo interface

kfifo interface

DECLARE_KFIFO — macro to declare a kfifo and the associated buffer
INIT_KFIFO — Initialize a kfifo declared by DECLARE_KFIFO
DEFINE_KFIFO — macro to define and initialize a kfifo
kfifo_initialized — Check if kfifo is initialized.
kfifo_reset — removes the entire FIFO contents
kfifo_reset_out — skip FIFO contents
kfifo_size — returns the size of the fifo in bytes
kfifo_len — returns the number of used bytes in the FIFO
kfifo_is_empty — returns true if the fifo is empty
kfifo_is_full — returns true if the fifo is full
kfifo_avail — returns the number of bytes available in the FIFO
kfifo_in_locked — puts some data into the FIFO using a spinlock for locking
kfifo_out_locked — gets some data from the FIFO using a spinlock for locking
kfifo_in_rec — puts some record data into the FIFO
kfifo_out_rec — gets some record data from the FIFO
kfifo_from_user_rec — puts some data from user space into the FIFO
kfifo_to_user_rec — gets data from the FIFO and write it to user space
kfifo_peek_rec — gets the size of the next FIFO record data
kfifo_skip_rec — skip the next fifo out record
kfifo_avail_rec — returns the number of bytes available in a record FIFO
kfifo_init — initialize a FIFO using a preallocated buffer
kfifo_alloc — allocates a new FIFO internal buffer
kfifo_free — frees the FIFO internal buffer
kfifo_skip — skip output data
kfifo_in — puts some data into the FIFO
kfifo_out — gets some data from the FIFO
kfifo_out_peek — copy some data from the FIFO, but do not remove it
kfifo_from_user — puts some data from user space into the FIFO
kfifo_to_user — gets data from the FIFO and write it to user space