/usr/lib/bcc/include/stdio.h is in elks-libc 0.16.17-3.3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | #ifndef __STDIO_H
#define __STDIO_H
#include <features.h>
#include <sys/types.h>
#ifndef SEEK_SET
#define SEEK_SET 0
#define SEEK_CUR 1
#define SEEK_END 2
#endif
#define _IOFBF 0x00 /* full buffering */
#define _IOLBF 0x01 /* line buffering */
#define _IONBF 0x02 /* no buffering */
#define __MODE_BUF 0x03 /* Modal buffering dependent on isatty */
#define __MODE_FREEBUF 0x04 /* Buffer allocated with malloc, can free */
#define __MODE_FREEFIL 0x08 /* FILE allocated with malloc, can free */
#define __MODE_READ 0x10 /* Opened in read only */
#define __MODE_WRITE 0x20 /* Opened in write only */
#define __MODE_RDWR 0x30 /* Opened in read/write */
#define __MODE_READING 0x40 /* Buffer has pending read data */
#define __MODE_WRITING 0x80 /* Buffer has pending write data */
#define __MODE_EOF 0x100 /* EOF status */
#define __MODE_ERR 0x200 /* Error status */
#define __MODE_UNGOT 0x400 /* Buffer has been polluted by ungetc */
#ifdef __MSDOS__
#define __MODE_IOTRAN 0x1000 /* MSDOS nl <-> cr,nl translation */
#else
#define __MODE_IOTRAN 0
#endif
/* when you add or change fields here, be sure to change the initialization
* in stdio_init and fopen */
struct __stdio_file {
unsigned char *bufpos; /* the next byte to write to or read from */
unsigned char *bufread; /* the end of data returned by last read() */
unsigned char *bufwrite; /* highest address writable by macro */
unsigned char *bufstart; /* the start of the buffer */
unsigned char *bufend; /* the end of the buffer; ie the byte after the last
malloc()ed byte */
int fd; /* the file descriptor associated with the stream */
int mode;
char unbuf[8]; /* The buffer for 'unbuffered' streams */
struct __stdio_file * next;
};
#define EOF (-1)
#ifndef NULL
#define NULL ((void*)0)
#endif
typedef struct __stdio_file FILE;
#ifdef __AS386_16__
#define BUFSIZ (256)
#else
#define BUFSIZ (2048)
#endif
extern FILE stdin[1];
extern FILE stdout[1];
extern FILE stderr[1];
#ifdef __MSDOS__
#define putc(c, fp) fputc(c, fp)
#define getc(fp) fgetc(fp)
#else
#define putc(c, stream) \
(((stream)->bufpos >= (stream)->bufwrite) ? fputc((c), (stream)) \
: (unsigned char) (*(stream)->bufpos++ = (c)) )
#define getc(stream) \
(((stream)->bufpos >= (stream)->bufread) ? fgetc(stream): \
(*(stream)->bufpos++))
#endif
#define putchar(c) putc((c), stdout)
#define getchar() getc(stdin)
#define ferror(fp) (((fp)->mode&__MODE_ERR) != 0)
#define feof(fp) (((fp)->mode&__MODE_EOF) != 0)
#define clearerr(fp) ((fp)->mode &= ~(__MODE_EOF|__MODE_ERR),0)
#define fileno(fp) ((fp)->fd)
/* declare functions; not like it makes much difference without ANSI */
/* RDB: The return values _are_ important, especially if we ever use
8086 'large' model
*/
/* These two call malloc */
#define setlinebuf(__fp) setvbuf((__fp), (char*)0, _IOLBF, 0)
extern int setvbuf __P((FILE*, char*, int, size_t));
/* These don't */
#define setbuf(__fp, __buf) setbuffer((__fp), (__buf), BUFSIZ)
extern void setbuffer __P((FILE*, char*, int));
extern int fgetc __P((FILE*));
extern int fputc __P((int, FILE*));
extern int fclose __P((FILE*));
extern int fflush __P((FILE*));
extern char *fgets __P((char*, size_t, FILE*));
extern FILE *fopen __P((char*, char*));
extern FILE *fdopen __P((int, char*));
extern FILE *freopen __P((char*, char*, FILE*));
#ifdef __LIBC__
extern FILE *__fopen __P((char*, int, FILE*, char*));
#endif
extern int fputs __P((char*, FILE*));
extern int puts __P((char*));
extern int printf __P ((__const char*, ...));
extern int fprintf __P ((FILE*, __const char*, ...));
extern int sprintf __P ((char*, __const char*, ...));
#define stdio_pending(fp) ((fp)->bufread>(fp)->bufpos)
#endif /* __STDIO_H */
|