Tenok
A Linux-like Real-Time Operating System for Robotics and Internet of Things
pipe.h
Go to the documentation of this file.
1 
4 #ifndef __KERNEL_PIPE_H__
5 #define __KERNEL_PIPE_H__
6 
7 #include <stdio.h>
8 
9 #include <fs/fs.h>
10 #include <kernel/kfifo.h>
11 
12 struct pipe {
13  struct kfifo *fifo;
14  struct file file;
15  struct list_head r_wait_list;
16  struct list_head w_wait_list;
17 };
18 
19 int fifo_init(int fd,
20  struct file **files,
21  struct inode *file_inode,
22  struct pipe *pipe);
23 ssize_t fifo_read(struct file *filp, char *buf, size_t size, off_t offset);
24 ssize_t fifo_write(struct file *filp,
25  const char *buf,
26  size_t size,
27  off_t offset);
28 
29 #endif
Definition: fs.h:120
Definition: fs.h:82
Definition: kfifo.h:11
Definition: list.h:111
Definition: pipe.h:12