1 static GValue*
 2 read_contents (GTask *self, gpointer user_data)
 3 {
 4   const char *filename = user_data;
 5   // ...
 6   return NULL;
 7 }
 8
 9 int
10 main (int argc, char *argv[])
11 {
12   GTask *task = g_task_new (read_contents, "/etc/passwd", NULL);
13   // ...
14   return 0;
15 }