Home | History | Annotate | Download | only in include
      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
     94