blob: 6d91e760bfae15b4cef9906e4b4c4a1d1f5963e8 [file] [log] [blame]
#include "func.def.in"
#define ADD_UNDERSCORE(symbol) symbol == _ ## symbol
#define ADD_DOUBLE_UNDERSCORE(symbol) symbol == __ ## symbol
// for __cdecl and __stdcall only
#define DECORATED_EXPORT(symbol) symbol == _ ## symbol
ADD_DOUBLE_UNDERSCORE(iscsymf)
ADD_DOUBLE_UNDERSCORE(iscsym)
ADD_DOUBLE_UNDERSCORE(isascii)
ADD_DOUBLE_UNDERSCORE(toascii)
wcscmpi == _wcsicmp
strcasecmp == _stricmp
strncasecmp == _strnicmp
#ifdef UCRTBASE
; access is provided as an alias for __mingw_access
#else
ADD_UNDERSCORE(access)
#endif
ADD_UNDERSCORE(chdir)
ADD_UNDERSCORE(chmod)
ADD_UNDERSCORE(chsize)
ADD_UNDERSCORE(close)
ADD_UNDERSCORE(creat)
ADD_UNDERSCORE(cwait)
ADD_UNDERSCORE(dup)
ADD_UNDERSCORE(dup2)
ADD_UNDERSCORE(ecvt)
ADD_UNDERSCORE(eof)
ADD_UNDERSCORE(execl)
ADD_UNDERSCORE(execle)
ADD_UNDERSCORE(execlp)
ADD_UNDERSCORE(execlpe)
ADD_UNDERSCORE(execv)
ADD_UNDERSCORE(execve)
ADD_UNDERSCORE(execvp)
ADD_UNDERSCORE(execvpe)
ADD_UNDERSCORE(fcloseall)
ADD_UNDERSCORE(fcvt)
ADD_UNDERSCORE(fdopen)
ADD_UNDERSCORE(fgetchar)
ADD_UNDERSCORE(fgetwchar)
ADD_UNDERSCORE(filelength)
ADD_UNDERSCORE(fileno)
; Alias fpreset is set in CRT_fp10.c and CRT_fp8.c.
; ADD_UNDERSCORE(fpreset)
ADD_UNDERSCORE(fputchar)
ADD_UNDERSCORE(fputwchar)
; ADD_UNDERSCORE(fstat)
; ADD_UNDERSCORE(ftime)
ADD_UNDERSCORE(gcvt)
ADD_UNDERSCORE(getch)
ADD_UNDERSCORE(getche)
ADD_UNDERSCORE(getcwd)
#ifdef UCRTBASE
; ucrtbase.dll has got _getpid for all archs
ADD_UNDERSCORE(getpid)
#elif !defined(NO_GETPID_ALIAS)
; msvcrt.dll for arm/arm64 lacks _getpid
F_X86_ANY(ADD_UNDERSCORE(getpid))
#endif
ADD_UNDERSCORE(getw)
ADD_UNDERSCORE(heapwalk)
ADD_UNDERSCORE(isatty)
ADD_UNDERSCORE(itoa)
ADD_UNDERSCORE(kbhit)
ADD_UNDERSCORE(lfind)
ADD_UNDERSCORE(lsearch)
ADD_UNDERSCORE(lseek)
ADD_UNDERSCORE(ltoa)
ADD_UNDERSCORE(memccpy)
ADD_UNDERSCORE(memicmp)
ADD_UNDERSCORE(mkdir)
ADD_UNDERSCORE(mktemp)
ADD_UNDERSCORE(open)
ADD_UNDERSCORE(pclose)
ADD_UNDERSCORE(popen)
ADD_UNDERSCORE(putch)
ADD_UNDERSCORE(putenv)
ADD_UNDERSCORE(putw)
ADD_UNDERSCORE(read)
ADD_UNDERSCORE(rmdir)
ADD_UNDERSCORE(rmtmp)
ADD_UNDERSCORE(searchenv)
ADD_UNDERSCORE(setmode)
ADD_UNDERSCORE(sopen)
ADD_UNDERSCORE(spawnl)
ADD_UNDERSCORE(spawnle)
ADD_UNDERSCORE(spawnlp)
ADD_UNDERSCORE(spawnlpe)
ADD_UNDERSCORE(spawnv)
ADD_UNDERSCORE(spawnve)
ADD_UNDERSCORE(spawnvp)
ADD_UNDERSCORE(spawnvpe)
; ADD_UNDERSCORE(stat)
#ifndef UCRTBASE
ADD_UNDERSCORE(strcmpi)
#endif
ADD_UNDERSCORE(strdup)
ADD_UNDERSCORE(stricmp)
ADD_UNDERSCORE(stricoll)
ADD_UNDERSCORE(strlwr)
ADD_UNDERSCORE(strnicmp)
ADD_UNDERSCORE(strnset)
ADD_UNDERSCORE(strrev)
ADD_UNDERSCORE(strset)
ADD_UNDERSCORE(strupr)
ADD_UNDERSCORE(swab)
ADD_UNDERSCORE(tell)
ADD_UNDERSCORE(tempnam)
#ifndef UCRTBASE
ADD_UNDERSCORE(tzset)
#endif
ADD_UNDERSCORE(umask)
ADD_UNDERSCORE(ungetch)
ADD_UNDERSCORE(unlink)
#ifndef UCRTBASE
ADD_UNDERSCORE(utime)
#endif
ADD_UNDERSCORE(wcsdup)
ADD_UNDERSCORE(wcsicmp)
ADD_UNDERSCORE(wcsicoll)
ADD_UNDERSCORE(wcslwr)
ADD_UNDERSCORE(wcsnicmp)
ADD_UNDERSCORE(wcsnset)
ADD_UNDERSCORE(wcsrev)
ADD_UNDERSCORE(wcsset)
ADD_UNDERSCORE(wcsupr)
ADD_UNDERSCORE(wpopen)
ADD_UNDERSCORE(write)
; non-ANSI functions declared in math.h
ADD_UNDERSCORE(j0)
ADD_UNDERSCORE(j1)
ADD_UNDERSCORE(jn)
ADD_UNDERSCORE(y0)
ADD_UNDERSCORE(y1)
ADD_UNDERSCORE(yn)
ADD_UNDERSCORE(chgsign)
; ADD_UNDERSCORE(scalb)
ADD_UNDERSCORE(finite)
ADD_UNDERSCORE(fpclass)
; C99 functions
; ADD_UNDERSCORE(cabs)
ADD_UNDERSCORE(hypot)
; ADD_UNDERSCORE(logb)
ADD_UNDERSCORE(nextafter)
#ifndef UCRTBASE
daylight DATA == _daylight
timezone DATA == _timezone
tzname DATA == _tzname
ADD_UNDERSCORE(vsnprintf_s)
#endif
; This is list of various symbol aliases which are needed for compatibility
; Some symbols in some version of CRT library were added and some other symbols were removed or renamed
; This list provides some level of backward and forward compatibility
#ifndef NO_STRCMPI_ALIAS
_strcmpi == _stricmp
#endif
; This is list of printf/scanf symbol aliases with __ms_ prefix
#ifndef UCRTBASE
__ms_fprintf == fprintf
__ms_fscanf == fscanf
__ms_fwprintf == fwprintf
__ms_fwscanf == fwscanf
__ms_printf == printf
__ms_scanf == scanf
__ms_sprintf == sprintf
__ms_sscanf == sscanf
#ifdef PRE_C95_SWPRINTF
__ms_swprintf == swprintf
#else
__ms_swprintf == _swprintf
#endif
__ms_swscanf == swscanf
__ms_vfprintf == vfprintf
__ms_vfwprintf == vfwprintf
__ms_vprintf == vprintf
__ms_vsprintf == vsprintf
#ifdef PRE_C95_SWPRINTF
__ms_vswprintf == vswprintf
#else
__ms_vswprintf == _vswprintf
#endif
__ms_vwprintf == vwprintf
__ms_wprintf == wprintf
__ms_wscanf == wscanf
#endif