From de47eb59bb829423b1d0f47ba13099073999b3cb Mon Sep 17 00:00:00 2001 From: Nicolas Planel Date: Wed, 29 Oct 2003 16:07:11 +0000 Subject: Corporate Server 2.1.1 release --- mdk-stage1/dietlibc/dietstdio.h | 84 ++++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 44 deletions(-) (limited to 'mdk-stage1/dietlibc/dietstdio.h') diff --git a/mdk-stage1/dietlibc/dietstdio.h b/mdk-stage1/dietlibc/dietstdio.h index a1cbeba83..2e0e93601 100644 --- a/mdk-stage1/dietlibc/dietstdio.h +++ b/mdk-stage1/dietlibc/dietstdio.h @@ -1,81 +1,77 @@ -/* diet stdio -- no buffering ;-} */ +/* diet stdio */ -#include "dietfeatures.h" +#include #include -#ifdef WANT_THREAD_SAVE +#include "dietfeatures.h" +#ifdef WANT_THREAD_SAFE #include #endif +#include +#ifdef WANT_SMALL_STDIO_BUFS #define BUFSIZE 128 +#else +#define BUFSIZE 2048 +#endif -typedef struct __file { +struct __stdio_file { int fd; int flags; -#ifdef WANT_BUFFERED_STDIO unsigned int bs; /* read: bytes in buffer */ unsigned int bm; /* position in buffer */ - char buf[BUFSIZE]; - struct __file *next; /* for fflush */ -#endif + unsigned int buflen; /* length of buf */ + char *buf; + struct __stdio_file *next; /* for fflush */ pid_t popen_kludge; -#ifdef WANT_UNGETC - char ungetbuf; + unsigned char ungetbuf; char ungotten; -#endif -#ifdef WANT_THREAD_SAVE +#ifdef WANT_THREAD_SAFE pthread_mutex_t m; #endif -} FILE; - -extern FILE *__stdio_root; +}; #define ERRORINDICATOR 1 #define EOFINDICATOR 2 #define BUFINPUT 4 #define BUFLINEWISE 8 #define NOBUF 16 -#define UNSEEKABLE 32 +#define STATICBUF 32 +#define FDPIPE 64 #define _IONBF 0 #define _IOLBF 1 #define _IOFBF 2 +#include + /* internal function to flush buffer. * However, if next is BUFINPUT and the buffer is an input buffer, it * will not be flushed. Vice versa for output */ extern int __fflush4(FILE *stream,int next); +extern int __buffered_outs(const char *s,size_t len); -FILE *fopen (const char *path, const char *mode); -FILE *fdopen (int fildes, const char *mode); -FILE *freopen (const char *path, const char *mode, FILE *stream); - -int fgetc(FILE *stream); -char *fgets(char *s, int size, FILE *stream); -int getc(FILE *stream); -int getchar(void); -char *gets(char *s); -int ungetc(int c, FILE *stream); +/* ..scanf */ +struct arg_scanf { + void *data; + int (*getch)(void*); + int (*putch)(int,void*); +}; -int fputc(int c, FILE *stream); -int fputs(const char *s, FILE *stream); -int putc(int c, FILE *stream); -int putchar(int c); -int puts(const char *s); +int __v_scanf(struct arg_scanf* fn, const unsigned char *format, va_list arg_ptr); -long fseek( FILE *stream, long offset, int whence); -long ftell( FILE *stream); -void rewind( FILE *stream); -int fgetpos( FILE *stream, fpos_t *pos); -int fsetpos( FILE *stream, fpos_t *pos); +struct arg_printf { + void *data; + int (*put)(void*,size_t,void*); +}; -size_t fread( void *ptr, size_t size, size_t nmemb, FILE *stream); +int __v_printf(struct arg_printf* fn, const unsigned char *format, va_list arg_ptr); -size_t fwrite( const void *ptr, size_t size, size_t nmemb, FILE *stream); - -int fflush(FILE *stream); - -int fclose(FILE *stream); +extern FILE *__stdio_root; -extern FILE *stdout, *stderr, *stdin; +int __fflush_stdin(void); +int __fflush_stdout(void); +int __fflush_stderr(void); -#define EOF (int)(-1) +FILE* __stdio_init_file(int fd,int closeonerror); +int __stdio_parse_mode(const char *mode); +void __stdio_flushall(void); -- cgit v1.2.1