|
Zephyr API Documentation
2.7.0-rc2
A Scalable Open Source RTOS
|
#include <kernel.h>
Data Fields | |
| unsigned char * | buffer |
| size_t | size |
| size_t | bytes_used |
| size_t | read_index |
| size_t | write_index |
| struct k_spinlock | lock |
| struct { | |
| _wait_q_t readers | |
| _wait_q_t writers | |
| } | wait_q |
| uint8_t | flags |
Pipe Structure
| unsigned char* k_pipe::buffer |
Pipe buffer: may be NULL
| uint8_t k_pipe::flags |
Wait queue Flags
| struct k_spinlock k_pipe::lock |
Synchronization lock
| size_t k_pipe::read_index |
Where in buffer to read from
| _wait_q_t k_pipe::readers |
Reader wait queue
| size_t k_pipe::size |
Buffer size
| struct { ... } k_pipe::wait_q |
| size_t k_pipe::write_index |
Where in buffer to write
| _wait_q_t k_pipe::writers |
Writer wait queue