ReactOS 0.4.16-dev-125-g798ea90
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
13extern "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"
23struct _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);
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 {
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
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 *);
167 void * __cdecl _decode_pointer(void *);
168
172
173#ifdef __cplusplus
174}
175#endif
176
177#pragma pack(pop)
178#endif
void __cdecl __setusermatherr(_UserMathErrorFunctionPointer func)
#define __cdecl
Definition: accygwin.h:79
int intptr_t
Definition: crtdefs.h:304
#define __CRTDECL
Definition: crtdefs.h:167
#define _CRTIMP
Definition: crtdefs.h:72
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
int main()
Definition: test.c:6
unsigned int BOOL
Definition: ntddk_ex.h:94
FxIoTarget * pTarget
Definition: fxdeviceapi.cpp:97
#define f
Definition: ke_i.h:83
void __cdecl _amsg_exit(int errnum)
Definition: amsg.c:44
BYTE * PBYTE
Definition: pedump.c:66
long LONG
Definition: pedump.c:60
int wmain()
_CRTIMP ioinfo * __badioinfo[]
Definition: file.c:126
_CRTIMP int _commode
Definition: environ.c:31
volatile unsigned int __native_dllmain_reason
Definition: natstart.c:11
_CRTIMP int __cdecl __getmainargs(int *_Argc, char ***_Argv, char ***_Env, int _DoWildCard, _startupinfo *_StartInfo)
int __CRTDECL __setargv(void)
Definition: dll_argv.c:20
volatile unsigned int __native_vcclrit_reason
Definition: natstart.c:12
_CRTIMP void __cdecl __set_app_type(int)
Definition: environ.c:360
volatile void * __native_startup_lock
Definition: natstart.c:14
int __CRTDECL _wsetargv(void)
_CRTIMP int __cdecl __wgetmainargs(int *_Argc, wchar_t ***_Argv, wchar_t ***_Env, int _DoWildCard, _startupinfo *_StartInfo)
volatile __enative_startup_state __native_startup_state
Definition: natstart.c:13
_CRTIMP wchar_t ** __winitenv
Definition: environ.c:25
int __CRTDECL _setargv(void)
Definition: dllargv.c:18
LONG NTSTATUS
Definition: internal.h:160
__enative_startup_state
Definition: internal.h:148
@ __uninitialized
Definition: internal.h:149
@ __initialized
Definition: internal.h:149
@ __initializing
Definition: internal.h:149
BOOL __cdecl _IsNonwritableInCurrentImage(PBYTE pTarget)
Definition: pesect.c:175
_CRTIMP ioinfo ** __pioinfo[]
Definition: file.c:121
int(__cdecl * _PIFV)(void)
Definition: internal.h:34
_CRTIMP char ** __initenv
Definition: environ.c:24
int __CRTDECL __wsetargv(void)
_CRTIMP __declspec(noreturn) void __cdecl _amsg_exit(int)
Definition: noreturn.cpp:19
void *__cdecl _decode_pointer(void *)
Definition: mingw_helpers.c:19
_CRTIMP char * _acmdln
Definition: environ.c:18
void *__cdecl _encode_pointer(void *)
Definition: mingw_helpers.c:25
BOOL __cdecl _ValidateImageBase(PBYTE pImageBase)
Definition: pesect.c:27
void(__cdecl * _PVFV)(void)
Definition: internal.h:33
_CRTIMP char * _wcmdln
Definition: environ.c:19
void(__cdecl * _PVFI)(int)
Definition: internal.h:35
PIMAGE_SECTION_HEADER __cdecl _FindPESection(PBYTE pImageBase, DWORD_PTR rva)
Definition: pesect.c:48
int _dowildcard
Definition: wildcard.c:32
void *__cdecl _encoded_null()
int _newmode
Definition: _newmode.c:7
char * _ptr
Definition: mbstring.h:20
int _charbuf
Definition: mbstring.h:25
char * _base
Definition: mbstring.h:22
int _cnt
Definition: mbstring.h:21
int _file
Definition: mbstring.h:24
int _flag
Definition: mbstring.h:23
char * _tmpfname
Definition: mbstring.h:27
int _bufsiz
Definition: mbstring.h:26
Definition: file.c:40
intptr_t osfhnd
Definition: internal.h:55
char osfile
Definition: internal.h:56
char unicode
Definition: internal.h:61
CRITICAL_SECTION lock
Definition: internal.h:59
char pipech
Definition: internal.h:57
char textmode
Definition: internal.h:60
int lockinitflag
Definition: internal.h:58
rwlock_t lock
Definition: tcpcore.h:0
uint32_t DWORD_PTR
Definition: typedefs.h:65