X-Git-Url: https://pd.if.org/git/?p=pdclib;a=blobdiff_plain;f=includes%2Fstdio.h;h=ee46af7f387895e70e605012a6b2683b24229676;hp=62b5af18dd6a5deae86bfc2280ee482e23ff7038;hb=ac3f809c3c10347c110fac3db93af0954eda98bb;hpb=8b8277d2940a8745f85d86a9af3ad6970b5fa52c diff --git a/includes/stdio.h b/includes/stdio.h index 62b5af1..ee46af7 100644 --- a/includes/stdio.h +++ b/includes/stdio.h @@ -4,12 +4,95 @@ // Public Domain C Library - http://pdclib.sourceforge.net // This code is Public Domain. Use, modify, and redistribute at will. // ---------------------------------------------------------------------------- -// TODO +// Input/output // ---------------------------------------------------------------------------- #ifndef __STDIO_H #define __STDIO_H __STDIO_H -// TODO +// ---------------------------------------------------------------------------- +// MACROS + +#define _IOFBF // TODO +#define _IOLBF // TODO +#define _IONBF // TODO +#define BUFSIZ // TODO +#define EOF // TODO +#define FILENAME_MAX // TODO +#define FOPEN_MAX // TODO +#define L_tmpnam // TODO +#define NULL 0 +#define SEEK_CUR // TODO +#define SEEK_END // TODO +#define SEEK_SET // TODO +#define TMP_MAX // TODO + +#define stderr // TODO +#define stdin // TODO +#define stdout // TODO + +// ---------------------------------------------------------------------------- +// TYPEDEFS + +typedef FILE; // TODO +typedef fpos_t; // TODO +typedef size_t; // TODO + +// ---------------------------------------------------------------------------- +// FUNCTIONS + +// TODO: Documentation. + +void clearerr( FILE * stream ); +int fclose( FILE * stream ); +int feof( FILE * stream ); +int ferror( FILE * stream ); +int fflush( FILE * stream ); +FILE * fopen( const char * restrict filename, const char * restrict mode ); +FILE * freopen( const char * restrict filename, const char * restrict mode, FILE * stream ); +int remove( const char * filename ); +int rename( const char * old, const char * new ); +void rewind( FILE * stream ); +void setbuf( FILE * restrict stream, char * restrict buf ); +int setvbuf( FILE * restrict stream, char * restrict buf, int mode, size_t size ); +FILE * tmpfile( void ) +char * tmpnam( char * s ); + +int fseek( FILE * stream, long offset, int mode ); +int fsetpos( FILE * stream, const fpos_t * pos ); +int fgetpos( FILE * restrict stream, fpos_t * restrict pos ); +long ftell( FILE * stream ); + +int fgetc( FILE * stream ); +char *fgets( char * restrict s, int n, FILE * restrict stream ); +size_t fread( void * restrict ptr, size_t size, size_t nelem, FILE * restrict stream ); +int getc( FILE * stream ); +int getchar( void ); +char * gets( char * s ); +int ungetc( int c, FILE * stream ); + +int fputc( int c, FILE * stream ); +int fputs( const char * restrict s, FILE * restrict stream ); +size_t fwrite( const void * restrict ptr, size_t size, size_t nelem, FILE * restrict stream ); +void perror( const char * s ); +int putc( int c, FILE * stream ); +int putchar( int c ); +int puts( const char * s ); + +int fscanf( FILE * restrict stream, const char * restrict format, ... ); +int scanf( const char * restrict format, ... ); +int sscanf( const char * restrict s, const char * restrict format, ... ); +int vfscanf( FILE * restrict stream, const char * restrict format, va_list ap ); +int vscanf( const char * restrict format, va_list ap ); +int vsscanf( const char * restrict s, const char * restrict format, va_list ap ); + +int fprintf( FILE * restrict stream, const char * restrict format, ... ); +int printf( const char * restrict format, ... ); +int snprintf( char * restrict s, size_t n, const char * restrict format, ... ); +int sprintf( char * restrict s, const char * restrict format, ... ); +int vfprintf( FILE * restrict stream, const char * restrict format, va_list ap ); +int vprintf( const char * restrict format, va_list ap ); +int vsnprintf( char * restrict s, size_t n, const char * restrict format, va_list ap ); +int vsprintf( char * restrict s, const char * restrict format, va_list ap); #endif // __STDIO_H