;
;* crtdll.def
;* This file has no copyright assigned and is placed in the Public Domain.
;* This file is part of the mingw-runtime package.
;* No warranty is given; refer to the file DISCLAIMER.PD within the package.
;
; Exports from crtdll.dll from Windows 95 SYSTEM directory.  Matches also
; crtdll.dll provided with Windows 98, Windows Me and Windows NT 3.50.
; It is compatible also with new Windows NT versions (e.g. Windows 10).
;
; Windows NT 3.1 misses following symbols:
; _set_new_handler __dllonexit _heapchk _heapmin _heapset _heapwalk _ismb*
; _mb* (except _mbstrlen) _strdec _strinc _strncnt _strnextc _strninc _strspnp
; _wtoi _wtol
;
; Win32s 1.30c on Windows 3.1 misses following symbols:
; __argc_dll __argv_dll _environ_dll _pgmptr_dll
;
; Win32s on Windows 3.1, Windows NT 3.51 and new Windows NT versions contains
; additional symbols defined at the end of file.
;
; NOTE: The crtdll is OBSOLETE and msvcrt should be used instead.  The msvcrt
; is available for free download from Microsoft Corporation and will work on
; Windows 95.  Support for the crtdll is deprecated and this file may be
; deleted in future versions.
;
; These are symbols for which I have not yet written prototypes or
; otherwise set up (they are still included below though unlike those
; first three).
;
;    _CIacos
;    _CIasin
;    _CIatan
;    _CIatan2
;    _CIcos
;    _CIcosh
;    _CIexp
;    _CIfmod
;    _CIlog
;    _CIlog10
;    _CIpow
;    _CIsin
;    _CIsinh
;    _CIsqrt
;    _CItan
;    _CItanh
;    __dllonexit
;    _acmdln_dll
;    _aexit_rtn_dll
;    _amsg_exit
;    _commode_dll
;    _cpumode_dll
;    _ctype
;    _fileinfo_dll
;    _fmode_dll
;    _ftol
;    _initterm
;    _osversion_dll
;    _purecall
;    _strdec
;    _strinc
;    _strncnt
;    _strnextc
;    _strninc
;    _strspnp
;
LIBRARY "CRTDLL.dll"
EXPORTS

; crtdll.dll contains 3 mangled C++ symbols
; void *__cdecl operator new(unsigned int)
??2@YAPAXI@Z
; void __cdecl operator delete(void *)
??3@YAXPAX@Z
; int(__cdecl *)(unsigned int)__cdecl _set_new_handler(int(__cdecl *)(unsigned int))
?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z

