X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fstream.h;h=33497ceb2d11f36b17cc1afedde5b59cc66fe7e4;hb=refs%2Fheads%2Fgtk3;hp=1e5a720b141469fa54c46b654bdaeec276af7793;hpb=f48bef46bd39ddac5067af1a4ac9b977b6158d07;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/stream.h b/libchimara/stream.h index 1e5a720..33497ce 100644 --- a/libchimara/stream.h +++ b/libchimara/stream.h @@ -2,6 +2,7 @@ #define STREAM_H #include +#include "chimara-glk-private.h" #include "glk.h" #include "gi_dispa.h" #include "window.h" @@ -11,7 +12,8 @@ enum StreamType { STREAM_TYPE_WINDOW, STREAM_TYPE_MEMORY, - STREAM_TYPE_FILE + STREAM_TYPE_FILE, + STREAM_TYPE_RESOURCE }; /** @@ -35,21 +37,26 @@ 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 */ - gboolean hyperlink_mode; /* WHen turned on, text written to the stream will be a hyperlink */ + 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);