+#include "stdio.h"
#include "glk.h"
static winid_t mainwin = NULL;
+void sayit(void)
+{
+ fprintf(stderr, "I'm the interrupt handler!\n");
+}
+
void glk_main(void)
{
/* Open the main window. */
return;
}
- char buffer[256];
+
+/* char buffer[256];
int i;
for(i = 0; i < 256; i++)
buffer[i] = (char)glk_char_to_upper(i);
- /*frefid_t f = glk_fileref_create_temp(fileusage_BinaryMode, 0);
+ frefid_t f = glk_fileref_create_temp(fileusage_BinaryMode, 0);
if(f)
- {*/
-
- char memorybuffer[100];
+ {
- strid_t s = glk_stream_open_memory(memorybuffer, 100,
+ strid_t s = glk_stream_open_file(f,
filemode_ReadWrite, 0);
glk_stream_set_current(s);
+
glk_put_char('X');
glk_put_string("Philip en Marijn zijn vet goed.\n");
glk_put_buffer(buffer, 256);
g_printerr("Read count: %d\nWrite count: %d\n", result.readcount,
result.writecount);
-/*
glk_fileref_destroy(f);
- }*/
+ }
+ */
+
+ glk_set_window(mainwin);
+
+ glk_set_interrupt_handler(&sayit);
+
+ gchar buffer[256];
+ event_t ev;
+ while(1) {
+ glk_put_string("prompt> ");
+ glk_request_line_event(mainwin, buffer, 256, 0);
+ glk_select(&ev);
+ switch(ev.type) {
+ default:
+ printf("Received event:\n");
+ printf("Type: %d\n", ev.type);
+ printf("Win: %d\n", glk_window_get_rock(ev.win));
+ printf("Var1: %d\n", ev.val1);
+ printf("Var2: %d\n", ev.val2);
+ }
+ }
/* Bye bye */
glk_exit();