--- mstools/h/direct.h 2018/08/09 18:20:34 1.1.1.2 +++ mstools/h/direct.h 2018/08/09 18:21:14 1.1.1.3 @@ -11,17 +11,44 @@ #ifndef _INC_DIRECT + #ifdef __cplusplus 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 @@ -44,15 +71,15 @@ struct _diskfree_t { /* function prototypes */ -int _chdir(const char *); -int _chdrive(int); -char * _getcwd(char *, int); -char * _getdcwd(int, char *, int); -int _getdrive(void); -int _mkdir(const char *); -int _rmdir(const char *); -unsigned _getdiskfree(unsigned, struct _diskfree_t *); -unsigned long _getdrives(void); +int _CRTAPI1 _chdir(const char *); +int _CRTAPI1 _chdrive(int); +char * _CRTAPI1 _getcwd(char *, int); +char * _CRTAPI1 _getdcwd(int, char *, int); +int _CRTAPI1 _getdrive(void); +int _CRTAPI1 _mkdir(const char *); +int _CRTAPI1 _rmdir(const char *); +unsigned _CRTAPI1 _getdiskfree(unsigned, struct _diskfree_t *); +unsigned long _CRTAPI1 _getdrives(void);