fb7eb8f7bc53814a376d897318bfa044315924b1
[rodin/chimara.git] / src / stream.h
1 #ifndef STREAM_H
2 #define STREAM_H
3
4 #include <gtk/gtk.h>
5 #include "glk.h"
6 #include "window.h"
7
8 enum StreamType
9 {
10         STREAM_TYPE_WINDOW,
11         STREAM_TYPE_MEMORY,
12         STREAM_TYPE_FILE,
13         STREAM_TYPE_UNICODE_MEMORY,
14         STREAM_TYPE_UNICODE_FILE,
15 };
16
17 struct glk_stream_struct
18 {
19         GList* stream_list;
20
21         glui32 rock;
22         glui32 file_mode;
23         glui32 read_count;
24         glui32 write_count;
25         enum StreamType stream_type;
26         winid_t window;
27         gchar *memory_buffer;
28         glui32 *memory_buffer_unicode;
29         glui32 buffer_len;
30 };
31
32
33 strid_t window_stream_new(winid_t window);
34
35 #endif