struct GsfInput; struct GsfInfile; struct GsfOutput; struct GsfOutfile; enum GsfOff_t;
struct GsfInput { GObject g_object; size_t size, cur_offset; char *name; GsfInfile *container; };
struct GsfInfile { GsfInput parent; };
struct GsfOutput { GObject g_object; size_t cur_size, cur_offset; char *name; GsfOutput *wrapped_by; GsfOutfile *container; gboolean is_closed; };
struct GsfOutfile { GsfOutput parent; };
typedef enum { GSF_SEEK_SET, GSF_SEEK_CUR, GSF_SEEK_END } GsfOff_t;