ReactOS 0.4.16-dev-303-g11d5cb8
msvcrt.h
Go to the documentation of this file.
1/*
2 * Copyright 2001 Jon Griffiths
3 * Copyright 2004 Dimitrie O. Paun
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 */
19
20#ifndef __WINE_MSVCRT_H
21#define __WINE_MSVCRT_H
22
23#include <errno.h>
24#include <stdarg.h>
25#include <stdint.h>
26#define _NO_CRT_STDIO_INLINE
27#include <stdio.h>
28#include <stdlib.h>
29#include <wchar.h>
30
31#include "windef.h"
32#include "winbase.h"
33#undef strncpy
34#undef wcsncpy
35
36#ifdef __REACTOS__
37typedef long __msvcrt_long;
38typedef unsigned long __msvcrt_ulong;
39#endif
40
41extern BOOL sse2_supported DECLSPEC_HIDDEN;
42
43#define DBL80_MAX_10_EXP 4932
44#define DBL80_MIN_10_EXP -4951
45
49void __cdecl terminate(void);
50
52
53typedef struct {ULONG x80[3];} MSVCRT__LDOUBLE; /* Intel 80 bit FP format has sizeof() 12 */
54
55typedef struct __lc_time_data {
56 union {
57 const char *str[43];
58 struct {
59 const char *short_wday[7];
60 const char *wday[7];
61 const char *short_mon[12];
62 const char *mon[12];
63 const char *am;
64 const char *pm;
65 const char *short_date;
66 const char *date;
67 const char *time;
69 } str;
70#if _MSVCR_VER < 110
71 LCID lcid;
72#endif
73 int unk;
75#if _MSVCR_VER == 0 || _MSVCR_VER >= 100
76 union {
77 const wchar_t *wstr[43];
78 struct {
79 const wchar_t *short_wday[7];
80 const wchar_t *wday[7];
81 const wchar_t *short_mon[12];
82 const wchar_t *mon[12];
83 const wchar_t *am;
84 const wchar_t *pm;
85 const wchar_t *short_date;
86 const wchar_t *date;
87 const wchar_t *time;
90#endif
91#if _MSVCR_VER >= 110
92 const wchar_t *locname;
93#endif
94 char data[1];
96
97typedef struct threadmbcinfostruct {
102 unsigned short mbulinfo[6];
103 unsigned char mbctype[257];
104 unsigned char mbcasemap[256];
106
107typedef struct _frame_info
108{
109 void *object;
112
113typedef struct
114{
119
124
125/* TLS data */
127
128#define LOCALE_FREE 0x1
129#define LOCALE_THREAD 0x2
130
131/* Keep in sync with msvcr90/tests/msvcr90.c */
132struct __thread_data {
133 DWORD tid;
135 int thread_errno;
136 __msvcrt_ulong thread_doserrno;
137 int unk1;
138 unsigned int random_seed; /* seed for rand() */
139 char *strtok_next; /* next ptr for strtok() */
140 wchar_t *wcstok_next; /* next ptr for wcstok() */
141 unsigned char *mbstok_next; /* next ptr for mbstok() */
142 char *strerror_buffer; /* buffer for strerror */
143 wchar_t *wcserror_buffer; /* buffer for wcserror */
144 char *tmpnam_buffer; /* buffer for tmpname() */
145 wchar_t *wtmpnam_buffer; /* buffer for wtmpname() */
146 void *unk2[2];
147 char *asctime_buffer; /* buffer for asctime */
148 wchar_t *wasctime_buffer; /* buffer for wasctime */
149 struct tm *time_buffer; /* buffer for localtime/gmtime */
150 char *efcvt_buffer; /* buffer for ecvt/fcvt */
151 int unk3[2];
152 void *unk4[3];
154 int fpecode;
158 int unk5[1];
161 _se_translator_function se_translator; /* preserve offset to exc_record and processing_throw */
162 void *unk6;
167 void *unk8[6];
170 int unk9[2];
172 char cached_locale[131];
173 void *unk10[100];
174#if _MSVCR_VER >= 140
177#endif
178};
179
181
183
184LCID locale_to_LCID(const char*, unsigned short*, BOOL*) DECLSPEC_HIDDEN;
186extern __lc_time_data cloc_time_data DECLSPEC_HIDDEN;
187extern unsigned int MSVCRT___lc_codepage;
188extern int MSVCRT___lc_collate_cp;
189extern WORD MSVCRT__ctype [257];
190extern BOOL initial_locale DECLSPEC_HIDDEN;
191extern WORD *MSVCRT__pwctype;
192
194#if _MSVCR_VER >= 80
195void throw_bad_alloc(void) DECLSPEC_HIDDEN;
196#endif
197
198void __cdecl _purecall(void);
199void __cdecl _amsg_exit(int errnum);
200
201extern char **MSVCRT__environ;
202extern wchar_t **MSVCRT__wenviron;
203
205extern wchar_t ** msvcrt_SnapshotOfEnvironmentW(wchar_t **) DECLSPEC_HIDDEN;
206
207wchar_t *msvcrt_wstrdupa(const char *) DECLSPEC_HIDDEN;
208
209extern unsigned int MSVCRT__commode;
210
211/* FIXME: This should be declared in new.h but it's not an extern "C" so
212 * it would not be much use anyway. Even for Winelib applications.
213 */
214void* __cdecl operator_new(size_t);
215void __cdecl operator_delete(void*);
216int __cdecl _set_new_mode(int mode);
217
218typedef void* (__cdecl *malloc_func_t)(size_t);
219typedef void (__cdecl *free_func_t)(void*);
220
221/* Setup and teardown multi threaded locks */
222extern void msvcrt_init_mt_locks(void) DECLSPEC_HIDDEN;
224
225extern void msvcrt_init_exception(void*) DECLSPEC_HIDDEN;
228extern void msvcrt_init_io(void) DECLSPEC_HIDDEN;
229extern void msvcrt_free_io(void) DECLSPEC_HIDDEN;
233extern void msvcrt_init_signals(void) DECLSPEC_HIDDEN;
234extern void msvcrt_free_signals(void) DECLSPEC_HIDDEN;
237extern void msvcrt_destroy_heap(void) DECLSPEC_HIDDEN;
239
240#if _MSVCR_VER >= 100
241extern void msvcrt_init_concurrency(void*) DECLSPEC_HIDDEN;
242extern void msvcrt_free_concurrency(void) DECLSPEC_HIDDEN;
243extern void msvcrt_free_scheduler_thread(void) DECLSPEC_HIDDEN;
244#endif
245
247
248/* run-time error codes */
249#define _RT_STACK 0
250#define _RT_NULLPTR 1
251#define _RT_FLOAT 2
252#define _RT_INTDIV 3
253#define _RT_EXECMEM 5
254#define _RT_EXECFORM 6
255#define _RT_EXECENV 7
256#define _RT_SPACEARG 8
257#define _RT_SPACEENV 9
258#define _RT_ABORT 10
259#define _RT_NPTR 12
260#define _RT_FPTR 13
261#define _RT_BREAK 14
262#define _RT_INT 15
263#define _RT_THREAD 16
264#define _RT_LOCK 17
265#define _RT_HEAP 18
266#define _RT_OPENCON 19
267#define _RT_QWIN 20
268#define _RT_NOMAIN 21
269#define _RT_NONCONT 22
270#define _RT_INVALDISP 23
271#define _RT_ONEXIT 24
272#define _RT_PUREVIRT 25
273#define _RT_STDIOINIT 26
274#define _RT_LOWIOINIT 27
275#define _RT_HEAPINIT 28
276#define _RT_DOMAIN 120
277#define _RT_SING 121
278#define _RT_TLOSS 122
279#define _RT_CRNL 252
280#define _RT_BANNER 255
281
282extern FILE MSVCRT__iob[];
283
284#define MSVCRT_NO_CONSOLE_FD (-2)
285#define MSVCRT_NO_CONSOLE ((HANDLE)MSVCRT_NO_CONSOLE_FD)
286
287#define MSVCRT_stdin (MSVCRT__iob+STDIN_FILENO)
288#define MSVCRT_stdout (MSVCRT__iob+STDOUT_FILENO)
289#define MSVCRT_stderr (MSVCRT__iob+STDERR_FILENO)
290
291/* internal file._flag flags */
292#define MSVCRT__USERBUF 0x0100
293#define MSVCRT__IOCOMMIT 0x4000
294
295#ifdef __REACTOS__
296typedef void (__cdecl *__sighandler_t)(int);
297#endif
298
299#define _MAX__TIME64_T (((__time64_t)0x00000007 << 32) | 0x93406FFF)
300
308int __cdecl __crtLCMapStringA(LCID, DWORD, const char*, int, char*, int, unsigned int, int) DECLSPEC_HIDDEN;
309
310enum fpmod {
311 FP_ROUND_ZERO, /* only used when dropped part contains only zeros */
318
319struct fpnum {
320 int sign;
321 int exp;
322 ULONGLONG m;
323 enum fpmod mod;
324};
325struct fpnum fpnum_parse(wchar_t (*)(void*), void (*)(void*),
327int fpnum_double(struct fpnum*, double*) DECLSPEC_HIDDEN;
328/* Maybe one day we'll enable the invalid parameter handlers with the full set of information (msvcrXXd)
329 * #define MSVCRT_INVALID_PMT(x) MSVCRT_call_invalid_parameter_handler(x, __FUNCTION__, __FILE__, __LINE__, 0)
330 * #define MSVCRT_CHECK_PMT(x) ((x) ? TRUE : MSVCRT_INVALID_PMT(#x),FALSE)
331 * Until this is done, just keep the same semantics for CHECK_PMT(), but without generating / sending
332 * any information
333 * NB : MSVCRT_call_invalid_parameter_handler is a wrapper around _invalid_parameter in order
334 * to do the Ansi to Unicode transformation
335 */
336#define MSVCRT_INVALID_PMT(x,err) (*_errno() = (err), _invalid_parameter(NULL, NULL, NULL, 0, 0))
337#define MSVCRT_CHECK_PMT_ERR(x,err) ((x) || (MSVCRT_INVALID_PMT( 0, (err) ), FALSE))
338#define MSVCRT_CHECK_PMT(x) MSVCRT_CHECK_PMT_ERR((x), EINVAL)
339
340typedef int (*puts_clbk_a)(void*, int, const char*);
341typedef int (*puts_clbk_w)(void*, int, const wchar_t*);
342typedef union _printf_arg
343{
344 void *get_ptr;
345 int get_int;
347 double get_double;
349typedef printf_arg (*args_clbk)(void*, int, int, va_list*);
350int pf_printf_a(puts_clbk_a, void*, const char*, _locale_t,
352int pf_printf_w(puts_clbk_w, void*, const wchar_t*, _locale_t,
358
359extern char* __cdecl __unDName(char *,const char*,int,malloc_func_t,free_func_t,unsigned short int);
360
361/* __unDName/__unDNameEx flags */
362#define UNDNAME_COMPLETE (0x0000)
363#define UNDNAME_NO_LEADING_UNDERSCORES (0x0001) /* Don't show __ in calling convention */
364#define UNDNAME_NO_MS_KEYWORDS (0x0002) /* Don't show calling convention at all */
365#define UNDNAME_NO_FUNCTION_RETURNS (0x0004) /* Don't show function/method return value */
366#define UNDNAME_NO_ALLOCATION_MODEL (0x0008)
367#define UNDNAME_NO_ALLOCATION_LANGUAGE (0x0010)
368#define UNDNAME_NO_MS_THISTYPE (0x0020)
369#define UNDNAME_NO_CV_THISTYPE (0x0040)
370#define UNDNAME_NO_THISTYPE (0x0060)
371#define UNDNAME_NO_ACCESS_SPECIFIERS (0x0080) /* Don't show access specifier (public/protected/private) */
372#define UNDNAME_NO_THROW_SIGNATURES (0x0100)
373#define UNDNAME_NO_MEMBER_TYPE (0x0200) /* Don't show static/virtual specifier */
374#define UNDNAME_NO_RETURN_UDT_MODEL (0x0400)
375#define UNDNAME_32_BIT_DECODE (0x0800)
376#define UNDNAME_NAME_ONLY (0x1000) /* Only report the variable/method name */
377#define UNDNAME_NO_ARGUMENTS (0x2000) /* Don't show method arguments */
378#define UNDNAME_NO_SPECIAL_SYMS (0x4000)
379#define UNDNAME_NO_COMPLEX_TYPE (0x8000)
380
381#define UCRTBASE_PRINTF_MASK ( \
382 _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION | \
383 _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR | \
384 _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS | \
385 _CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY | \
386 _CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS | \
387 _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING )
388
389#define MSVCRT_PRINTF_POSITIONAL_PARAMS (0x0100)
390#define MSVCRT_PRINTF_INVOKE_INVALID_PARAM_HANDLER (0x0200)
391
392#define UCRTBASE_SCANF_MASK ( \
393 _CRT_INTERNAL_SCANF_SECURECRT | \
394 _CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS | \
395 _CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY )
396
397#define COOPERATIVE_TIMEOUT_INFINITE ((unsigned int)-1)
398#define COOPERATIVE_WAIT_TIMEOUT ~0
399
400#define INHERIT_THREAD_PRIORITY 0xF000
401
402
403#ifdef __REACTOS__
404#define __wine_longjmp longjmp
405#define __wine_jmp_buf _JBTYPE
406
407#ifdef _M_IX86
408// ASM wrapper for Wine code. See rosglue_i386.s for implementation.
409void
410WINAPI
411__wine__RtlUnwind(
412 struct _EXCEPTION_REGISTRATION_RECORD* pEndFrame,
413 PVOID targetIp,
414 struct _EXCEPTION_RECORD* pRecord,
415 PVOID retval);
416#define RtlUnwind __wine__RtlUnwind
417#endif /* _M_IX86 */
418
419#endif
420
421#endif /* __WINE_MSVCRT_H */
static _invalid_parameter_handler invalid_parameter_handler
#define __cdecl
Definition: accygwin.h:79
char * va_list
Definition: acmsvcex.h:78
Definition: _locale.h:75
#define CDECL
Definition: compat.h:29
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLenum mode
Definition: glext.h:6217
fpmod
Definition: i10output.c:5
void(__cdecl * _invalid_parameter_handler)(const wchar_t *, const wchar_t *, const wchar_t *, unsigned int, uintptr_t)
Definition: stdlib.h:125
void __cdecl _purecall(void)
Definition: adapter.cpp:429
int MSVCRT___lc_collate_cp
Definition: locale.c:37
void(__cdecl * MSVCRT_security_error_handler)(int, void *)
Definition: msvcrt.h:89
MSVCRT_wchar_t ** msvcrt_SnapshotOfEnvironmentW(MSVCRT_wchar_t **)
MSVCRT__locale_t MSVCRT_locale
Definition: msvcrt.h:885
void msvcrt_init_io(void)
Definition: file.c:456
void msvcrt_init_mt_locks(void)
Definition: lock.c:54
void msvcrt_init_math(void)
unsigned msvcrt_create_io_inherit_block(WORD *, BYTE **)
void msvcrt_free_args(void)
int MSVCRT___lc_codepage
WORD MSVCRT__ctype[257]
void *(__cdecl * malloc_func_t)(MSVCRT_size_t)
Definition: msvcrt.h:227
DWORD msvcrt_tls_index
void msvcrt_free_io(void)
Definition: file.c:1100
void msvcrt_free_signals(void)
Definition: except.c:185
BOOL msvcrt_init_locale(void)
void __cdecl _amsg_exit(int errnum)
Definition: amsg.c:44
void(__cdecl * free_func_t)(void *)
Definition: msvcrt.h:228
MSVCRT_wchar_t ** MSVCRT__wenviron
void msvcrt_init_args(void)
char ** msvcrt_SnapshotOfEnvironmentA(char **)
void msvcrt_init_signals(void)
Definition: except.c:180
void msvcrt_free_console(void)
thread_data_t * msvcrt_get_thread_data(void)
Definition: tls.c:31
char *__cdecl __unDName(char *, const char *, int, malloc_func_t, free_func_t, unsigned short int)
Definition: undname.c:1650
MSVCRT_wchar_t * msvcrt_wstrdupa(const char *)
Definition: file.c:669
char ** MSVCRT__environ
__WCHAR_TYPE__ wchar_t
Definition: stddef.h:311
DWORD LCID
Definition: nls.h:13
void msvcrt_free_popen_data(void)
Definition: popen.c:29
#define msvcrt_set_errno
Definition: heap.c:50
LCID locale_to_LCID(const char *, unsigned short *, BOOL *) DECLSPEC_HIDDEN
void __cdecl terminate(void)
Definition: cpp.c:716
int pf_printf_a(puts_clbk_a, void *, const char *, _locale_t, DWORD, args_clbk, void *, va_list *) DECLSPEC_HIDDEN
pthreadlocinfo CDECL get_locinfo(void) DECLSPEC_HIDDEN
Definition: locale.c:356
union _printf_arg printf_arg
pthreadmbcinfo CDECL get_mbcinfo(void) DECLSPEC_HIDDEN
Definition: locale.c:366
struct threadmbcinfostruct threadmbcinfo
int pf_printf_w(puts_clbk_w, void *, const wchar_t *, _locale_t, DWORD, args_clbk, void *, va_list *) DECLSPEC_HIDDEN
void msvcrt_free_locks(void) DECLSPEC_HIDDEN
WORD * MSVCRT__pwctype
unsigned int MSVCRT__commode
void CDECL __DestructExceptionObject(EXCEPTION_RECORD *)
Definition: except.c:409
threadmbcinfo * create_mbcinfo(int, LCID, threadmbcinfo *) DECLSPEC_HIDDEN
_locale_t CDECL get_current_locale_noalloc(_locale_t locale) DECLSPEC_HIDDEN
void __cdecl operator_delete(void *)
Definition: heap.c:198
BOOL msvcrt_init_heap(void) DECLSPEC_HIDDEN
Definition: heap.c:889
frame_info *__cdecl _CreateFrameInfo(frame_info *fi, void *obj)
Definition: except.c:348
FILE MSVCRT__iob[]
struct fpnum fpnum_parse(wchar_t(*)(void *), void(*)(void *), void *, pthreadlocinfo, BOOL) DECLSPEC_HIDDEN
void msvcrt_init_exception(void *) DECLSPEC_HIDDEN
Definition: dllmain.c:33
printf_arg(* args_clbk)(void *, int, int, va_list *)
Definition: msvcrt.h:349
void free_mbcinfo(pthreadmbcinfo) DECLSPEC_HIDDEN
printf_arg arg_clbk_valist(void *, int, int, va_list *) DECLSPEC_HIDDEN
void msvcrt_destroy_heap(void) DECLSPEC_HIDDEN
Definition: heap.c:899
struct _frame_info frame_info
BOOL sse2_supported DECLSPEC_HIDDEN
Definition: msvcrt.h:126
void(__cdecl * _se_translator_function)(unsigned int code, struct _EXCEPTION_POINTERS *info)
Definition: msvcrt.h:48
void __cdecl __CxxUnregisterExceptionObject(cxx_frame_info *, BOOL)
Definition: except.c:468
int __cdecl __crtLCMapStringA(LCID, DWORD, const char *, int, char *, int, unsigned int, int) DECLSPEC_HIDDEN
Definition: locale.c:512
void(__cdecl * unexpected_function)(void)
Definition: msvcrt.h:47
int(* puts_clbk_a)(void *, int, const char *)
Definition: msvcrt.h:340
void CDECL free_locale_noalloc(_locale_t locale) DECLSPEC_HIDDEN
int create_positional_ctx_w(void *, const wchar_t *, va_list) DECLSPEC_HIDDEN
void free_locinfo(pthreadlocinfo) DECLSPEC_HIDDEN
BOOL __cdecl __CxxRegisterExceptionObject(EXCEPTION_POINTERS *, cxx_frame_info *)
Definition: except.c:444
void *__cdecl operator_new(size_t)
Definition: heap.c:164
printf_arg arg_clbk_positional(void *, int, int, va_list *) DECLSPEC_HIDDEN
int __cdecl _set_new_mode(int mode)
Definition: heap.c:248
void msvcrt_init_clock(void) DECLSPEC_HIDDEN
int(* puts_clbk_w)(void *, int, const wchar_t *)
Definition: msvcrt.h:341
@ FP_VAL_NAN
Definition: msvcrt.h:316
@ FP_ROUND_EVEN
Definition: msvcrt.h:313
@ FP_VAL_INFINITY
Definition: msvcrt.h:315
@ FP_ROUND_UP
Definition: msvcrt.h:314
@ FP_ROUND_ZERO
Definition: msvcrt.h:311
@ FP_ROUND_DOWN
Definition: msvcrt.h:312
int fpnum_double(struct fpnum *, double *) DECLSPEC_HIDDEN
Definition: i10output.c:24
void(__cdecl * terminate_function)(void)
Definition: msvcrt.h:46
int create_positional_ctx_a(void *, const char *, va_list) DECLSPEC_HIDDEN
char * mon[12]
Definition: locale.h:60
const char * am
Definition: msvcrt.h:63
const char * date
Definition: msvcrt.h:66
const char * pm
Definition: msvcrt.h:64
char * wday[7]
Definition: locale.h:58
const wchar_t * am
Definition: msvcrt.h:83
const wchar_t * date
Definition: msvcrt.h:86
const char * time
Definition: msvcrt.h:67
struct __lc_time_data::@4308::@4309 names
char * str[43]
Definition: locale.h:55
const wchar_t * time
Definition: msvcrt.h:87
int unk[2]
Definition: locale.h:69
char * short_mon[12]
Definition: locale.h:59
const wchar_t * pm
Definition: msvcrt.h:84
LCID lcid
Definition: locale.h:68
const char * short_date
Definition: msvcrt.h:65
char * short_wday[7]
Definition: locale.h:57
int refcount
Definition: msvcrt.h:74
const wchar_t * short_date
Definition: msvcrt.h:85
wchar_t * wstr[43]
Definition: locale.h:70
char * tmpnam_buffer
Definition: msvcrt.h:173
char * strtok_next
Definition: msvcrt.h:168
EXCEPTION_POINTERS * xcptinfo
Definition: tls.h:43
unsigned char * mbstok_next
Definition: msvcrt.h:170
void * unk6[3]
Definition: msvcrt.h:190
void * unk8[100]
Definition: msvcrt.h:193
MSVCRT__se_translator_function se_translator
Definition: msvcrt.h:189
pthreadmbcinfo mbcinfo
Definition: msvcrt.h:155
EXCEPTION_RECORD * exc_record
Definition: msvcrt.h:192
int processing_throw
Definition: msvcrt.h:165
int thread_errno
Definition: msvcrt.h:164
frame_info * frame_info_head
Definition: msvcrt.h:166
DWORD cached_cp
Definition: msvcrt.h:171
int unk5[1]
Definition: msvcrt.h:186
char * strerror_buffer
Definition: msvcrt.h:171
LCID cached_lcid
Definition: msvcrt.h:168
int fpecode
Definition: msvcrt.h:182
HANDLE handle
Definition: msvcrt.h:163
struct MSVCRT_tm * time_buffer
Definition: msvcrt.h:178
__msvcrt_ulong thread_doserrno
Definition: msvcrt.h:136
unsigned int random_seed
Definition: msvcrt.h:167
void * unk10[100]
Definition: msvcrt.h:173
DWORD tid
Definition: msvcrt.h:162
CONTEXT * ctx_record
Definition: msvcrt.h:164
char * asctime_buffer
Definition: msvcrt.h:176
int locale_flags
Definition: msvcrt.h:157
MSVCRT_terminate_function terminate_handler
Definition: msvcrt.h:187
MSVCRT_wchar_t * wcserror_buffer
Definition: msvcrt.h:172
MSVCRT_wchar_t * wasctime_buffer
Definition: msvcrt.h:177
char * efcvt_buffer
Definition: msvcrt.h:179
char cached_locale[131]
Definition: msvcrt.h:172
MSVCRT_unexpected_function unexpected_handler
Definition: msvcrt.h:188
BOOL cached_sname
Definition: msvcrt.h:169
int unk3[2]
Definition: msvcrt.h:180
MSVCRT_wchar_t * wcstok_next
Definition: msvcrt.h:169
void * unk4[4]
Definition: msvcrt.h:181
int unk9[2]
Definition: msvcrt.h:170
MSVCRT_wchar_t * wtmpnam_buffer
Definition: msvcrt.h:174
void * unk2[2]
Definition: msvcrt.h:175
pthreadlocinfo locinfo
Definition: msvcrt.h:156
struct _frame_info * next
Definition: msvcrt.h:110
void * object
Definition: msvcrt.h:109
Definition: inflate.c:139
CONTEXT * context
Definition: msvcrt.h:117
frame_info frame_info
Definition: msvcrt.h:115
EXCEPTION_RECORD * rec
Definition: msvcrt.h:116
enum fpmod mod
Definition: i10output.c:17
ULONGLONG m
Definition: i10output.c:16
int exp
Definition: i10output.c:15
int sign
Definition: i10output.c:14
unsigned char mbctype[257]
Definition: msvcrt.h:103
unsigned char mbcasemap[256]
Definition: msvcrt.h:104
unsigned short mbulinfo[6]
Definition: msvcrt.h:102
Definition: time.h:68
int64_t LONGLONG
Definition: typedefs.h:68
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
int get_int
Definition: msvcrt.h:950
double get_double
Definition: msvcrt.h:952
void * get_ptr
Definition: msvcrt.h:949
LONGLONG get_longlong
Definition: msvcrt.h:951
#define WINAPI
Definition: msvc.h:6
unsigned char BYTE
Definition: xxhash.c:193