diff packages/language/c/libc/stdio/current/include/stdio.h @ 1541:871b38a618f4

* src/input/vfscanf.cxx (vfscanf): Silence warning. * include/stdio.h: Add file operation functions which weren't here before! While I'm here, add __THROW everywhere and use __externC not externC. * cdl/stdio.cdl: We implement stdio fileops in isoinfra now. Also set header for that. Build fileops.cxx. L_tmpnam must be at least 4. TMP_MAX must be at least 1, and ISO C says it should be >=25. Add description for CYGPKG_LIBC_STDIO_FILEIO and move up from bottom so it goes with others. * src/common/fileops.cxx: New file. Implements rename(), remove(), tmpnam() and tmpfile(). * src/common/fclose.cxx: Add throw specifiers to match stdio.h. * src/common/feof.cxx: Ditto. * src/common/fflush.cxx: Ditto. * src/common/fopen.cxx: Ditto. * src/common/freopen.cxx: Ditto. * src/common/fseek.cxx: Ditto. * src/common/setvbuf.cxx: Ditto. * src/common/snprintf.cxx: Ditto. * src/common/sprintf.cxx: Ditto. * src/common/sscanf.cxx: Ditto. * src/common/stdioinlines.cxx: Ditto. * src/common/ungetc.cxx: Ditto. * src/common/vsnprintf.cxx: Ditto. * src/common/vsscanf.cxx: Ditto. * src/input/fgetc.cxx: Ditto. * src/input/fgets.cxx: Ditto. * src/input/fread.cxx: Ditto. * src/input/fscanf.cxx: Ditto. * src/input/gets.cxx: Ditto. * src/input/scanf.cxx: Ditto. * src/input/vfscanf.cxx: Ditto. * src/output/fnprintf.cxx: Ditto. * src/output/fprintf.cxx: Ditto. * src/output/fputc.cxx: Ditto. * src/output/fputs.cxx: Ditto. * src/output/fwrite.cxx: Ditto. * src/output/printf.cxx: Ditto. * src/output/vfnprintf.cxx: Ditto.
author jlarmour
date Mon, 15 Mar 2004 15:21:43 +0000
parents 6eb55882e01c
children be5ecb9f3106
line wrap: on
line diff
--- a/packages/language/c/libc/stdio/current/include/stdio.h
+++ b/packages/language/c/libc/stdio/current/include/stdio.h
@@ -119,97 +119,113 @@ typedef CYG_ADDRESS FILE[9999];
 
 //========================================================================
 
-// ISO C 7.9.5 File access functions
+// ISO C89 7.9.4 Functions for operations on files
 
-externC int
-fclose( FILE * /* stream */ );
+__externC int
+remove( const char * /* pathname */ ) __THROW;
+
+__externC int
+rename( const char * /* oldpath */, const char * /* newpath */ ) __THROW;
 
-externC int
-fflush( FILE * /* stream */ );
+__externC FILE *
+tmpfile( void ) __THROW;
 
-externC FILE *
-fopen( const char * /* filename */, const char * /* mode */ );
+__externC char *
+tmpnam(char * /* s */ ) __THROW;
+
+//========================================================================
+
+// ISO C89 7.9.5 File access functions
 
-externC FILE *
-freopen( const char * /* filename */, const char * /* mode */,
-         FILE * /* stream */ );
+__externC int
+fclose( FILE * /* stream */ ) __THROW;
+
+__externC int
+fflush( FILE * /* stream */ ) __THROW;
+
+__externC FILE *
+fopen( const char * /* filename */, const char * /* mode */ ) __THROW;
 
-externC void
-setbuf( FILE * /* stream */, char * /* buffer */ );
+__externC FILE *
+freopen( const char * /* filename */, const char * /* mode */,
+         FILE * /* stream */ ) __THROW;
 
