X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=src%2Fstream.h;h=04134f5807f307b592adc5779eaca1208743bc00;hb=352f99218b90bc9a3e5386afc3f12c36c3ebec60;hp=3fd4fcba07717fee0ec1b74f890d4cb0a31811a2;hpb=0b8b3b9c20937f7b522274ad83739816d8ef21e3;p=rodin%2Fchimara.git diff --git a/src/stream.h b/src/stream.h index 3fd4fcb..04134f5 100644 --- a/src/stream.h +++ b/src/stream.h @@ -9,9 +9,7 @@ enum StreamType { STREAM_TYPE_WINDOW, STREAM_TYPE_MEMORY, - STREAM_TYPE_FILE, - STREAM_TYPE_UNICODE_MEMORY, - STREAM_TYPE_UNICODE_FILE + STREAM_TYPE_FILE }; struct glk_stream_struct @@ -24,15 +22,22 @@ struct glk_stream_struct glui32 file_mode; glui32 read_count; glui32 write_count; - enum StreamType stream_type; + enum StreamType type; /* Specific to window stream: the window this stream is connected to */ winid_t window; + /* For memory and file streams */ + gboolean unicode; /* Specific to memory streams */ - gchar *memory_buffer; - glui32 *memory_buffer_unicode; - glui32 buffer_len; + gchar *buffer; + glui32 *ubuffer; + glui32 mark; + glui32 buflen; + /* Specific to file streams */ + FILE *file_pointer; + gboolean binary; + gchar *filename; /* Displayable filename in UTF-8 for error handling */ }; strid_t window_stream_new(winid_t window); - +void stream_close_common(strid_t str, stream_result_t *result); #endif