X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fstream.h;h=33497ceb2d11f36b17cc1afedde5b59cc66fe7e4;hb=59f3bc1e4f21377c362c1f497fb225711127d7a0;hp=193da479a174d543eaf4b62e1ed2402c4aea09b5;hpb=68d8cb11ff2e3e6978cc01947c66312bacd52a99;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/stream.h b/libchimara/stream.h index 193da47..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,20 +37,25 @@ 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 */ };