5 #include "chimara-glk-private.h"
22 * This is an opaque structure (see <link linkend="chimara-Opaque-Structures">
23 * Opaque Structures</link> and should not be accessed directly.
25 struct glk_stream_struct
29 gidispatch_rock_t disprock;
30 /* Pointer to the list node in the global stream list that contains this
33 /* Stream parameters */
38 /* Specific to window stream: the window this stream is connected to */
40 /* For memory, file, and resource streams */
42 /* For file and resource streams */
44 /* For memory and resource streams */
50 /* Specific to memory streams */
51 gidispatch_rock_t buffer_rock;
52 /* Specific to file streams */
54 gchar *filename; /* Displayable filename in UTF-8 for error handling */
55 glui32 lastop; /* 0, filemode_Write, or filemode_Read */
57 gchar *style; /* Name of the current style */
58 gchar *glk_style; /* Name of the current glk style override */
59 gboolean hyperlink_mode; /* When turned on, text written to the stream will be a hyperlink */
62 G_GNUC_INTERNAL strid_t file_stream_new(frefid_t fileref, glui32 fmode, glui32 rock, gboolean unicode);
63 G_GNUC_INTERNAL strid_t stream_new_common(glui32 rock);
64 G_GNUC_INTERNAL void stream_close_common(strid_t str, stream_result_t *result);