Pipes.
More...
Pipes.
Pipes are exposed in the /dev/pipe directory. Pipes are unidirectional communication channels that can be used for inter-process communication (IPC).
Creating Pipes
Pipes are created using the /dev/pipe/new file. Opening this file using open() will return one file descriptor that can be used for both reading and writing. To create a pipe with separate file descriptors for reading and writing, use open2() with the /dev/pipe/new file.
Using Pipes
Pipes can be read from and written to using the expected read() and write() system calls. Pipes are blocking and pollable, following expected POSIX semantics.
◆ pipe_open()
◆ pipe_open2()
◆ pipe_close()
◆ pipe_read()
◆ pipe_write()
◆ pipe_poll()
◆ pipe_init()
◆ pipe_deinit()
◆ pipeDir
◆ newFile
◆ fileOps
Initial value:= {
}
static uint64_t pipe_open(file_t *file)
static void pipe_close(file_t *file)
static uint64_t pipe_read(file_t *file, void *buffer, size_t count, size_t *offset)
static uint64_t pipe_write(file_t *file, const void *buffer, size_t count, size_t *offset)
static uint64_t pipe_open2(file_t *files[2])
static wait_queue_t * pipe_poll(file_t *file, poll_events_t *revents)
Definition at line 244 of file pipe.c.