ReactOS  0.4.15-dev-3326-ga91f5e8
internal.h
Go to the documentation of this file.
1 
7 #ifndef _INC_INTERNAL
8 #define _INC_INTERNAL
9 
10 #include <crtdefs.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 #include <stdarg.h>
17 #include <limits.h>
18 #include <windef.h>
19 #include <winbase.h>
20 
21 #ifdef __REACTOS__
22 #include "malloc.h"
23 struct _exception;
24 _CRTIMP void __cdecl __setusermatherr(int (__cdecl *)(struct _exception *));
25 #define __mingw_fprintf fprintf
26 #define __mingw_vfprintf vfprintf
27 #endif
28 
29 #pragma pack(push,_CRT_PACKING)
30 
31 #ifndef __INTERNAL_FUNC_DEFINED
32 #define __INTERNAL_FUNC_DEFINED
33  typedef void (__cdecl *_PVFV)(void);
34  typedef int (__cdecl *_PIFV)(void);
35  typedef void (__cdecl *_PVFI)(int);
36 #endif
37 
38 #if defined (SPECIAL_CRTEXE) && (defined (_DLL) || defined (__GNUC__))
39  extern int _commode;
40 #else
41  _CRTIMP extern int _commode;
42 #endif
43 
44 #define __IOINFO_TM_ANSI 0
45 #define __IOINFO_TM_UTF8 1
46 #define __IOINFO_TM_UTF16LE 2
47 
48 #ifdef _MSC_VER
49 #pragma warning(push)
50 #pragma warning(disable:4214)
51 #pragma warning(disable:4820)
52 #endif
53 
54  typedef struct {
56  char osfile;
57  char pipech;
60  char textmode : 7;
61  char unicode : 1;
62  char pipech2[2];
63  } ioinfo;
64 
65 #ifdef _MSC_VER
66 #pragma warning(pop)
67 #endif
68 
69 #define IOINFO_ARRAY_ELTS (1 << 5)
70 
71 #define _pioinfo(i) (__pioinfo[(i) >> 5] + ((i) & (IOINFO_ARRAY_ELTS - 1)))
72 #define _osfile(i) (_pioinfo(i)->osfile)
73 #define _pipech2(i) (_pioinfo(i)->pipech2)
74 #define _textmode(i) (_pioinfo(i)->textmode)
75 #define _tm_unicode(i) (_pioinfo(i)->unicode)
76 #define _pioinfo_safe(i) ((((i) != -1) && ((i) != -2)) ? _pioinfo(i) : &__badioinfo)
77 #define _osfhnd_safe(i) (_pioinfo_safe(i)->osfhnd)
78 #define _osfile_safe(i) (_pioinfo_safe(i)->osfile)
79 #define _pipech_safe(i) (_pioinfo_safe(i)->pipech)
80 #define _pipech2_safe(i) (_pioinfo_safe(i)->pipech2)
81 #define _textmode_safe(i) (_pioinfo_safe(i)->textmode)
82 #define _tm_unicode_safe(i) (_pioinfo_safe(i)->unicode)
83 
84 #ifndef __badioinfo
85 _CRTIMP extern ioinfo * __badioinfo[];
86 #endif
87 
88 #ifndef __pioinfo
89 _CRTIMP extern ioinfo ** __pioinfo[];
90 #endif
91 
92 #define _NO_CONSOLE_FILENO (intptr_t)-2
93 
94 #ifndef _FILE_DEFINED
95 #define _FILE_DEFINED
96  struct _iobuf {
97  char *_ptr;
98  int _cnt;
99  char *_base;
100  int _flag;
101  int _file;
102  int _charbuf;
103  int _bufsiz;
104  char *_tmpfname;
105  };
106  typedef struct _iobuf FILE;
107 #endif
108 
109 #if !defined (_FILEX_DEFINED) && defined (_WINDOWS_)
110 #define _FILEX_DEFINED
111  typedef struct {
112  FILE f;
114  } _FILEX;
115 #endif
116 
117  extern int _dowildcard;
118  extern int _newmode;
119 
120 _CRTIMP extern wchar_t ** __winitenv;
121 _CRTIMP extern char ** __initenv;
122 _CRTIMP extern char * _acmdln;
123 _CRTIMP extern char * _wcmdln;
124 
125  _CRTIMP __declspec(noreturn) void __cdecl _amsg_exit(int);
126 
127  int __CRTDECL _setargv(void);
128  int __CRTDECL __setargv(void);
129  int __CRTDECL _wsetargv(void);
130  int __CRTDECL __wsetargv(void);
131 
132  int __CRTDECL main(int _Argc, char **_Argv, char **_Env);
133  int __CRTDECL wmain(int _Argc, wchar_t **_Argv, wchar_t **_Env);
134 
135 #ifndef _STARTUP_INFO_DEFINED
136 #define _STARTUP_INFO_DEFINED
137  typedef struct {
138  int newmode;
139  } _startupinfo;
140 #endif
141 
142  _CRTIMP int __cdecl __getmainargs(int * _Argc, char *** _Argv, char ***_Env, int _DoWildCard, _startupinfo *_StartInfo);
143  _CRTIMP int __cdecl __wgetmainargs(int * _Argc, wchar_t ***_Argv, wchar_t ***_Env, int _DoWildCard, _startupinfo *_StartInfo);
144 
145 #define _CONSOLE_APP 1
146 #define _GUI_APP 2
147 
148  typedef enum __enative_startup_state {
151 
153  extern volatile void *__native_startup_lock;
154 
155  extern volatile unsigned int __native_dllmain_reason;
156  extern volatile unsigned int __native_vcclrit_reason;
157 
158  _CRTIMP void __cdecl __set_app_type (int);
159 
160  typedef LONG NTSTATUS;
161 
162 #include <crtdbg.h>
163 #include <errno.h>
164 
165  void * __cdecl _encode_pointer(void *);
166  void * __cdecl _encoded_null();
167  void * __cdecl _decode_pointer(void *);
168 
169  BOOL __cdecl _ValidateImageBase (PBYTE pImageBase);
172 
173 #ifdef __cplusplus
174 }
175 #endif
176 
177 #pragma pack(pop)
178 #endif
FxIoTarget * pTarget
Definition: fxdeviceapi.cpp:97
char * _base
Definition: mbstring.h:22
void(__cdecl * _PVFV)(void)
Definition: internal.h:33
_CRTIMP __declspec(noreturn) void __cdecl _amsg_exit(int)
Definition: thread.c:53
int lockinitflag
Definition: internal.h:58
char textmode
Definition: internal.h:60
int _cnt
Definition: mbstring.h:21
_CRTIMP ioinfo * __badioinfo[]
Definition: file.c:126
_CRTIMP char * _acmdln
Definition: environ.c:18
rwlock_t lock
Definition: tcpcore.h:1163
_CRTIMP char ** __initenv
Definition: environ.c:24
#define __cdecl
Definition: accygwin.h:79
void *__cdecl _encode_pointer(void *)
Definition: mingw_helpers.c:25
Definition: file.c:40
#define _CRTIMP
Definition: crtdefs.h:72
char osfile
Definition: internal.h:56
intptr_t osfhnd
Definition: internal.h:55
__enative_startup_state
Definition: internal.h:148
volatile __enative_startup_state __native_startup_state
Definition: natstart.c:13
char * _ptr
Definition: mbstring.h:20
char * _tmpfname
Definition: mbstring.h:27
_CRTIMP int __cdecl __wgetmainargs(int *_Argc, wchar_t ***_Argv, wchar_t ***_Env, int _DoWildCard, _startupinfo *_StartInfo)
BOOL __cdecl _IsNonwritableInCurrentImage(PBYTE pTarget)
Definition: pesect.c:175
struct __SEHPortableFrame *typedef void(__stdcall *_SEHHandler_t)(struct __SEHPortableTryLevel *)
Definition: internal.h:71
char unicode
Definition: internal.h:61
void __cdecl _amsg_exit(int errnum)
Definition: amsg.c:44
LONG NTSTATUS
Definition: internal.h:160
char pipech
Definition: internal.h:57
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
int __CRTDECL _setargv(void)
Definition: dllargv.c:18
typedef int(__cdecl *_SEHFrameHandler_t)(struct _EXCEPTION_RECORD *
int __CRTDECL main(int _Argc, char **_Argv, char **_Env)
Definition: TestTimer.c:5
_CRTIMP void __cdecl __set_app_type(int)
Definition: environ.c:360
void *__cdecl _encoded_null()
int intptr_t
Definition: crtdefs.h:304
int _newmode
Definition: _newmode.c:7
BOOL __cdecl _ValidateImageBase(PBYTE pImageBase)
Definition: pesect.c:27
int __CRTDECL __wsetargv(void)
_CRTIMP ioinfo ** __pioinfo[]
Definition: file.c:121
int __CRTDECL __setargv(void)
Definition: dll_argv.c:20
_CRTIMP wchar_t ** __winitenv
Definition: environ.c:25
int _charbuf
Definition: mbstring.h:25
int _bufsiz
Definition: mbstring.h:26
int _flag
Definition: mbstring.h:23
#define __CRTDECL
Definition: crtdefs.h:167
uint32_t DWORD_PTR
Definition: typedefs.h:65
PIMAGE_SECTION_HEADER __cdecl _FindPESection(PBYTE pImageBase, DWORD_PTR rva)
Definition: pesect.c:48
volatile unsigned int __native_vcclrit_reason
Definition: natstart.c:12
volatile unsigned int __native_dllmain_reason
Definition: natstart.c:11
int(__cdecl * _PIFV)(void)
Definition: internal.h:34
CRITICAL_SECTION lock
Definition: internal.h:59
#define f
Definition: ke_i.h:83
int __CRTDECL _wsetargv(void)
void(__cdecl * _PVFI)(int)
Definition: internal.h:35
int __CRTDECL wmain(int _Argc, wchar_t **_Argv, wchar_t **_Env)
_CRTIMP int __cdecl __getmainargs(int *_Argc, char ***_Argv, char ***_Env, int _DoWildCard, _startupinfo *_StartInfo)
_CRTIMP char * _wcmdln
Definition: environ.c:19
int _file
Definition: mbstring.h:24
int _dowildcard
Definition: wildcard.c:32
_CRTIMP int _commode
Definition: environ.c:31
void *__cdecl _decode_pointer(void *)
Definition: mingw_helpers.c:19
BYTE * PBYTE
Definition: pedump.c:66
volatile void * __native_startup_lock
Definition: natstart.c:14
void __cdecl __setusermatherr(_UserMathErrorFunctionPointer func)
Definition: usermatherr.c:19