X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fstream.h;h=33497ceb2d11f36b17cc1afedde5b59cc66fe7e4;hb=refs%2Fheads%2Fmaster;hp=87b8b7a90bdc64fdf1ef4cf66adbd2740092e62c;hpb=1f983431c87bfc86307c790f519409672f2d0e5a;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/stream.h b/libchimara/stream.h index 87b8b7a..33497ce 100644 --- a/libchimara/stream.h +++ b/libchimara/stream.h @@ -12,7 +12,8 @@ enum StreamType { STREAM_TYPE_WINDOW, STREAM_TYPE_MEMORY, - STREAM_TYPE_FILE + STREAM_TYPE_FILE, + STREAM_TYPE_RESOURCE }; /** @@ -36,26 +37,30 @@ struct glk_stream_struct enum StreamType type; /* Specific to window stream: the window this stream is connected to */ winid_t window; - /* For memory and file streams */ + /* For memory, file, and resource streams */ gboolean unicode; - /* Specific to memory streams */ - gchar *buffer; + /* For file and resource streams */ + gboolean binary; + /* For memory and resource streams */ + char *buffer; glui32 *ubuffer; glui32 mark; + glui32 endmark; glui32 buflen; + /* Specific to memory streams */ gidispatch_rock_t buffer_rock; /* Specific to file streams */ FILE *file_pointer; - gboolean binary; gchar *filename; /* Displayable filename in UTF-8 for error handling */ + glui32 lastop; /* 0, filemode_Write, or filemode_Read */ gchar *style; /* Name of the current style */ + gchar *glk_style; /* Name of the current glk style override */ gboolean hyperlink_mode; /* When turned on, text written to the stream will be a hyperlink */ }; G_GNUC_INTERNAL strid_t file_stream_new(frefid_t fileref, glui32 fmode, glui32 rock, gboolean unicode); G_GNUC_INTERNAL strid_t stream_new_common(glui32 rock); G_GNUC_INTERNAL void stream_close_common(strid_t str, stream_result_t *result); -G_GNUC_INTERNAL void trash_stream_thread_independent(ChimaraGlkPrivate *glk_data, strid_t str); #endif