Annotation of dietlibc/dietstdio.h, revision 1.33

1.23      fefe        1: /* diet stdio */
1.1       cvs         2: 
1.10      fefe        3: #include <sys/cdefs.h>
                      4: #include <sys/types.h>
1.1       cvs         5: #include "dietfeatures.h"
1.8       fefe        6: #ifdef WANT_THREAD_SAFE
1.7       fefe        7: #include <pthread.h>
                      8: #endif
1.13      olaf        9: #include <stdarg.h>
1.1       cvs        10: 
1.11      fefe       11: #ifdef WANT_SMALL_STDIO_BUFS
1.1       cvs        12: #define BUFSIZE 128
1.11      fefe       13: #else
                     14: #define BUFSIZE 2048
                     15: #endif
1.1       cvs        16: 
1.14      fefe       17: struct __stdio_file {
1.1       cvs        18:   int fd;
                     19:   int flags;
1.29      leitner    20:   uint32_t bs; /* read: bytes in buffer */
                     21:   uint32_t bm; /* position in buffer */
                     22:   uint32_t buflen;     /* length of buf */
1.18      olaf       23:   char *buf;
1.16      fefe       24:   struct __stdio_file *next;   /* for fflush */
1.3       fefe       25:   pid_t popen_kludge;
1.21      fefe       26:   unsigned char ungetbuf;
1.6       fefe       27:   char ungotten;
1.8       fefe       28: #ifdef WANT_THREAD_SAFE
1.7       fefe       29:   pthread_mutex_t m;
1.6       fefe       30: #endif
1.14      fefe       31: };
1.1       cvs        32: 
                     33: #define ERRORINDICATOR 1
                     34: #define EOFINDICATOR 2
                     35: #define BUFINPUT 4
                     36: #define BUFLINEWISE 8
1.2       fefe       37: #define NOBUF 16
1.18      olaf       38: #define STATICBUF 32
1.24      olaf       39: #define FDPIPE 64
1.25      leitner    40: #define CANREAD 128
                     41: #define CANWRITE 256
1.31      leitner    42: #define CHECKLINEWISE 512
1.2       fefe       43: 
                     44: #define _IONBF 0
                     45: #define _IOLBF 1
                     46: #define _IOFBF 2
1.1       cvs        47: 
1.14      fefe       48: #include <stdio.h>
                     49: 
1.1       cvs        50: /* internal function to flush buffer.
                     51:  * However, if next is BUFINPUT and the buffer is an input buffer, it
                     52:  * will not be flushed. Vice versa for output */
                     53: extern int __fflush4(FILE *stream,int next);
1.19      fefe       54: extern int __buffered_outs(const char *s,size_t len);
1.13      olaf       55: 
                     56: /* ..scanf */
                     57: struct arg_scanf {
                     58:   void *data;
                     59:   int (*getch)(void*);
                     60:   int (*putch)(int,void*);
                     61: };
                     62: 
1.28      leitner    63: int __v_scanf(struct arg_scanf* fn, const char *format, va_list arg_ptr);
1.14      fefe       64: 
1.15      olaf       65: struct arg_printf {
                     66:   void *data;
1.33    ! leitner    67:   int (*put)(const void*,size_t,void*);
1.15      olaf       68: };
                     69: 
1.28      leitner    70: int __v_printf(struct arg_printf* fn, const char *format, va_list arg_ptr);
1.15      olaf       71: 
1.14      fefe       72: extern FILE *__stdio_root;
1.13      olaf       73: 
1.20      olaf       74: int __fflush_stdin(void);
                     75: int __fflush_stdout(void);
                     76: int __fflush_stderr(void);
                     77: 
1.25      leitner    78: FILE* __stdio_init_file(int fd,int closeonerror,int mode);
1.32      leitner    79: int __stdio_parse_mode(const char *mode) __attribute__((__pure__));
1.22      fefe       80: void __stdio_flushall(void);
1.26      leitner    81: 
1.27      sanjiyan   82: #ifndef __THREAD_INTERNAL_H__
                     83: int __libc_close(int fd);
                     84: int __libc_open(const char*fn,int flags,...);
1.29      leitner    85: ssize_t __libc_read(int fd,void*buf,size_t len);
                     86: ssize_t __libc_write(int fd,const void*buf,size_t len);
1.27      sanjiyan   87: #endif
                     88: 
1.26      leitner    89: FILE *fopen_unlocked(const char *path, const char *mode) __THROW;
                     90: FILE *fdopen_unlocked(int fildes, const char *mode) __THROW;
                     91: FILE *freopen_unlocked(const char *path, const char *mode, FILE *stream) __THROW;
                     92: 
1.30      leitner    93: int __stdout_is_tty(void);
                     94: int __stdin_is_tty(void);

LinuxTV legacy CVS <linuxtv.org/cvs>