\r
#ifndef REGTEST\r
#include <_PDCLIB_glue.h>\r
+#include <_PDCLIB_io.h>\r
#include <string.h>\r
#include <threads.h>\r
\r
-extern struct _PDCLIB_file_t * _PDCLIB_filelist;\r
+extern FILE * _PDCLIB_filelist;\r
\r
-struct _PDCLIB_file_t * _PDCLIB_fvopen( _PDCLIB_fd_t fd, \r
- const _PDCLIB_fileops_t * ops,\r
- int mode,\r
- const char * _PDCLIB_restrict filename )\r
+FILE * _PDCLIB_fvopen( \r
+ _PDCLIB_fd_t fd, \r
+ const _PDCLIB_fileops_t *_PDCLIB_restrict ops,\r
+ int mode,\r
+ const char *_PDCLIB_restrict filename\r
+)\r
{\r
size_t filename_len;\r
- struct _PDCLIB_file_t * rc;\r
+ FILE * rc;\r
if ( mode == NULL )\r
{\r
/* Mode invalid */\r
Data buffer comes last because it might change in size ( setvbuf() ).\r
*/\r
filename_len = filename ? strlen( filename ) + 1 : 1;\r
- if ( ( rc = calloc( 1, sizeof( struct _PDCLIB_file_t ) + _PDCLIB_UNGETCBUFSIZE + filename_len + BUFSIZ ) ) == NULL )\r
+ if ( ( rc = calloc( 1, sizeof( FILE ) + _PDCLIB_UNGETCBUFSIZE + filename_len + BUFSIZ ) ) == NULL )\r
{\r
/* no memory */\r
return NULL;\r
rc->ops = ops;\r
rc->handle = fd;\r
/* Setting pointers into the memory block allocated above */\r
- rc->ungetbuf = (unsigned char *)rc + sizeof( struct _PDCLIB_file_t );\r
+ rc->ungetbuf = (unsigned char *)rc + sizeof( FILE );\r
rc->filename = (char *)rc->ungetbuf + _PDCLIB_UNGETCBUFSIZE;\r
rc->buffer = rc->filename + filename_len;\r
/* Copying filename to FILE structure */\r