--- mstools/h/stdio.h 2018/08/09 18:20:32 1.1.1.2 +++ mstools/h/stdio.h 2018/08/09 18:21:10 1.1.1.3 @@ -17,12 +17,38 @@ extern "C" { #endif -#ifndef MIPS -#if (_MSC_VER <= 600) -#define __cdecl _cdecl -#endif +/* + * Conditional macro definition for function calling type and variable type + * qualifiers. + */ +#if ( (_MSC_VER >= 800) && (_M_IX86 >= 300) ) + +/* + * Definitions for MS C8-32 (386/486) compiler + */ +#define _CRTAPI1 __cdecl +#define _CRTAPI2 __cdecl + +#elif ( _MSC_VER == 600 ) + +/* + * Definitions for old MS C6-386 compiler + */ +#define _CRTAPI1 _cdecl +#define _CRTAPI2 _cdecl +#define _M_IX86 300 + +#else + +/* + * Other compilers (e.g., MIPS) + */ +#define _CRTAPI1 +#define _CRTAPI2 + #endif + #ifndef _SIZE_T_DEFINED typedef unsigned int size_t; #define _SIZE_T_DEFINED @@ -73,16 +99,22 @@ typedef struct _iobuf FILE; #endif /* Directory where temporary files may be created. */ -#define _P_tmpdir "\\" + +#define _P_tmpdir "/" + /* L_tmpnam = size of P_tmpdir - * + 1 (in case P_tmpdir does not end in "\\") + * + 1 (in case P_tmpdir does not end in "/") * + 12 (for the filename string) * + 1 (for the null terminator) */ #define L_tmpnam sizeof(_P_tmpdir)+12 +#ifdef _POSIX_ +#define L_ctermid 9 +#endif + #define SEEK_CUR 1 #define SEEK_END 2 #define SEEK_SET 0 @@ -147,90 +179,93 @@ typedef long fpos_t; /* function prototypes */ #ifndef _STDIO_DEFINED -int _filbuf(FILE *); -int _flsbuf(int, FILE *); +int _CRTAPI1 _filbuf(FILE *); +int _CRTAPI1 _flsbuf(int, FILE *); #ifdef _POSIX_ -FILE * _fsopen(const char *, const char *); +FILE * _CRTAPI1 _fsopen(const char *, const char *); #else -FILE * _fsopen(const char *, const char *, int); +FILE * _CRTAPI1 _fsopen(const char *, const char *, int); #endif -void clearerr(FILE *); -int fclose(FILE *); -int _fcloseall(void); +void _CRTAPI1 clearerr(FILE *); +int _CRTAPI1 fclose(FILE *); +int _CRTAPI1 _fcloseall(void); #ifdef _POSIX_ -FILE * fdopen(int, const char *); +FILE * _CRTAPI1 fdopen(int, const char *); #else -FILE * _fdopen(int, const char *); +FILE * _CRTAPI1 _fdopen(int, const char *); #endif -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 _CRTAPI1 feof(FILE *); +int _CRTAPI1 ferror(FILE *); +int _CRTAPI1 fflush(FILE *); +int _CRTAPI1 fgetc(FILE *); +int _CRTAPI1 _fgetchar(void); +int _CRTAPI1 fgetpos(FILE *, fpos_t *); +char * _CRTAPI1 fgets(char *, int, FILE *); #ifdef _POSIX_ -int fileno(FILE *); +int _CRTAPI1 fileno(FILE *); #else -int _fileno(FILE *); +int _CRTAPI1 _fileno(FILE *); #endif -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 fsetpos(FILE *, const fpos_t *); -int fseek(FILE *, long, int); -long 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 _pclose(FILE *); -FILE * _popen(const char *, 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 _snprintf(char *, size_t, const char *, ...); -int sprintf(char *, const char *, ...); -int sscanf(const char *, const char *, ...); -char * _tempnam(char *, char *); -FILE * tmpfile(void); -char * tmpnam(char *); -int ungetc(int, FILE *); -int _unlink(const char *); -int vfprintf(FILE *, const char *, va_list); -int vprintf(const char *, va_list); -int _vsnprintf(char *, size_t, const char *, va_list); -int vsprintf(char *, const char *, va_list); +int _CRTAPI1 _flushall(void); +FILE * _CRTAPI1 fopen(const char *, const char *); +int _CRTAPI2 fprintf(FILE *, const char *, ...); +int _CRTAPI1 fputc(int, FILE *); +int _CRTAPI1 _fputchar(int); +int _CRTAPI1 fputs(const char *, FILE *); +size_t _CRTAPI1 fread(void *, size_t, size_t, FILE *); +FILE * _CRTAPI1 freopen(const char *, const char *, FILE *); +int _CRTAPI2 fscanf(FILE *, const char *, ...); +int _CRTAPI1 fsetpos(FILE *, const fpos_t *); +int _CRTAPI1 fseek(FILE *, long, int); +long _CRTAPI1 ftell(FILE *); +size_t _CRTAPI1 fwrite(const void *, size_t, size_t, FILE *); +int _CRTAPI1 getc(FILE *); +int _CRTAPI1 getchar(void); +char * _CRTAPI1 gets(char *); +int _CRTAPI1 _getw(FILE *); +void _CRTAPI1 perror(const char *); +int _CRTAPI1 _pclose(FILE *); +FILE * _CRTAPI1 _popen(const char *, const char *); +int _CRTAPI2 printf(const char *, ...); +int _CRTAPI1 putc(int, FILE *); +int _CRTAPI1 putchar(int); +int _CRTAPI1 puts(const char *); +int _CRTAPI1 _putw(int, FILE *); +int _CRTAPI1 remove(const char *); +int _CRTAPI1 rename(const char *, const char *); +void _CRTAPI1 rewind(FILE *); +int _CRTAPI1 _rmtmp(void); +int _CRTAPI2 scanf(const char *, ...); +void _CRTAPI1 setbuf(FILE *, char *); +int _CRTAPI1 setvbuf(FILE *, char *, int, size_t); +int _CRTAPI2 _snprintf(char *, size_t, const char *, ...); +int _CRTAPI2 sprintf(char *, const char *, ...); +int _CRTAPI2 sscanf(const char *, const char *, ...); +char * _CRTAPI1 _tempnam(char *, char *); +FILE * _CRTAPI1 tmpfile(void); +char * _CRTAPI1 tmpnam(char *); +int _CRTAPI1 ungetc(int, FILE *); +int _CRTAPI1 _unlink(const char *); +int _CRTAPI1 vfprintf(FILE *, const char *, va_list); +int _CRTAPI1 vprintf(const char *, va_list); +int _CRTAPI1 _vsnprintf(char *, size_t, const char *, va_list); +int _CRTAPI1 vsprintf(char *, const char *, va_list); #ifndef __STDC__ #ifndef _WSTDIO_DEFINED /* declared in wchar.h, officially */ -int fwprintf(FILE *, const wchar_t *, ...); -int wprintf(const wchar_t *, ...); -int _snwprintf(wchar_t *, size_t, const wchar_t *, ...); -int swprintf(wchar_t *, const wchar_t *, ...); -int vfwprintf(FILE *, const wchar_t *, va_list); -int vwprintf(const wchar_t *, va_list); -int _vsnwprintf(wchar_t *, size_t, const wchar_t *, va_list); -int vswprintf(wchar_t *, const wchar_t *, va_list); +int _CRTAPI2 fwprintf(FILE *, const wchar_t *, ...); +int _CRTAPI2 wprintf(const wchar_t *, ...); +int _CRTAPI2 _snwprintf(wchar_t *, size_t, const wchar_t *, ...); +int _CRTAPI2 swprintf(wchar_t *, const wchar_t *, ...); +int _CRTAPI1 vfwprintf(FILE *, const wchar_t *, va_list); +int _CRTAPI1 vwprintf(const wchar_t *, va_list); +int _CRTAPI1 _vsnwprintf(wchar_t *, size_t, const wchar_t *, va_list); +int _CRTAPI1 vswprintf(wchar_t *, const wchar_t *, va_list); +int _CRTAPI2 fwscanf(FILE *, const wchar_t *, ...); +int _CRTAPI2 swscanf(const wchar_t *, const wchar_t *, ...); +int _CRTAPI2 wscanf(const wchar_t *, ...); #define _WSTDIO_DEFINED #endif #endif /* !__STDC__ */