rtcapi.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. #include <crtdefs.h>
  9. #pragma pack(push,_CRT_PACKING)
  10. #define _RTCINTERNAL_DEPRECATED
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. typedef enum _RTC_ErrorNumber {
  15. _RTC_CHKSTK = 0,_RTC_CVRT_LOSS_INFO,_RTC_CORRUPT_STACK,_RTC_UNINIT_LOCAL_USE,_RTC_CORRUPTED_ALLOCA,_RTC_ILLEGAL
  16. } _RTC_ErrorNumber;
  17. #define _RTC_ERRTYPE_IGNORE -1
  18. #define _RTC_ERRTYPE_ASK -2
  19. #ifndef _WCHAR_T_DEFINED
  20. #define _WCHAR_T_DEFINED
  21. typedef unsigned short wchar_t;
  22. #endif
  23. typedef int (__cdecl *_RTC_error_fn)(int,const char *,int,const char *,const char *,...);
  24. typedef int (__cdecl *_RTC_error_fnW)(int,const wchar_t *,int,const wchar_t *,const wchar_t *,...);
  25. int __cdecl _RTC_NumErrors(void);
  26. const char *__cdecl _RTC_GetErrDesc(_RTC_ErrorNumber _Errnum);
  27. int __cdecl _RTC_SetErrorType(_RTC_ErrorNumber _Errnum,int _ErrType);
  28. _RTC_error_fn __cdecl _RTC_SetErrorFunc(_RTC_error_fn);
  29. _RTC_error_fnW __cdecl _RTC_SetErrorFuncW(_RTC_error_fnW);
  30. void __cdecl _RTC_Initialize(void);
  31. void __cdecl _RTC_Terminate(void);
  32. _RTC_error_fn __cdecl _CRT_RTC_INIT(void *_Res0,void **_Res1,int _Res2,int _Res3,int _Res4);
  33. _RTC_error_fnW __cdecl _CRT_RTC_INITW(void *_Res0,void **_Res1,int _Res2,int _Res3,int _Res4);
  34. typedef struct _RTC_vardesc {
  35. int addr;
  36. int size;
  37. char *name;
  38. } _RTC_vardesc;
  39. typedef struct _RTC_framedesc {
  40. int varCount;
  41. _RTC_vardesc *variables;
  42. } _RTC_framedesc;
  43. #pragma pack(push,1)
  44. typedef struct _RTC_ALLOCA_NODE {
  45. __int32 guard1;
  46. struct _RTC_ALLOCA_NODE *next;
  47. #if (defined(_X86_) && !defined(__x86_64))
  48. __int32 dummypad;
  49. #endif
  50. size_t allocaSize;
  51. #if (defined(_X86_) && !defined(__x86_64))
  52. __int32 dummypad2;
  53. #endif
  54. __int32 guard2[3];
  55. } _RTC_ALLOCA_NODE;
  56. #pragma pack(pop)
  57. char __fastcall _RTC_Check_2_to_1(short _Src);
  58. char __fastcall _RTC_Check_4_to_1(int _Src);
  59. char __fastcall _RTC_Check_8_to_1(__int64 _Src);
  60. short __fastcall _RTC_Check_4_to_2(int _Src);
  61. short __fastcall _RTC_Check_8_to_2(__int64 _Src);
  62. int __fastcall _RTC_Check_8_to_4(__int64 _Src);
  63. #if (defined(_X86_) && !defined(__x86_64))
  64. void __cdecl _RTC_CheckEsp();
  65. #endif
  66. void __fastcall _RTC_CheckStackVars(void *_Esp,_RTC_framedesc *_Fd);
  67. void __fastcall _RTC_CheckStackVars2(void *_Esp,_RTC_framedesc *_Fd,_RTC_ALLOCA_NODE *_AllocaList);
  68. void __fastcall _RTC_AllocaHelper(_RTC_ALLOCA_NODE *_PAllocaBase,size_t _CbSize,_RTC_ALLOCA_NODE **_PAllocaInfoList);
  69. void __cdecl _RTC_UninitUse(const char *_Varname);
  70. void __cdecl _RTC_Shutdown(void);
  71. void __cdecl _RTC_InitBase(void);
  72. #ifdef __cplusplus
  73. void *_ReturnAddress();
  74. }
  75. #endif
  76. #pragma pack(pop)
  77. #endif