初始提交
This commit is contained in:
		
							
								
								
									
										44
									
								
								Project/Src/rt-thread/components/drivers/include/ipc/pipe.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								Project/Src/rt-thread/components/drivers/include/ipc/pipe.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006-2018, RT-Thread Development Team | ||||
|  * | ||||
|  * SPDX-License-Identifier: Apache-2.0 | ||||
|  * | ||||
|  * Change Logs: | ||||
|  * Date           Author       Notes | ||||
|  */ | ||||
| #ifndef PIPE_H__ | ||||
| #define PIPE_H__ | ||||
|  | ||||
| /** | ||||
|  * Pipe Device | ||||
|  */ | ||||
| #include <rtthread.h> | ||||
| #include <rtdevice.h> | ||||
|  | ||||
| #ifndef RT_PIPE_BUFSZ | ||||
| #define PIPE_BUFSZ    512 | ||||
| #else | ||||
| #define PIPE_BUFSZ    RT_PIPE_BUFSZ | ||||
| #endif | ||||
|  | ||||
| struct rt_pipe_device | ||||
| { | ||||
|     struct rt_device parent; | ||||
|  | ||||
|     /* ring buffer in pipe device */ | ||||
|     struct rt_ringbuffer *fifo; | ||||
|     rt_uint16_t bufsz; | ||||
|  | ||||
|     rt_uint8_t readers; | ||||
|     rt_uint8_t writers; | ||||
|  | ||||
|     rt_wqueue_t reader_queue; | ||||
|     rt_wqueue_t writer_queue; | ||||
|  | ||||
|     struct rt_mutex lock; | ||||
| }; | ||||
| typedef struct rt_pipe_device rt_pipe_t; | ||||
|  | ||||
| rt_pipe_t *rt_pipe_create(const char *name, int bufsz); | ||||
| int rt_pipe_delete(const char *name); | ||||
| #endif /* PIPE_H__ */ | ||||
		Reference in New Issue
	
	Block a user