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 within this package.
11 /* Includes a definition of _pid_t and pid_t */
12 #include <sys/types.h>
22 #define _OLD_P_OVERLAY 2
28 #define _WAIT_GRANDCHILD 1
34 _In_
void(__cdecl
*_StartAddress
) (void *),
35 _In_
unsigned _StackSize
,
36 _In_opt_
void *_ArgList
);
38 _CRTIMP
void __cdecl
_endthread(void);
44 _In_opt_
void *_Security
,
45 _In_
unsigned _StackSize
,
46 _In_
unsigned(__stdcall
*_StartAddress
) (void *),
47 _In_opt_
void *_ArgList
,
48 _In_
unsigned _InitFlag
,
49 _Out_opt_
unsigned *_ThrdAddr
);
51 _CRTIMP
void __cdecl
_endthreadex(_In_
unsigned _Retval
);
53 #ifndef _CRT_TERMINATE_DEFINED
54 #define _CRT_TERMINATE_DEFINED
55 __declspec(noreturn
) void __cdecl
exit(_In_
int _Code
);
56 _CRTIMP
__declspec(noreturn
) void __cdecl
_exit(_In_
int _Code
);
58 #if __MINGW_GNUC_PREREQ(4,4)
59 #pragma push_macro("abort")
62 __declspec(noreturn
) void __cdecl
abort(void);
63 #if __MINGW_GNUC_PREREQ(4,4)
64 #pragma pop_macro("abort")
69 __analysis_noreturn _CRTIMP
void __cdecl
_cexit(void);
70 __analysis_noreturn _CRTIMP
void __cdecl
_c_exit(void);
71 _CRTIMP
int __cdecl
_getpid(void);
77 _Out_opt_
int *_TermStat
,
78 _In_
intptr_t _ProcHandle
,
85 _In_z_
const char *_Filename
,
86 _In_z_
const char *_ArgList
,
93 _In_z_
const char *_Filename
,
94 _In_z_
const char *_ArgList
,
101 _In_z_
const char *_Filename
,
102 _In_z_
const char *_ArgList
,
109 _In_z_
const char *_Filename
,
110 _In_z_
const char *_ArgList
,
117 _In_z_
const char *_Filename
,
118 _In_z_
const char *const *_ArgList
);
124 _In_z_
const char *_Filename
,
125 _In_z_
const char *const *_ArgList
,
126 _In_opt_z_
const char *const *_Env
);
132 _In_z_
const char *_Filename
,
133 _In_z_
const char *const *_ArgList
);
139 _In_z_
const char *_Filename
,
140 _In_z_
const char *const *_ArgList
,
141 _In_opt_z_
const char *const *_Env
);
148 _In_z_
const char *_Filename
,
149 _In_z_
const char *_ArgList
,
157 _In_z_
const char *_Filename
,
158 _In_z_
const char *_ArgList
,
166 _In_z_
const char *_Filename
,
167 _In_z_
const char *_ArgList
,
175 _In_z_
const char *_Filename
,
176 _In_z_
const char *_ArgList
,
184 _In_z_
const char *_Filename
,
185 _In_z_
const char *const *_ArgList
);
192 _In_z_
const char *_Filename
,
193 _In_z_
const char *const *_ArgList
,
194 _In_opt_z_
const char *const *_Env
);
201 _In_z_
const char *_Filename
,
202 _In_z_
const char *const *_ArgList
);
209 _In_z_
const char *_Filename
,
210 _In_z_
const char *const *_ArgList
,
211 _In_opt_z_
const char *const *_Env
);
213 #ifndef _CRT_SYSTEM_DEFINED
214 #define _CRT_SYSTEM_DEFINED
215 int __cdecl
system(_In_opt_z_
const char *_Command
);
218 #ifndef _WPROCESS_DEFINED
219 #define _WPROCESS_DEFINED
225 _In_z_
const wchar_t *_Filename
,
226 _In_z_
const wchar_t *_ArgList
,
233 _In_z_
const wchar_t *_Filename
,
234 _In_z_
const wchar_t *_ArgList
,
241 _In_z_
const wchar_t *_Filename
,
242 _In_z_
const wchar_t *_ArgList
,
249 _In_z_
const wchar_t *_Filename
,
250 _In_z_
const wchar_t *_ArgList
,
257 _In_z_
const wchar_t *_Filename
,
258 _In_z_
const wchar_t *const *_ArgList
);
264 _In_z_
const wchar_t *_Filename
,
265 _In_z_
const wchar_t *const *_ArgList
,
266 _In_opt_z_
const wchar_t *const *_Env
);
272 _In_z_
const wchar_t *_Filename
,
273 _In_z_
const wchar_t *const *_ArgList
);
279 _In_z_
const wchar_t *_Filename
,
280 _In_z_
const wchar_t *const *_ArgList
,
281 _In_opt_z_
const wchar_t *const *_Env
);
288 _In_z_
const wchar_t *_Filename
,
289 _In_z_
const wchar_t *_ArgList
,
297 _In_z_
const wchar_t *_Filename
,
298 _In_z_
const wchar_t *_ArgList
,
306 _In_z_
const wchar_t *_Filename
,
307 _In_z_
const wchar_t *_ArgList
,
315 _In_z_
const wchar_t *_Filename
,
316 _In_z_
const wchar_t *_ArgList
,
324 _In_z_
const wchar_t *_Filename
,
325 _In_z_
const wchar_t *const *_ArgList
);
332 _In_z_
const wchar_t *_Filename
,
333 _In_z_
const wchar_t *const *_ArgList
,
334 _In_opt_z_
const wchar_t *const *_Env
);
341 _In_z_
const wchar_t *_Filename
,
342 _In_z_
const wchar_t *const *_ArgList
);
349 _In_z_
const wchar_t *_Filename
,
350 _In_z_
const wchar_t *const *_ArgList
,
351 _In_opt_z_
const wchar_t *const *_Env
);
353 #ifndef _CRT_WSYSTEM_DEFINED
354 #define _CRT_WSYSTEM_DEFINED
355 _CRTIMP
int __cdecl
_wsystem(_In_opt_z_
const wchar_t *_Command
);
356 #endif /* _CRT_WSYSTEM_DEFINED */
358 #endif /* _WPROCESS_DEFINED */
360 void __cdecl
__security_init_cookie(void);
361 #if (defined(_X86_) && !defined(__x86_64))
362 void __fastcall
__security_check_cookie(uintptr_t _StackCookie
);
363 __declspec(noreturn
) void __cdecl
__report_gsfailure(void);
365 void __cdecl
__security_check_cookie(uintptr_t _StackCookie
);
366 __declspec(noreturn
) void __cdecl
__report_gsfailure(uintptr_t _StackCookie
);
368 extern uintptr_t __security_cookie
;
370 intptr_t __cdecl
_loaddll(_In_z_
char *_Filename
);
371 int __cdecl
_unloaddll(_In_
intptr_t _Handle
);
372 int (__cdecl
*__cdecl
_getdllprocaddr(_In_
intptr_t _Handle
, _In_opt_z_
char *_ProcedureName
, _In_
intptr_t _Ordinal
))(void);
381 _In_ HANDLE _HDllHandle
,
383 _In_opt_ LPVOID _Reserved
);
388 _In_ HANDLE _HDllHandle
,
390 _In_opt_ LPVOID _Reserved
);
395 _In_ HANDLE _HDllHandle
,
397 _In_opt_ LPVOID _Reserved
);
399 extern WINBOOL (WINAPI
*const _pRawDllMain
)(HANDLE
,DWORD
,LPVOID
);
406 _In_
void *_HDllHandle
,
407 _In_
unsigned _Reason
,
408 _In_opt_
void *_Reserved
);
413 _In_
void *_HDllHandle
,
414 _In_
unsigned _Reason
,
415 _In_opt_
void *_Reserved
);
420 _In_
void *_HDllHandle
,
421 _In_
unsigned _Reason
,
422 _In_opt_
void *_Reserved
);
424 extern int (__stdcall
*const _pRawDllMain
)(void *,unsigned,void *);
428 #endif /* _DECL_DLLMAIN */
432 #define P_WAIT _P_WAIT
433 #define P_NOWAIT _P_NOWAIT
434 #define P_OVERLAY _P_OVERLAY
435 #define OLD_P_OVERLAY _OLD_P_OVERLAY
436 #define P_NOWAITO _P_NOWAITO
437 #define P_DETACH _P_DETACH
438 #define WAIT_CHILD _WAIT_CHILD
439 #define WAIT_GRANDCHILD _WAIT_GRANDCHILD
445 _Out_opt_
int *_TermStat
,
446 _In_
intptr_t _ProcHandle
,
455 _In_z_
const char *_Filename
,
456 _In_z_
const char *_ArgList
,
463 _In_z_
const char *_Filename
,
464 _In_z_
const char *_ArgList
,
471 _In_z_
const char *_Filename
,
472 _In_z_
const char *_ArgList
,
479 _In_z_
const char *_Filename
,
480 _In_z_
const char *_ArgList
,
489 _In_z_
const char *_Filename
,
490 _In_z_
const char *_ArgList
,
497 _In_z_
const char *_Filename
,
498 _In_z_
const char *_ArgList
,
505 _In_z_
const char *_Filename
,
506 _In_z_
const char *_ArgList
,
513 _In_z_
const char *_Filename
,
514 _In_z_
const char *_ArgList
,
517 #endif /* __GNUC__ */
524 _In_z_
const char *_Filename
,
525 _In_z_
const char *_ArgList
,
533 _In_z_
const char *_Filename
,
534 _In_z_
const char *_ArgList
,
542 _In_z_
const char *_Filename
,
543 _In_z_
const char *_ArgList
,
551 _In_z_
const char *_Filename
,
552 _In_z_
const char *_ArgList
,
555 _CRTIMP
int __cdecl
getpid(void);
559 /* Those methods are predefined by gcc builtins to return int. So to prevent
560 stupid warnings, define them in POSIX way. This is save, because those
561 methods do not return in success case, so that the return value is not
562 really dependent to its scalar width. */
568 _In_z_
const char *_Filename
,
569 _In_z_
char *const _ArgList
[]);
575 _In_z_
const char *_Filename
,
576 _In_z_
char *const _ArgList
[],
577 _In_opt_z_
char *const _Env
[]);
583 _In_z_
const char *_Filename
,
584 _In_z_
char *const _ArgList
[]);
590 _In_z_
const char *_Filename
,
591 _In_z_
char *const _ArgList
[],
592 _In_opt_z_
char *const _Env
[]);
600 _In_z_
const char *_Filename
,
601 _In_z_
char *const _ArgList
[]);
607 _In_z_
const char *_Filename
,
608 _In_z_
char *const _ArgList
[],
609 _In_opt_z_
char *const _Env
[]);
615 _In_z_
const char *_Filename
,
616 _In_z_
char *const _ArgList
[]);
622 _In_z_
const char *_Filename
,
623 _In_z_
char *const _ArgList
[],
624 _In_opt_z_
char *const _Env
[]);
626 #endif /* __GNUC__ */
633 _In_z_
const char *_Filename
,
634 _In_z_
char *const _ArgList
[]);
641 _In_z_
const char *_Filename
,
642 _In_z_
char *const _ArgList
[],
643 _In_opt_z_
char *const _Env
[]);
650 _In_z_
const char *_Filename
,
651 _In_z_
char *const _ArgList
[]);
658 _In_z_
const char *_Filename
,
659 _In_z_
char *const _ArgList
[],
660 _In_opt_z_
char *const _Env
[]);
662 #endif /* NO_OLDNAMES */
670 #endif /* _INC_PROCESS */