#define STREAM_H
#include <gtk/gtk.h>
+#include "chimara-glk-private.h"
#include "glk.h"
#include "gi_dispa.h"
#include "window.h"
{
STREAM_TYPE_WINDOW,
STREAM_TYPE_MEMORY,
- STREAM_TYPE_FILE
+ STREAM_TYPE_FILE,
+ STREAM_TYPE_RESOURCE
};
/**
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);