179 lines
5.2 KiB
C++
179 lines
5.2 KiB
C++
|
/* stdio.h - standard I/O header file
|
||
|
* $Version: 1.46 $
|
||
|
* Copyright (c) 1988-91 Intel Corporation, ALL RIGHTS RESERVED.
|
||
|
*/
|
||
|
|
||
|
#ifndef _stdioh
|
||
|
#define _stdioh
|
||
|
/*lint -library */
|
||
|
|
||
|
#pragma fixedparams("rename", "tempnam", "tmpnam")
|
||
|
#pragma fixedparams("_fsopen")
|
||
|
#pragma fixedparams("clearerr")
|
||
|
#pragma fixedparams("fclose", "feof", "ferror", "fflush", "fgetc")
|
||
|
#pragma fixedparams("fgets", "fopen", "fputc", "fputs", "fread")
|
||
|
#pragma fixedparams("freopen", "fseek", "ftell", "fwrite", "getc")
|
||
|
#pragma fixedparams("getchar", "gets", "perror", "putc", "putchar")
|
||
|
#pragma fixedparams("puts", "remove", "rewind", "setbuf", "setvbuf")
|
||
|
#pragma fixedparams("tmpfile", "ungetc", "vfprintf", "vprintf", "vsprintf")
|
||
|
#pragma fixedparams("fgetpos", "fsetpos")
|
||
|
#pragma fixedparams("fcloseall", "fdopen", "fgetchar", "fileno", "flushall")
|
||
|
#pragma fixedparams("fputchar", "getw", "putw", "rmtmp")
|
||
|
#pragma varparams("fprintf", "fscanf", "printf", "scanf", "sprintf")
|
||
|
#pragma varparams("sscanf")
|
||
|
|
||
|
|
||
|
#ifndef NULL
|
||
|
#define NULL ((void *)0)
|
||
|
#endif
|
||
|
|
||
|
#ifndef _fpos_t
|
||
|
#define _fpos_t
|
||
|
typedef unsigned long fpos_t;
|
||
|
#endif
|
||
|
|
||
|
#ifndef _size_t
|
||
|
#define _size_t
|
||
|
typedef unsigned size_t;
|
||
|
#endif
|
||
|
|
||
|
#ifndef _va_list
|
||
|
typedef char *va_list;
|
||
|
#define _VA_LIST_DEFINED
|
||
|
#define _va_list
|
||
|
#endif
|
||
|
|
||
|
#define BUFSIZ 512
|
||
|
#define FOPEN_MAX 20
|
||
|
#define TMP_MAX 4096
|
||
|
#define FILENAME_MAX 127
|
||
|
#define EOF (-1)
|
||
|
|
||
|
#define L_tmpnam 13
|
||
|
#define P_tmpdir "\\"
|
||
|
|
||
|
#define _IOREAD 0x01
|
||
|
#define _IOWRT 0x02
|
||
|
|
||
|
#define _IOFBF 0x00 /* neither line nor char buffering */
|
||
|
#define _IOLBF 0x40
|
||
|
#define _IONBF 0x04
|
||
|
|
||
|
#define _IOMYBUF 0x08
|
||
|
#define _IOEOF 0x10
|
||
|
#define _IOERR 0x20
|
||
|
#define _IOSTRG 0x40
|
||
|
#define _IORW 0x80
|
||
|
|
||
|
#define _IODIRTY 0x200
|
||
|
#define _IO_STD_STREAM 0x1000
|
||
|
|
||
|
/* seek */
|
||
|
#ifndef SEEK_SET
|
||
|
#define SEEK_SET 0
|
||
|
#define SEEK_CUR 1
|
||
|
#define SEEK_END 2
|
||
|
#endif
|
||
|
|
||
|
#ifndef _reenth
|
||
|
#pragma align (_iobuf)
|
||
|
#endif
|
||
|
|
||
|
#ifndef _FILE_t
|
||
|
struct _iobuf {
|
||
|
unsigned char *_ptr;
|
||
|
int _cnt;
|
||
|
unsigned char *_base;
|
||
|
int _flag;
|
||
|
int _fd; /* File descriptor number */
|
||
|
int _size; /* File buffer size */
|
||
|
char *_temp_name; /* Temporary file name */
|
||
|
void *_sem; /* Semaphore */
|
||
|
struct _iobuf *_next_stream; /* Pointer to the next stream */
|
||
|
};
|
||
|
typedef struct _iobuf FILE;
|
||
|
#define _FILE_t
|
||
|
#endif
|
||
|
|
||
|
#include <reent.h>
|
||
|
|
||
|
#define stdin (&_stdio_ptr()->_stdin)
|
||
|
#define stdout (&_stdio_ptr()->_stdout)
|
||
|
#define stderr (&_stdio_ptr()->_stderr)
|
||
|
|
||
|
/*
|
||
|
* Function prototypes:
|
||
|
*/
|
||
|
void clearerr(FILE *);
|
||
|
int fclose(FILE *);
|
||
|
int fcloseall(void);
|
||
|
FILE *fdopen(int, const char *);
|
||
|
int feof(FILE *);
|
||
|
int ferror(FILE *);
|
||
|
int fflush(FILE *);
|
||
|
int fgetc(FILE *);
|
||
|
int fgetchar(void);
|
||
|
int fgetpos(FILE *, fpos_t *);
|
||
|
char *fgets(char *, int, FILE *);
|
||
|
int fileno(FILE *);
|
||
|
int flushall(void);
|
||
|
FILE *fopen(const char *, const char *);
|
||
|
int fprintf(FILE *, const char *, ...);
|
||
|
int fputc(int, FILE *);
|
||
|
int fputchar(int);
|
||
|
int fputs(const char *, FILE *);
|
||
|
size_t fread(void *, size_t, size_t, FILE *);
|
||
|
FILE *freopen(const char *, const char *, FILE *);
|
||
|
int fscanf(FILE *, const char *, ...);
|
||
|
int fseek(FILE *, long int, int);
|
||
|
int fsetpos(FILE *, const fpos_t *);
|
||
|
FILE *_fsopen(const char *, const char *, int);
|
||
|
long int ftell(FILE *);
|
||
|
size_t fwrite(const void *, size_t, size_t, FILE *);
|
||
|
int getc(FILE *);
|
||
|
int getchar(void);
|
||
|
char *gets(char *);
|
||
|
int getw(FILE *);
|
||
|
void perror(const char *);
|
||
|
int printf(const char *, ...);
|
||
|
int putc(int, FILE *);
|
||
|
int putchar(int);
|
||
|
int puts(const char *);
|
||
|
int putw(int, FILE *);
|
||
|
int remove(const char *);
|
||
|
int rename(const char *, const char *);
|
||
|
void rewind(FILE *);
|
||
|
int rmtmp(void);
|
||
|
int scanf(const char *, ...);
|
||
|
void setbuf(FILE *, char *);
|
||
|
int setvbuf(FILE *, char *, int, size_t);
|
||
|
int sprintf(char *, const char *, ...);
|
||
|
int sscanf(const char *, const char *, ...);
|
||
|
char *tempnam(char *, const char *);
|
||
|
FILE *tmpfile(void);
|
||
|
char *tmpnam(char *);
|
||
|
int ungetc(int, FILE *);
|
||
|
int vfprintf(FILE *, const char *, va_list);
|
||
|
int vprintf( const char *, va_list);
|
||
|
int vsprintf(char *, const char *, va_list);
|
||
|
|
||
|
/*
|
||
|
* Macro implementation of stdio functions:
|
||
|
*/
|
||
|
#define feof(f) ((f)->_flag & _IOEOF)
|
||
|
#define ferror(f) ((f)->_flag & _IOERR)
|
||
|
#define fgetchar() fgetc(stdin)
|
||
|
#define fileno(f) ((f)->_fd)
|
||
|
#define getchar() getc(stdin)
|
||
|
#define putchar(c) putc((c),stdout)
|
||
|
#define _ungetc_
|
||
|
|
||
|
#define getc(_s) (((((_s)->_cnt) > 0) && (((_s)->_cnt) < ((_s)->_size))) \
|
||
|
? (((_s)->_cnt--), (unsigned char)(*(_s)->_ptr++)) : ((getc)(_s)))
|
||
|
|
||
|
#define putc(_c,_s) (((((_s)->_cnt) > 0) && (((_s)->_cnt) < ((_s)->_size))) \
|
||
|
? (((_s)->_cnt--), (*((_s)->_ptr++)=(unsigned char)(_c))) : ((putc)(_c,_s)))
|
||
|
|
||
|
#endif /* _stdioh */
|
||
|
|