-externC int
+__externC void
+setbuf( FILE * /* stream */, char * /* buffer */ ) __THROW;
+
+__externC int
 setvbuf( FILE * /* stream */, char * /* buffer */, int /* mode */,
-         size_t /* size */ );
+         size_t /* size */ ) __THROW;
 
 //========================================================================
 
-// ISO C 7.9.6 Formatted input/output functions
+// ISO C89 7.9.6 Formatted input/output functions
 
-externC int
-fprintf( FILE * /* stream */, const char * /* format */, ... );
+__externC int
+fprintf( FILE * /* stream */, const char * /* format */, ... ) __THROW;
 
-externC int
-fscanf( FILE * /* stream */, const char * /* format */, ... );
+__externC int
+fscanf( FILE * /* stream */, const char * /* format */, ... ) __THROW;
 
-externC int
-printf( const char * /* format */, ... );
+__externC int
+printf( const char * /* format */, ... ) __THROW;
 
-externC int
-scanf( const char * /* format */, ... );
+__externC int
+scanf( const char * /* format */, ... ) __THROW;
 
-externC int
-sprintf( char * /* str */, const char * /* format */, ... );
+__externC int
+sprintf( char * /* str */, const char * /* format */, ... ) __THROW;
 
-externC int
-sscanf( const char * /* str */, const char * /* format */, ... );
+__externC int
+sscanf( const char * /* str */, const char * /* format */, ... ) __THROW;
 
-externC int
+__externC int
 vfprintf( FILE * /* stream */, const char * /* format */,
-          va_list /* args */ );
+          va_list /* args */ ) __THROW;
 
-externC int
-vprintf( const char * /* format */, va_list /* args */ );
+__externC int
+vprintf( const char * /* format */, va_list /* args */ ) __THROW;
 
-externC int
+__externC int
 vsprintf( char * /* str */, const char * /* format */,
-          va_list /* args */ );
+          va_list /* args */ ) __THROW;
 
 //========================================================================
 
-// ISO C 7.9.7 Character input/output functions
+// ISO C89 7.9.7 Character input/output functions
 
-externC int
-fgetc( FILE * /* stream */ );
+__externC int
+fgetc( FILE * /* stream */ ) __THROW;
 
-externC char *
-fgets( char * /* str */, int /* length */, FILE * /* stream */ );
+__externC char *
+fgets( char * /* str */, int /* length */, FILE * /* stream */ ) __THROW;
 
-externC int
-fputc( int /* c */, FILE * /* stream */ );
+__externC int
+fputc( int /* c */, FILE * /* stream */ ) __THROW;
 
-externC int
-putc( int /* c */, FILE * /* stream */ );
+__externC int
+putc( int /* c */, FILE * /* stream */ ) __THROW;
 
-externC int
-putchar( int /* c */ );
+__externC int
+putchar( int /* c */ ) __THROW;
 
-externC int
-fputs( const char * /* str */, FILE * /* stream */ );
+__externC int
+fputs( const char * /* str */, FILE * /* stream */ ) __THROW;
 
-externC char *
-gets( char * );
+__externC char *
+gets( char * ) __THROW;
 
-externC int
-getc( FILE * /* stream */ );
+__externC int
+getc( FILE * /* stream */ ) __THROW;
 
-externC int
-getchar( void );
+__externC int
+getchar( void ) __THROW;
 
-externC int
-puts( const char * /* str */ );
+__externC int
+puts( const char * /* str */ ) __THROW;
 
-externC int
-ungetc( int /* c */, FILE * /* stream */ );
+__externC int
+ungetc( int /* c */, FILE * /* stream */ ) __THROW;
 
 // no function equivalent is required for getchar() or putchar(), so we can
 // just #define them
@@ -220,81 +236,81 @@ ungetc( int /* c */, FILE * /* stream */
 
 //========================================================================
 
-// ISO C 7.9.8 Direct input/output functions
+// ISO C89 7.9.8 Direct input/output functions
 
-externC size_t
+__externC size_t
 fread( void * /* ptr */, size_t /* object_size */,
-       size_t /* num_objects */, FILE * /* stream */ );
+       size_t /* num_objects */, FILE * /* stream */ ) __THROW;
 