_CIacos
_CIasin
_CIatan
_CIatan2
_CIcos
_CIcosh
_CIexp
_CIfmod
_CIlog
_CIlog10
_CIpow
_CIsin
_CIsinh
_CIsqrt
_CItan
_CItanh
_HUGE_dll DATA
_HUGE DATA == _HUGE_dll
_XcptFilter
__GetMainArgs
__argc_dll DATA
__argc DATA == __argc_dll
__argv_dll DATA
__argv DATA == __argv_dll
__dllonexit
__doserrno
__fpecode
__isascii
__iscsym
__iscsymf
__mb_cur_max_dll DATA
__mb_cur_max DATA == __mb_cur_max_dll
__pxcptinfoptrs
__threadhandle
__threadid
__toascii
_abnormal_termination
_access
_acmdln_dll DATA
_acmdln DATA == _acmdln_dll
_aexit_rtn_dll DATA
_aexit_rtn DATA == _aexit_rtn_dll
_amsg_exit
_assert
_basemajor_dll DATA
_baseminor_dll DATA
_baseversion_dll DATA
_beep
_beginthread
_c_exit
_cabs DATA
_cexit
_cgets
_chdir
_chdrive
_chgsign
_chmod
_chsize
_clearfp
_close
_commit
_commode_dll DATA
_commode DATA == _commode_dll
_control87
_controlfp
_copysign
_cprintf
_cpumode_dll DATA
_cputs
_creat
_cscanf
_ctype DATA
_cwait
_daylight_dll DATA
_daylight DATA == _daylight_dll
_dup
_dup2
_ecvt
_endthread
_environ_dll DATA
_environ DATA == _environ_dll
_eof
_errno
_except_handler2
_execl
_execle
_execlp
_execlpe
_execv
_execve
_execvp
_execvpe
_exit
_expand
_fcloseall
_fcvt
_fdopen
_fgetchar
_fgetwchar
_filbuf
_fileinfo_dll DATA
_fileinfo DATA == _fileinfo_dll
_filelength
_fileno
_findclose
_findfirst
_findnext
_finite
_flsbuf
_flushall
_fmode_dll DATA
_fmode DATA == _fmode_dll
_fpclass
_fpieee_flt
_fpreset DATA
_fputchar
_fputwchar
_fsopen
__crtdll_fstat == _fstat ; crtdll.dll's _fstat is incompatible with mingw-w64's _fstat, real _fstat provided by emu
_ftime
_ftol
_fullpath
_futime
_gcvt
_get_osfhandle
_getch
_getche
_getcwd
_getdcwd
_getdiskfree
_getdllprocaddr
_getdrive
_getdrives
_getpid
_getsystime
_getw
_global_unwind2
_heapchk
_heapmin
_heapset
_heapwalk
_hypot
_initterm
_iob DATA
_isatty
_isctype
_ismbbalnum
_ismbbalpha
_ismbbgraph
_ismbbkalnum
_ismbbkana
_ismbbkpunct
; _ismbblead is replaced by emu
_ismbbprint
_ismbbpunct
_ismbbtrail
_ismbcalpha
_ismbcdigit
_ismbchira
_ismbckata
_ismbcl0
_ismbcl1
_ismbcl2
_ismbclegal
_ismbclower
_ismbcprint
_ismbcspace
_ismbcsymbol
_ismbcupper
_ismbslead
_ismbstrail
_isnan
_itoa
_j0
_j1
_jn
_kbhit
_lfind
_loaddll
_local_unwind2
_locking
_logb
_lrotl
_lrotr
_lsearch
_lseek
_ltoa
_makepath
_matherr
_mbbtombc
_mbbtype
_mbccpy
_mbcjistojms
_mbcjmstojis
_mbclen
_mbctohira
_mbctokata
_mbctolower
_mbctombb
_mbctoupper
_mbctype DATA
_mbsbtype
_mbscat
_mbschr
_mbscmp
_mbscpy
_mbscspn
_mbsdec
_mbsdup
_mbsicmp
_mbsinc
_mbslen
_mbslwr
_mbsnbcat
_mbsnbcmp
_mbsnbcnt
_mbsnbcpy
_mbsnbicmp
_mbsnbset
_mbsncat
_mbsnccnt
_mbsncmp
_mbsncpy
_mbsnextc
_mbsnicmp
_mbsninc
_mbsnset
_mbspbrk
_mbsrchr
_mbsrev
_mbsset
_mbsspn
_mbsspnp
_mbsstr
_mbstok
_mbstrlen
_mbsupr
_memccpy
_memicmp
_mkdir
_mktemp
_msize
_nextafter
; _onexit ; disable _onexit for compatibility with DLL builds, real _onexit function provided by mingw-w64
_open
_open_osfhandle
_osmajor_dll DATA
_osminor_dll DATA
_osmode_dll DATA
_osver_dll DATA
_osver DATA == _osver_dll
_osversion_dll DATA
_pclose
_pctype_dll DATA
_pctype DATA == _pctype_dll
_pgmptr_dll DATA
_pgmptr DATA == _pgmptr_dll
_pipe
_popen
_purecall
_putch
_putenv
_putw
_pwctype_dll DATA
_pwctype DATA == _pwctype_dll
_read
_rmdir
_rmtmp
_rotl
_rotr
_scalb
_searchenv
_seterrormode
_setjmp
_setmode
_setsystime
_sleep
_snprintf
_snwprintf
_sopen
_spawnl
_spawnle
_spawnlp
_spawnlpe
_spawnv
_spawnve
_spawnvp
_spawnvpe
_splitpath
__crtdll_stat == _stat ; crtdll.dll's _stat is incompatible with mingw-w64's _stat, real _stat provided by emu
_statusfp
_strcmpi
_strdate
_strdec
_strdup
_strerror
_stricmp
_stricoll
_strinc
_strlwr
_strncnt
_strnextc
_strnicmp
_strninc
_strnset
_strrev
_strset
_strspnp
_strtime
_strupr
_swab
_sys_errlist DATA
_sys_nerr_dll DATA
_sys_nerr DATA == _sys_nerr_dll
_tell
_tempnam
_timezone_dll DATA
_timezone DATA == _timezone_dll
_tolower
_toupper
_tzname DATA
_tzset
_ultoa
_umask
_ungetch
_unlink
_unloaddll
_utime
_vsnprintf
_vsnwprintf
_wcsdup
_wcsicmp
_wcsicoll
_wcslwr
_wcsnicmp
_wcsnset
_wcsrev
_wcsset
_wcsupr
_winmajor_dll DATA
_winmajor DATA == _winmajor_dll
_winminor_dll DATA
_winminor DATA == _winminor_dll
_winver_dll DATA
_winver DATA == _winver_dll
_write
_wtoi
_wtol
_y0
_y1
_yn
abort
abs
acos
asctime
asin DATA
atan DATA
atan2 DATA
_crt_atexit == atexit ; rename atexit to _crt_atexit for compatibility with UCRT, real atexit function provided by mingw-w64
atof
atoi
atol
bsearch
calloc
ceil
clearerr
clock
cos DATA
cosh
ctime
difftime
div
exit
exp DATA
fabs DATA
fclose
feof
ferror
fflush
fgetc
fgetpos32 == fgetpos ; rename fgetpos as it is not 64-bit
fgets
fgetwc
floor
fmod
fopen
fprintf
fputc
fputs
fputwc
fread
free
freopen
frexp
fscanf
fseek
fsetpos32 == fsetpos ; rename fsetpos as it is not 64-bit
ftell
fwprintf
fwrite
fwscanf
getc
getchar
getenv
gets
gmtime
is_wctype
isalnum
isalpha
iscntrl
isdigit
isgraph
isleadbyte
islower
isprint
ispunct
isspace
isupper
iswalnum
iswalpha
iswascii
iswcntrl
iswctype
iswdigit
iswgraph
iswlower
iswprint
iswpunct
iswspace
iswupper
iswxdigit
isxdigit
labs
ldexp DATA
ldiv
localeconv
localtime
log
log10
longjmp
malloc
mblen
mbstowcs
mbtowc
memchr
memcmp
memcpy
memmove
memset
mktime
modf
perror
pow
printf
putc
putchar
puts
qsort
raise
rand
realloc
remove
rename
rewind
scanf
setbuf
setlocale
setvbuf
signal
sin
sinh
sprintf
sqrt
srand
sscanf
strcat
strchr
strcmp
strcoll
strcpy
strcspn
strerror
strftime
strlen
strncat
strncmp
strncpy
strpbrk
strrchr
strspn
strstr
strtod
strtok
strtol
strtoul
strxfrm
_swprintf == swprintf ; rename swprintf to _swprintf for compatibility with msvcr80+, real C95+ compatible swprintf provided by mingw-w64
swscanf
system
tan
tanh
time
tmpfile
tmpnam
tolower
toupper
towlower
towupper
ungetc
ungetwc
vfprintf
vfwprintf
vprintf
vsprintf
_vswprintf == vswprintf ; rename vswprintf to _vswprintf for compatibility with msvcr80+, real C95+ compatible vswprintf provided by mingw-w64
vwprintf
wcscat
wcschr
wcscmp
wcscoll
wcscpy
wcscspn
wcsftime
wcslen
wcsncat
wcsncmp
wcsncpy
wcspbrk
wcsrchr
wcsspn
wcsstr
wcstod
_wcstok == wcstok ; provide nonstandard function "wcstok" in the DLL, under the name "_wcstok" to match UCRT, the C95+ compatible "wcstok" is provided by mingw-w64
wcstol
wcstombs
wcstoul
wcsxfrm
wctomb
wprintf
wscanf

; crtdll.dll from Win32s (Windows 3.1) and crtdll.dll on Windows NT 3.51 (and new)
; contains 3 additional symbols which are not available in the Windows 95, 98 or ME.
_itow
_ltow
_ultow

; include symbol aliases for compatibility with msvcrt.dll
#define CRTDLL
#define FIXED_SIZE_SYMBOLS
#define NO_WIDE_FIXED_SIZE
#define NO_I64_FIXED_SIZE
#define NO_FPOS64_ALIASES
#define NO_STRCMPI_ALIAS
#define WITH_NEXTAFTER_ALIAS
#define WITH_GET_PUT_WCHAR_ALIASES
#include "crt-aliases.def.in"
