axle OS
x86_32 UNIX-like hobby OS
std_stream.h
1 #ifndef STD_STREAM_H
2 #define STD_STREAM_H
3 
4 #include <std/circular_buffer.h>
5 
6 typedef struct std_stream {
7  circular_buffer* buf;
8 } std_stream;
9 
10 #include <kernel/util/multitasking/tasks/task.h>
11 
12 std_stream* std_stream_create();
13 void std_stream_destroy(task_t* task);
14 
15 int std_stream_push(task_t* task, char* buf, int len);
16 int std_stream_pushc(task_t* task, char ch);
17 
18 int std_stream_pop(task_t* task, char* buf, int len);
19 char std_stream_popc(task_t* task);
20 
21 #endif
Definition: circular_buffer.h:7
Definition: std_stream.h:6
Definition: task.h:30