-externC size_t
+__externC size_t
 fwrite( const void * /* ptr */, size_t /* object_size */,
-        size_t /* num_objects */, FILE * /* stream */ );
+        size_t /* num_objects */, FILE * /* stream */ ) __THROW;
 
 //========================================================================
 
-// ISO C 7.9.9 File positioning functions
+// ISO C89 7.9.9 File positioning functions
 
-externC int
-fgetpos( FILE * /* stream */, fpos_t * /* pos */ );
+__externC int
+fgetpos( FILE * /* stream */, fpos_t * /* pos */ ) __THROW;
 
-externC int
-fseek( FILE * /* stream */, long int /* offset */, int /* whence */ );
+__externC int
+fseek( FILE * /* stream */, long int /* offset */, int /* whence */ ) __THROW;
 
-externC int
-fsetpos( FILE * /* stream */, const fpos_t * /* pos */ );
+__externC int
+fsetpos( FILE * /* stream */, const fpos_t * /* pos */ ) __THROW;
 
-externC long int
-ftell( FILE * /* stream */ );
+__externC long int
+ftell( FILE * /* stream */ ) __THROW;
 
-externC void
-rewind( FILE * /* stream */ );
+__externC void
+rewind( FILE * /* stream */ ) __THROW;
 
 //========================================================================
 
-// ISO C 7.9.10 Error-handling functions
+// ISO C89 7.9.10 Error-handling functions
 
-externC void
-clearerr( FILE * /* stream */ );
+__externC void
+clearerr( FILE * /* stream */ ) __THROW;
 
-externC int
-feof( FILE * /* stream */ );
+__externC int
+feof( FILE * /* stream */ ) __THROW;
 
-externC int
-ferror( FILE * /* stream */ );
+__externC int
+ferror( FILE * /* stream */ ) __THROW;
 
-externC void
-perror( const char * /* prefix_str */ );
+__externC void
+perror( const char * /* prefix_str */ ) __THROW;
 
 //========================================================================
 
 // Other non-ISO C functions
 
-externC int
+__externC int
 fnprintf( FILE * /* stream */, size_t /* length */,
-          const char * /* format */, ... ) CYGBLD_ATTRIB_PRINTF_FORMAT(3, 4);
+          const char * /* format */, ... ) __THROW CYGBLD_ATTRIB_PRINTF_FORMAT(3, 4);
 
-externC int
+__externC int
 snprintf( char * /* str */, size_t /* length */, const char * /* format */,
-          ... ) CYGBLD_ATTRIB_PRINTF_FORMAT(3, 4);
+          ... ) __THROW CYGBLD_ATTRIB_PRINTF_FORMAT(3, 4);
 
-externC int
+__externC int
 vfnprintf( FILE * /* stream */, size_t /* length */,
-           const char * /* format */, va_list /* args */ );
+           const char * /* format */, va_list /* args */ ) __THROW;
 
-externC int
+__externC int
 vsnprintf( char * /* str */, size_t /* length */,
-           const char * /* format */, va_list /* args */ );
+           const char * /* format */, va_list /* args */ ) __THROW;
 
-externC int
-vscanf( const char * /* format */, va_list /* args */ );
+__externC int
+vscanf( const char * /* format */, va_list /* args */ ) __THROW;
 
-externC int
+__externC int
 vsscanf( const char * /* str */, const char * /* format */,
-         va_list /* args */ );
+         va_list /* args */ ) __THROW;
 
-externC int
+__externC int
 vfscanf( FILE * /* stream */, const char * /* format */,
-         va_list /* args */ );
+         va_list /* args */ ) __THROW;
 
 
 // INLINE FUNCTIONS