-static struct _PDCLIB_file_t _PDCLIB_serr = { 2, _PDCLIB_serr_buffer, BUFSIZ, 0, 0, { 0, 0 }, 0, _PDCLIB_serr_ungetbuf, _IONBF | _PDCLIB_FWRITE | _PDCLIB_STATIC, NULL, NULL };
-static struct _PDCLIB_file_t _PDCLIB_sout = { 1, _PDCLIB_sout_buffer, BUFSIZ, 0, 0, { 0, 0 }, 0, _PDCLIB_sout_ungetbuf, _IOLBF | _PDCLIB_FWRITE | _PDCLIB_STATIC, NULL, &_PDCLIB_serr };
-static struct _PDCLIB_file_t _PDCLIB_sin = { 0, _PDCLIB_sin_buffer, BUFSIZ, 0, 0, { 0, 0 }, 0, _PDCLIB_sin_ungetbuf, _IOLBF | _PDCLIB_FREAD | _PDCLIB_STATIC, NULL, &_PDCLIB_sout };
+extern _PDCLIB_fileops_t _PDCLIB_fileops;
+
+static struct _PDCLIB_file_t _PDCLIB_serr = {
+ .ops = &_PDCLIB_fileops,
+ .handle = { .sval = 2 },
+ .buffer = _PDCLIB_serr_buffer,
+ .bufsize = BUFSIZ,
+ .bufidx = 0,
+ .bufend = 0,
+ .pos = { 0, 0 },
+ .ungetidx = 0,
+ .ungetbuf = _PDCLIB_serr_ungetbuf,
+ .status = _IONBF | _PDCLIB_FWRITE | _PDCLIB_STATIC,
+ .filename = NULL,
+ .next = NULL,
+};
+static struct _PDCLIB_file_t _PDCLIB_sout = {
+ .ops = &_PDCLIB_fileops,
+ .handle = { .sval = 1 },
+ .buffer = _PDCLIB_sout_buffer,
+ .bufsize = BUFSIZ,
+ .bufidx = 0,
+ .bufend = 0,
+ .pos = { 0, 0 },
+ .ungetidx = 0,
+ .ungetbuf = _PDCLIB_sout_ungetbuf,
+ .status = _IOLBF | _PDCLIB_FWRITE | _PDCLIB_STATIC,
+ .filename = NULL,
+ .next = &_PDCLIB_serr
+};
+static struct _PDCLIB_file_t _PDCLIB_sin = {
+ .ops = &_PDCLIB_fileops,
+ .handle = { .sval = 0 },
+ .buffer = _PDCLIB_sin_buffer,
+ .bufsize = BUFSIZ,
+ .bufidx = 0,
+ .bufend = 0,
+ .pos = { 0, 0 },
+ .ungetidx = 0,
+ .ungetbuf = _PDCLIB_sin_ungetbuf,
+ .status = _IOLBF | _PDCLIB_FREAD | _PDCLIB_STATIC,
+ .filename = NULL,
+ .next = &_PDCLIB_sout
+};