Implemented garglk_set_program_name(), garglk_set_program_info(), garglk_set_story_name()
[rodin/chimara.git] / libchimara / fileref.h
1 #ifndef FILEREF_H
2 #define FILEREF_H
3
4 #include <gtk/gtk.h>
5 #include "glk.h"
6 #include "gi_dispa.h"
7
8 /**
9  * glk_fileref_struct:
10  *
11  * This is an opaque structure (see <link linkend="chimara-Opaque-Structures">
12  * Opaque Structures</link> and should not be accessed directly.
13  */
14 struct glk_fileref_struct
15 {
16         /*< private >*/
17         glui32 magic, rock;
18         gidispatch_rock_t disprock;
19         /* Pointer to the list node in the global fileref list that contains this
20         fileref */
21         GList* fileref_list;
22         /* Fileref parameters */
23         gchar *filename; /* Always stored in the default filename encoding, not
24                 UTF8 or Latin-1 */
25         glui32 orig_filemode; /* Used to check if the user gets a fileref in read
26                 mode and then tries to open it in write mode */
27         glui32 usage;
28 };
29
30 G_GNUC_INTERNAL frefid_t fileref_new(gchar *filename, glui32 rock, glui32 usage, glui32 orig_filemode);
31 #endif