20#ifndef __WINE_MSVCRT_H
21#define __WINE_MSVCRT_H
43#define _IOMYBUF 0x0040
47#define MSVCRT__NOBUF 0x0400
51#define MSVCRT__NOBUF _IONBF
59#define _NO_CRT_STDIO_INLINE
72#define DBL80_MAX_10_EXP 4932
73#define DBL80_MIN_10_EXP -4951
85typedef struct {
ULONG x80[3];} WINE_BROKEN_LDOUBLE;
110#if _MSVCR_VER == 0 || _MSVCR_VER >= 100
127 const wchar_t *locname;
163#if defined(__x86_64__) && _MSVCR_VER>=140
164BOOL msvcrt_init_handler4(
void);
165void msvcrt_attach_handler4(
void);
166void msvcrt_free_handler4(
void);
172#define LOCALE_FREE 0x1
173#define LOCALE_THREAD 0x2
239void throw_bad_alloc(
void);
286extern void msvcrt_init_concurrency(
void*);
287extern void msvcrt_free_concurrency(
void);
288extern void msvcrt_free_scheduler_thread(
void);
299#define _RT_EXECFORM 6
301#define _RT_SPACEARG 8
302#define _RT_SPACEENV 9
311#define _RT_OPENCON 19
314#define _RT_NONCONT 22
315#define _RT_INVALDISP 23
317#define _RT_PUREVIRT 25
318#define _RT_STDIOINIT 26
319#define _RT_LOWIOINIT 27
320#define _RT_HEAPINIT 28
321#define _RT_DOMAIN 120
325#define _RT_BANNER 255
327#define MSVCRT_NO_CONSOLE_FD (-2)
328#define MSVCRT_NO_CONSOLE ((HANDLE)MSVCRT_NO_CONSOLE_FD)
332#define __acrt_iob_func(idx) (MSVCRT__iob+(idx))
336#define MSVCRT__USERBUF 0x0100
337#define MSVCRT__IOCOMMIT 0x4000
339#define _MAX__TIME64_T (((__time64_t)0x00000007 << 32) | 0x93406FFF)
376#define MSVCRT_INVALID_PMT(x,err) (*_errno() = (err), _invalid_parameter(NULL, NULL, NULL, 0, 0))
377#define MSVCRT_CHECK_PMT_ERR(x,err) ((x) || (MSVCRT_INVALID_PMT( 0, (err) ), FALSE))
378#define MSVCRT_CHECK_PMT(x) MSVCRT_CHECK_PMT_ERR((x), EINVAL)
401#define UCRTBASE_PRINTF_MASK ( \
402 _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION | \
403 _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR | \
404 _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS | \
405 _CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY | \
406 _CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS | \
407 _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING )
409#define MSVCRT_PRINTF_POSITIONAL_PARAMS (0x0100)
410#define MSVCRT_PRINTF_INVOKE_INVALID_PARAM_HANDLER (0x0200)
412#define UCRTBASE_SCANF_MASK ( \
413 _CRT_INTERNAL_SCANF_SECURECRT | \
414 _CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS | \
415 _CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY )
417#define COOPERATIVE_TIMEOUT_INFINITE ((unsigned int)-1)
418#define COOPERATIVE_WAIT_TIMEOUT ~0
420#define INHERIT_THREAD_PRIORITY 0xF000
447 if (!wstr)
return NULL;
#define WideCharToMultiByte
#define MultiByteToWideChar
static _invalid_parameter_handler invalid_parameter_handler
unsigned long __msvcrt_ulong
_ACRTIMP unsigned int __cdecl ___lc_codepage_func(void)
void(__cdecl * _invalid_parameter_handler)(const wchar_t *, const wchar_t *, const wchar_t *, unsigned, uintptr_t)
void __cdecl _purecall(void)
thread_data_t *CDECL msvcrt_get_thread_data(void)
void __cdecl terminate(void)
static wchar_t * wstrdupa_utf8(const char *str)
wchar_t * msvcrt_wstrdupa(const char *)
static char * astrdupw_utf8(const wchar_t *wstr)
pthreadmbcinfo CDECL get_mbcinfo(void)
union _printf_arg printf_arg
int create_positional_ctx_w(void *, const wchar_t *, va_list)
int pf_printf_a(puts_clbk_a, void *, const char *, _locale_t, DWORD, args_clbk, void *, va_list *)
int MSVCRT___lc_collate_cp
void(__cdecl * MSVCRT_security_error_handler)(int, void *)
void msvcrt_init_exception(void *)
struct threadmbcinfostruct threadmbcinfo
void msvcrt_init_io(void)
void msvcrt_init_mt_locks(void)
wchar_t ** MSVCRT___winitenv
void *(__cdecl * malloc_func_t)(size_t)
_locale_t CDECL get_current_locale_noalloc(_locale_t locale)
unsigned int MSVCRT___lc_codepage
static int convert_acp_utf8_to_wcs(const char *str, wchar_t *wstr, int len)
BOOL msvcrt_init_heap(void)
unsigned int MSVCRT__commode
void CDECL __DestructExceptionObject(EXCEPTION_RECORD *)
static int convert_wcs_to_acp_utf8(const wchar_t *wstr, char *str, int len)
void msvcrt_free_args(void)
struct __lc_time_data __lc_time_data
int create_positional_ctx_a(void *, const char *, va_list)
void **__cdecl __current_exception(void)
BOOL msvcrt_create_io_inherit_block(WORD *, BYTE **)
struct fpnum fpnum_parse(wchar_t(*)(void *), void(*)(void *), void *, pthreadlocinfo, BOOL)
void free_mbcinfo(pthreadmbcinfo)
void __cdecl operator_delete(void *)
frame_info *__cdecl _CreateFrameInfo(frame_info *fi, void *obj)
int __cdecl __crtLCMapStringA(LCID, DWORD, const char *, int, char *, int, unsigned int, int)
int pf_printf_w(puts_clbk_w, void *, const wchar_t *, _locale_t, DWORD, args_clbk, void *, va_list *)
void msvcrt_destroy_heap(void)
int *__cdecl __processing_throw(void)
printf_arg arg_clbk_valist(void *, int, int, va_list *)
void msvcrt_free_io(void)
void msvcrt_free_signals(void)
printf_arg(* args_clbk)(void *, int, int, va_list *)
struct _frame_info frame_info
BOOL msvcrt_init_locale(void)
void msvcrt_free_popen_data(void)
void(__cdecl * _se_translator_function)(unsigned int code, struct _EXCEPTION_POINTERS *info)
void msvcrt_init_clock(void)
void __cdecl _amsg_exit(int errnum)
void __cdecl __CxxUnregisterExceptionObject(cxx_frame_info *, BOOL)
static UINT get_aw_cp(void)
__lc_time_data cloc_time_data
void(__cdecl * free_func_t)(void *)
void msvcrt_free_locks(void)
void free_locinfo(pthreadlocinfo)
void(__cdecl * unexpected_function)(void)
printf_arg arg_clbk_positional(void *, int, int, va_list *)
int(* puts_clbk_a)(void *, int, const char *)
void msvcrt_init_args(void)
void msvcrt_init_signals(void)
BOOL __cdecl __CxxRegisterExceptionObject(EXCEPTION_POINTERS *, cxx_frame_info *)
wchar_t ** MSVCRT__wenviron
void msvcrt_free_console(void)
void *__cdecl operator_new(size_t)
int __cdecl _set_new_mode(int mode)
pthreadlocinfo CDECL get_locinfo(void)
char *__cdecl __unDName(char *, const char *, int, malloc_func_t, free_func_t, unsigned short int)
int(* puts_clbk_w)(void *, int, const wchar_t *)
void CDECL free_locale_noalloc(_locale_t locale)
threadmbcinfo * create_mbcinfo(int, LCID, threadmbcinfo *)
void(__cdecl * terminate_function)(void)
int fpnum_double(struct fpnum *, double *)
BOOL locale_to_sname(const char *, unsigned short *, BOOL *, WCHAR *)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
void msvcrt_init_math(void)
#define LOCALE_NAME_MAX_LENGTH
void(__cdecl * _se_translator_function)(unsigned int code, struct _EXCEPTION_POINTERS *info)
void(__cdecl * unexpected_function)(void)
void(__cdecl * terminate_function)(void)
const char * short_wday[7]
struct __lc_time_data::@579::@581 names
const char * short_mon[12]
const wchar_t * short_date
EXCEPTION_POINTERS * xcptinfo
unsigned char * mbstok_next
_se_translator_function se_translator
frame_info * frame_info_head
EXCEPTION_RECORD * exc_record
__msvcrt_ulong thread_doserrno
WCHAR cached_sname[LOCALE_NAME_MAX_LENGTH]
terminate_function terminate_handler
wchar_t * wcserror_buffer
wchar_t * wasctime_buffer
unexpected_function unexpected_handler
struct _frame_info * next
unsigned char mbcasemap[256]
unsigned short mbulinfo[6]
unsigned char mbctype[257]