1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 | #ifndef _INC_RTCAPI
|
---|
7 | #define _INC_RTCAPI
|
---|
8 |
|
---|
9 | #include <crtdefs.h>
|
---|
10 |
|
---|
11 | #pragma pack(push,_CRT_PACKING)
|
---|
12 |
|
---|
13 | #define _RTCINTERNAL_DEPRECATED
|
---|
14 |
|
---|
15 | #ifdef __cplusplus
|
---|
16 | extern "C" {
|
---|
17 | #endif
|
---|
18 |
|
---|
19 | typedef enum _RTC_ErrorNumber {
|
---|
20 | _RTC_CHKSTK = 0,_RTC_CVRT_LOSS_INFO,_RTC_CORRUPT_STACK,_RTC_UNINIT_LOCAL_USE,_RTC_CORRUPTED_ALLOCA,_RTC_ILLEGAL
|
---|
21 | } _RTC_ErrorNumber;
|
---|
22 |
|
---|
23 | #define _RTC_ERRTYPE_IGNORE -1
|
---|
24 | #define _RTC_ERRTYPE_ASK -2
|
---|
25 |
|
---|
26 | #ifndef _WCHAR_T_DEFINED
|
---|
27 | #define _WCHAR_T_DEFINED
|
---|
28 | typedef unsigned short wchar_t;
|
---|
29 | #endif
|
---|
30 |
|
---|
31 | typedef int (__cdecl *_RTC_error_fn)(int,const char *,int,const char *,const char *,...);
|
---|
32 | typedef int (__cdecl *_RTC_error_fnW)(int,const wchar_t *,int,const wchar_t *,const wchar_t *,...);
|
---|
33 |
|
---|
34 | int __cdecl _RTC_NumErrors(void);
|
---|
35 | const char *__cdecl _RTC_GetErrDesc(_RTC_ErrorNumber _Errnum);
|
---|
36 | int __cdecl _RTC_SetErrorType(_RTC_ErrorNumber _Errnum,int _ErrType);
|
---|
37 | _RTC_error_fn __cdecl _RTC_SetErrorFunc(_RTC_error_fn);
|
---|
38 | _RTC_error_fnW __cdecl _RTC_SetErrorFuncW(_RTC_error_fnW);
|
---|
39 | void __cdecl _RTC_Initialize(void);
|
---|
40 | void __cdecl _RTC_Terminate(void);
|
---|
41 | _RTC_error_fn __cdecl _CRT_RTC_INIT(void *_Res0,void **_Res1,int _Res2,int _Res3,int _Res4);
|
---|
42 | _RTC_error_fnW __cdecl _CRT_RTC_INITW(void *_Res0,void **_Res1,int _Res2,int _Res3,int _Res4);
|
---|
43 |
|
---|
44 | typedef struct _RTC_vardesc {
|
---|
45 | int addr;
|
---|
46 | int size;
|
---|
47 | char *name;
|
---|
48 | } _RTC_vardesc;
|
---|
49 |
|
---|
50 | typedef struct _RTC_framedesc {
|
---|
51 | int varCount;
|
---|
52 | _RTC_vardesc *variables;
|
---|
53 | } _RTC_framedesc;
|
---|
54 |
|
---|
55 | #pragma pack(push,1)
|
---|
56 |
|
---|
57 | typedef struct _RTC_ALLOCA_NODE {
|
---|
58 | __int32 guard1;
|
---|
59 | struct _RTC_ALLOCA_NODE *next;
|
---|
60 | #if (defined(_X86_) && !defined(__x86_64))
|
---|
61 | __int32 dummypad;
|
---|
62 | #endif
|
---|
63 | size_t allocaSize;
|
---|
64 | #if (defined(_X86_) && !defined(__x86_64))
|
---|
65 | __int32 dummypad2;
|
---|
66 | #endif
|
---|
67 | __int32 guard2[3];
|
---|
68 | } _RTC_ALLOCA_NODE;
|
---|
69 | #pragma pack(pop)
|
---|
70 |
|
---|
71 | char __fastcall _RTC_Check_2_to_1(short _Src);
|
---|
72 | char __fastcall _RTC_Check_4_to_1(int _Src);
|
---|
73 | char __fastcall _RTC_Check_8_to_1(__int64 _Src);
|
---|
74 | short __fastcall _RTC_Check_4_to_2(int _Src);
|
---|
75 | short __fastcall _RTC_Check_8_to_2(__int64 _Src);
|
---|
76 | int __fastcall _RTC_Check_8_to_4(__int64 _Src);
|
---|
77 |
|
---|
78 | #if (defined(_X86_) && !defined(__x86_64))
|
---|
79 | void __cdecl _RTC_CheckEsp();
|
---|
80 | #endif
|
---|
81 | void __fastcall _RTC_CheckStackVars(void *_Esp,_RTC_framedesc *_Fd);
|
---|
82 | void __fastcall _RTC_CheckStackVars2(void *_Esp,_RTC_framedesc *_Fd,_RTC_ALLOCA_NODE *_AllocaList);
|
---|
83 | void __fastcall _RTC_AllocaHelper(_RTC_ALLOCA_NODE *_PAllocaBase,size_t _CbSize,_RTC_ALLOCA_NODE **_PAllocaInfoList);
|
---|
84 | void __cdecl _RTC_UninitUse(const char *_Varname);
|
---|
85 | void __cdecl _RTC_Shutdown(void);
|
---|
86 | void __cdecl _RTC_InitBase(void);
|
---|
87 | #ifdef __cplusplus
|
---|
88 | void *_ReturnAddress();
|
---|
89 | }
|
---|
90 | #endif
|
---|
91 |
|
---|
92 | #pragma pack(pop)
|
---|
93 | #endif
|
---|