home *** CD-ROM | disk | FTP | other *** search
- /***
- *stdio.h - definitions/declarations for standard I/O routines
- *
- * Copyright (c) 1985-1991, Microsoft Corporation. All rights reserved.
- *
- *Purpose:
- * This file defines the structures, values, macros, and functions
- * used by the level 2 I/O ("standard I/O") routines.
- * [ANSI/System V]
- *
- ****/
-
- #ifndef _INC_STDIO
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if defined(_DLL) && !defined(_MT)
- #error Cannot define _DLL without _MT
- #endif
-
- #ifdef _MT
- #define _FAR_ __far
- #else
- #define _FAR_
- #endif
-
- #if (_MSC_VER <= 600)
- #define __cdecl _cdecl
- #define __far _far
- #define __loadds _loadds
- #define __near _near
- #endif
-
- #ifndef _SIZE_T_DEFINED
- typedef unsigned int size_t;
- #define _SIZE_T_DEFINED
- #endif
-
- #ifndef _VA_LIST_DEFINED
- typedef char _FAR_ *va_list;
- #define _VA_LIST_DEFINED
- #endif
-
- /* buffered I/O macros */
-
- #define BUFSIZ 512
- #ifdef _MT
- #define _NFILE 40
- #else
- #define _NFILE 20
- #endif
- #define EOF (-1)
-
- #ifndef _FILE_DEFINED
- #pragma pack(2)
- struct _iobuf {
- char _FAR_ *_ptr;
- int _cnt;
- char _FAR_ *_base;
- char _flag;
- char _file;
- };
- typedef struct _iobuf FILE;
- #pragma pack()
- #define _FILE_DEFINED
- #endif
-
-
- /* _P_tmpnam: Directory where temporary files may be created.
- * L_tmpnam size = size of _P_tmpdir
- * + 1 (in case _P_tmpdir does not end in "\\")
- * + 6 (for the temp number string)
- * + 1 (for the null terminator)
- */
-
- #define _P_tmpdir "\\"
- #define L_tmpnam sizeof(_P_tmpdir)+8
-
-
- /* fseek constants */
-
- #define SEEK_CUR 1
- #define SEEK_END 2
- #define SEEK_SET 0
-
-
- /* minimum guaranteed filename length, open file count, and unique
- * tmpnam filenames.
- */
-
- #define FILENAME_MAX 63
- #define FOPEN_MAX 18
- #define TMP_MAX 32767
- #define _SYS_OPEN 20
-
-
- /* define NULL pointer value */
-
- #ifndef NULL
- #ifdef __cplusplus
- #define NULL 0
- #else
- #define NULL ((void *)0)
- #endif
- #endif
-
-
- /* declare _iob[] array */
-
- #ifndef _STDIO_DEFINED
- #ifdef _DLL
- extern FILE _FAR_ __cdecl _iob[];
- #else
- extern FILE __near __cdecl _iob[];
- #endif
- #endif
-
-
- /* define file position type */
-
- #ifndef _FPOS_T_DEFINED
- typedef long fpos_t;
- #define _FPOS_T_DEFINED
- #endif
-
-
- /* standard file pointers */
-
- #ifndef _WINDLL
- #define stdin (&_iob[0])
- #define stdout (&_iob[1])
- #define stderr (&_iob[2])
- #endif
- #ifndef _WINDOWS
- #define _stdaux (&_iob[3])
- #define _stdprn (&_iob[4])
- #endif
-
-
- #define _IOREAD 0x01
- #define _IOWRT 0x02
-
- #define _IOFBF 0x0
- #define _IOLBF 0x40
- #define _IONBF 0x04
-
- #define _IOMYBUF 0x08
- #define _IOEOF 0x10
- #define _IOERR 0x20
- #define _IOSTRG 0x40
- #define _IORW 0x80
-
-
- #ifdef _WINDOWS
- #ifndef _WINDLL
- #ifndef _WINFO_DEFINED
- /* interface version number */
- #define _WINVER 0
-
- /* max number of windows */
- #define _WFILE 20
-
- /* values for windows screen buffer size */
- #define _WINBUFINF 0
- #define _WINBUFDEF -1
-
- /* size/move settings */
- #define _WINSIZEMIN 1
- #define _WINSIZEMAX 2
- #define _WINSIZERESTORE 3
- #define _WINSIZECHAR 4
-
- /* size/move query types */
- #define _WINMAXREQ 100
- #define _WINCURRREQ 101
-
- /* values for closing window */
- #define _WINPERSIST 1
- #define _WINNOPERSIST 0
-
- /* pseudo file handle for frame window */
- #define _WINFRAMEHAND -1
-
- /* menu items */
- #define _WINSTATBAR 1
- #define _WINTILE 2
- #define _WINCASCADE 3
- #define _WINARRANGE 4
-
- /* quickwin exit options */
- #define _WINEXITPROMPT 1
- #define _WINEXITNOPERSIST 2
- #define _WINEXITPERSIST 3
-
- /* open structure */
- #pragma pack(2)
- struct _wopeninfo {
- unsigned int _version;
- const char __far * _title;
- long _wbufsize;
- };
- #pragma pack()
-
- /* size/move structure */
- struct _wsizeinfo {
- unsigned int _version;
- unsigned int _type;
- unsigned int _x;
- unsigned int _y;
- unsigned int _h;
- unsigned int _w;
- };
- #define _WINFO_DEFINED
- #endif
- #endif
- #endif
-
- /* function prototypes */
-
- #ifndef _STDIO_DEFINED
- int _FAR_ __cdecl _filbuf(FILE _FAR_ *);
- int _FAR_ __cdecl _flsbuf(int, FILE _FAR_ *);
- FILE _FAR_ * _FAR_ __cdecl _fsopen(const char _FAR_ *,
- const char _FAR_ *, int);
- void _FAR_ __cdecl clearerr(FILE _FAR_ *);
- int _FAR_ __cdecl fclose(FILE _FAR_ *);
- int _FAR_ __cdecl _fcloseall(void);
- FILE _FAR_ * _FAR_ __cdecl _fdopen(int, const char _FAR_ *);
- int _FAR_ __cdecl feof(FILE _FAR_ *);
- int _FAR_ __cdecl ferror(FILE _FAR_ *);
- int _FAR_ __cdecl fflush(FILE _FAR_ *);
- int _FAR_ __cdecl fgetc(FILE _FAR_ *);
- #ifndef _WINDLL
- int _FAR_ __cdecl _fgetchar(void);
- #endif
- int _FAR_ __cdecl fgetpos(FILE _FAR_ *, fpos_t _FAR_ *);
- char _FAR_ * _FAR_ __cdecl fgets(char _FAR_ *, int, FILE _FAR_ *);
- int _FAR_ __cdecl _fileno(FILE _FAR_ *);
- int _FAR_ __cdecl _flushall(void);
- FILE _FAR_ * _FAR_ __cdecl fopen(const char _FAR_ *,
- const char _FAR_ *);
- #ifndef _WINDLL
- int _FAR_ __cdecl fprintf(FILE _FAR_ *, const char _FAR_ *, ...);
- #endif
- int _FAR_ __cdecl fputc(int, FILE _FAR_ *);
- #ifndef _WINDLL
- int _FAR_ __cdecl _fputchar(int);
- #endif
- int _FAR_ __cdecl fputs(const char _FAR_ *, FILE _FAR_ *);
- size_t _FAR_ __cdecl fread(void _FAR_ *, size_t, size_t, FILE _FAR_ *);
- FILE _FAR_ * _FAR_ __cdecl freopen(const char _FAR_ *,
- const char _FAR_ *, FILE _FAR_ *);
- #ifndef _WINDLL
- int _FAR_ __cdecl fscanf(FILE _FAR_ *, const char _FAR_ *, ...);
- #endif
- int _FAR_ __cdecl fsetpos(FILE _FAR_ *, const fpos_t _FAR_ *);
- int _FAR_ __cdecl fseek(FILE _FAR_ *, long, int);
- long _FAR_ __cdecl ftell(FILE _FAR_ *);
- #ifdef _WINDOWS
- #ifndef _WINDLL
- FILE * _FAR_ __cdecl _fwopen(struct _wopeninfo _FAR_ *, struct _wsizeinfo _FAR_ *, const char _FAR_ *);
- #endif
- #endif
- size_t _FAR_ __cdecl fwrite(const void _FAR_ *, size_t, size_t,
- FILE _FAR_ *);
- int _FAR_ __cdecl getc(FILE _FAR_ *);
- #ifndef _WINDLL
- int _FAR_ __cdecl getchar(void);
- char _FAR_ * _FAR_ __cdecl gets(char _FAR_ *);
- #endif
- int _FAR_ __cdecl _getw(FILE _FAR_ *);
- #ifndef _WINDLL
- void _FAR_ __cdecl perror(const char _FAR_ *);
- #endif
- int _FAR_ __cdecl _pclose(FILE _FAR_ *);
- FILE _FAR_ * _FAR_ __cdecl _popen(const char _FAR_ *,
- const char _FAR_ *);
- #ifndef _WINDLL
- int _FAR_ __cdecl printf(const char _FAR_ *, ...);
- #endif
- int _FAR_ __cdecl putc(int, FILE _FAR_ *);
- #ifndef _WINDLL
- int _FAR_ __cdecl putchar(int);
- int _FAR_ __cdecl puts(const char _FAR_ *);
- #endif
- int _FAR_ __cdecl _putw(int, FILE _FAR_ *);
- int _FAR_ __cdecl remove(const char _FAR_ *);
- int _FAR_ __cdecl rename(const char _FAR_ *, const char _FAR_ *);
- void _FAR_ __cdecl rewind(FILE _FAR_ *);
- int _FAR_ __cdecl _rmtmp(void);
- #ifndef _WINDLL
- int _FAR_ __cdecl scanf(const char _FAR_ *, ...);
- #endif
- void _FAR_ __cdecl setbuf(FILE _FAR_ *, char _FAR_ *);
- int _FAR_ __cdecl setvbuf(FILE _FAR_ *, char _FAR_ *, int, size_t);
- #ifndef _WINDLL
- int _FAR_ __cdecl sprintf(char _FAR_ *, const char _FAR_ *, ...);
- int _FAR_ __cdecl sscanf(const char _FAR_ *, const char _FAR_ *, ...);
- #endif
- char _FAR_ * _FAR_ __cdecl _tempnam(char _FAR_ *, char _FAR_ *);
- FILE _FAR_ * _FAR_ __cdecl tmpfile(void);
- char _FAR_ * _FAR_ __cdecl tmpnam(char _FAR_ *);
- int _FAR_ __cdecl ungetc(int, FILE _FAR_ *);
- int _FAR_ __cdecl _unlink(const char _FAR_ *);
- #ifndef _WINDLL
- int _FAR_ __cdecl vfprintf(FILE _FAR_ *, const char _FAR_ *, va_list);
- int _FAR_ __cdecl vprintf(const char _FAR_ *, va_list);
- int _FAR_ __cdecl vsprintf(char _FAR_ *, const char _FAR_ *, va_list);
- #endif
- #define _STDIO_DEFINED
- #endif
-
- /* macro definitions */
-
- #define feof(_stream) ((_stream)->_flag & _IOEOF)
- #define ferror(_stream) ((_stream)->_flag & _IOERR)
- #define _fileno(_stream) ((int)(unsigned char)(_stream)->_file)
- #define getc(_stream) (--(_stream)->_cnt >= 0 ? 0xff & *(_stream)->_ptr++ \
- : _filbuf(_stream))
- #define putc(_c,_stream) (--(_stream)->_cnt >= 0 \
- ? 0xff & (*(_stream)->_ptr++ = (char)(_c)) : _flsbuf((_c),(_stream)))
- #ifndef _WINDLL
- #define getchar() getc(stdin)
- #define putchar(_c) putc((_c),stdout)
- #endif
-
- #ifdef _MT
- #undef getc
- #undef putc
- #undef getchar
- #undef putchar
- #endif
-
- #ifndef __STDC__
- /* Non-ANSI names for compatibility */
-
- #define P_tmpdir _P_tmpdir
- #define SYS_OPEN _SYS_OPEN
-
- #ifndef _WINDOWS
- #define stdaux _stdaux
- #define stdprn _stdprn
- #endif
-
- int _FAR_ __cdecl fcloseall(void);
- FILE _FAR_ * _FAR_ __cdecl fdopen(int, const char _FAR_ *);
- #ifndef _WINDLL
- int _FAR_ __cdecl fgetchar(void);
- #endif
- int _FAR_ __cdecl fileno(FILE _FAR_ *);
- int _FAR_ __cdecl flushall(void);
- #ifndef _WINDLL
- int _FAR_ __cdecl fputchar(int);
- #endif
- int _FAR_ __cdecl getw(FILE _FAR_ *);
- int _FAR_ __cdecl putw(int, FILE _FAR_ *);
- int _FAR_ __cdecl rmtmp(void);
- char _FAR_ * _FAR_ __cdecl tempnam(char _FAR_ *, char _FAR_ *);
- int _FAR_ __cdecl unlink(const char _FAR_ *);
-
- #endif /* __STDC__ */
-
- #ifdef __cplusplus
- }
- #endif
-
- #define _INC_STDIO
- #endif /* _INC_STDIO */
-