[SHELL32] Update French translation, following 6465705
[reactos.git] / sdk / lib / crt / include / internal / mingw-w64 / internal.h
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
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 __declspec(dllimport) 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 {
55 intptr_t osfhnd;
56 char osfile;
57 char pipech;
58 int lockinitflag;
59 CRITICAL_SECTION lock;
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 extern ioinfo ** __MINGW_IMP_SYMBOL(__badioinfo)[];
86 #define __badioinfo (* __MINGW_IMP_SYMBOL(__badioinfo))
87 #endif
88
89 #ifndef __pioinfo
90 extern ioinfo ** __MINGW_IMP_SYMBOL(__pioinfo)[];
91 #define __pioinfo (* __MINGW_IMP_SYMBOL(__pioinfo))
92 #endif
93
94 #define _NO_CONSOLE_FILENO (intptr_t)-2
95
96 #ifndef _FILE_DEFINED
97 #define _FILE_DEFINED
98 struct _iobuf {
99 char *_ptr;
100 int _cnt;
101 char *_base;
102 int _flag;
103 int _file;
104 int _charbuf;
105 int _bufsiz;
106 char *_tmpfname;
107 };
108 typedef struct _iobuf FILE;
109 #endif
110
111 #if !defined (_FILEX_DEFINED) && defined (_WINDOWS_)
112 #define _FILEX_DEFINED
113 typedef struct {
114 FILE f;
115 CRITICAL_SECTION lock;
116 } _FILEX;
117 #endif
118
119 extern int _dowildcard;
120 extern int _newmode;
121
122 #ifndef __winitenv
123 extern wchar_t *** __MINGW_IMP_SYMBOL(__winitenv);
124 #define __winitenv (* __MINGW_IMP_SYMBOL(__winitenv))
125 #endif
126
127 #ifndef __initenv
128 extern char *** __MINGW_IMP_SYMBOL(__initenv);
129 #define __initenv (* __MINGW_IMP_SYMBOL(__initenv))
130 #endif
131
132 #ifndef _acmdln
133 extern char ** __MINGW_IMP_SYMBOL(_acmdln);
134 #define _acmdln (* __MINGW_IMP_SYMBOL(_acmdln))
135 /* _CRTIMP extern char *_acmdln; */
136 #endif
137
138 #ifndef _wcmdln
139 extern char ** __MINGW_IMP_SYMBOL(_wcmdln);
140 #define _wcmdln (* __MINGW_IMP_SYMBOL(_wcmdln))
141 /* __CRTIMP extern wchar_t *_wcmdln; */
142 #endif
143
144 _CRTIMP __declspec(noreturn) void __cdecl _amsg_exit(int);
145
146 int __CRTDECL _setargv(void);
147 int __CRTDECL __setargv(void);
148 int __CRTDECL _wsetargv(void);
149 int __CRTDECL __wsetargv(void);
150
151 int __CRTDECL main(int _Argc, char **_Argv, char **_Env);
152 int __CRTDECL wmain(int _Argc, wchar_t **_Argv, wchar_t **_Env);
153
154 #ifndef _STARTUP_INFO_DEFINED
155 #define _STARTUP_INFO_DEFINED
156 typedef struct {
157 int newmode;
158 } _startupinfo;
159 #endif
160
161 _CRTIMP int __cdecl __getmainargs(int * _Argc, char *** _Argv, char ***_Env, int _DoWildCard, _startupinfo *_StartInfo);
162 _CRTIMP int __cdecl __wgetmainargs(int * _Argc, wchar_t ***_Argv, wchar_t ***_Env, int _DoWildCard, _startupinfo *_StartInfo);
163
164 #define _CONSOLE_APP 1
165 #define _GUI_APP 2
166
167 typedef enum __enative_startup_state {
168 __uninitialized = 0, __initializing, __initialized
169 } __enative_startup_state;
170
171 extern volatile __enative_startup_state __native_startup_state;
172 extern volatile void *__native_startup_lock;
173
174 extern volatile unsigned int __native_dllmain_reason;
175 extern volatile unsigned int __native_vcclrit_reason;
176
177 _CRTIMP void __cdecl __set_app_type (int);
178
179 typedef LONG NTSTATUS;
180
181 #include <crtdbg.h>
182 #include <errno.h>
183
184 void * __cdecl _encode_pointer(void *);
185 void * __cdecl _encoded_null();
186 void * __cdecl _decode_pointer(void *);
187
188 BOOL __cdecl _ValidateImageBase (PBYTE pImageBase);
189 PIMAGE_SECTION_HEADER __cdecl _FindPESection (PBYTE pImageBase, DWORD_PTR rva);
190 BOOL __cdecl _IsNonwritableInCurrentImage (PBYTE pTarget);
191
192 #ifdef __cplusplus
193 }
194 #endif
195
196 #pragma pack(pop)
197 #endif