- Added, cleaned up and/or documentated _{begin,end}thread{,ex}.
[wine/wine-kai.git] / include / msvcrt / process.h
blobdecac48227ad39c5a0f4380181ae79ff9c5f43b0
1 /*
2 * Process definitions
4 * Derived from the mingw header written by Colin Peters.
5 * Modified for Wine use by Jon Griffiths and Francois Gouget.
6 * This file is in the public domain.
7 */
8 #ifndef __WINE_PROCESS_H
9 #define __WINE_PROCESS_H
11 #include "winnt.h"
13 #ifdef USE_MSVCRT_PREFIX
14 #define MSVCRT(x) MSVCRT_##x
15 #else
16 #define MSVCRT(x) x
17 #endif
20 /* Process creation flags */
21 #define _P_WAIT 0
22 #define _P_NOWAIT 1
23 #define _P_OVERLAY 2
24 #define _P_NOWAITO 3
25 #define _P_DETACH 4
27 #define _WAIT_CHILD 0
28 #define _WAIT_GRANDCHILD 1
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
35 typedef void __cdecl (*_beginthread_start_routine_t)(void *);
36 typedef unsigned int __stdcall (*_beginthreadex_start_routine_t)(void *);
38 unsigned long _beginthread(_beginthread_start_routine_t,unsigned int,void*);
39 unsigned long _beginthreadex(void*,unsigned int,_beginthreadex_start_routine_t,void*,unsigned int,unsigned int*);
40 int _cwait(int*,int,int);
41 void _endthread(void);
42 void _endthreadex(unsigned int);
43 int _execl(const char*,const char*,...);
44 int _execle(const char*,const char*,...);
45 int _execlp(const char*,const char*,...);
46 int _execlpe(const char*,const char*,...);
47 int _execv(const char*,char* const *);
48 int _execve(const char*,char* const *,const char* const *);
49 int _execvp(const char*,char* const *);
50 int _execvpe(const char*,char* const *,const char* const *);
51 int _getpid(void);
52 int _spawnl(int,const char*,const char*,...);
53 int _spawnle(int,const char*,const char*,...);
54 int _spawnlp(int,const char*,const char*,...);
55 int _spawnlpe(int,const char*,const char*,...);
56 int _spawnv(int,const char*,const char* const *);
57 int _spawnve(int,const char*,const char* const *,const char* const *);
58 int _spawnvp(int,const char* ,const char* const *);
59 int _spawnvpe(int,const char*,const char* const *,const char* const *);
61 void MSVCRT(_c_exit)(void);
62 void MSVCRT(_cexit)(void);
63 void MSVCRT(_exit)(int);
64 void MSVCRT(abort)(void);
65 void MSVCRT(exit)(int);
66 int MSVCRT(system)(const char*);
68 int _wexecl(const WCHAR*,const WCHAR*,...);
69 int _wexecle(const WCHAR*,const WCHAR*,...);
70 int _wexeclp(const WCHAR*,const WCHAR*,...);
71 int _wexeclpe(const WCHAR*,const WCHAR*,...);
72 int _wexecv(const WCHAR*,const WCHAR* const *);
73 int _wexecve(const WCHAR*,const WCHAR* const *,const WCHAR* const *);
74 int _wexecvp(const WCHAR*,const WCHAR* const *);
75 int _wexecvpe(const WCHAR*,const WCHAR* const *,const WCHAR* const *);
76 int _wspawnl(int,const WCHAR*,const WCHAR*,...);
77 int _wspawnle(int,const WCHAR*,const WCHAR*,...);
78 int _wspawnlp(int,const WCHAR*,const WCHAR*,...);
79 int _wspawnlpe(int,const WCHAR*,const WCHAR*,...);
80 int _wspawnv(int,const WCHAR*,const WCHAR* const *);
81 int _wspawnve(int,const WCHAR*,const WCHAR* const *,const WCHAR* const *);
82 int _wspawnvp(int,const WCHAR*,const WCHAR* const *);
83 int _wspawnvpe(int,const WCHAR*,const WCHAR* const *,const WCHAR* const *);
84 int _wsystem(const WCHAR*);
86 #ifdef __cplusplus
88 #endif
91 #ifndef USE_MSVCRT_PREFIX
92 #define P_WAIT _P_WAIT
93 #define P_NOWAIT _P_NOWAIT
94 #define P_OVERLAY _P_OVERLAY
95 #define P_NOWAITO _P_NOWAITO
96 #define P_DETACH _P_DETACH
98 #define WAIT_CHILD _WAIT_CHILD
99 #define WAIT_GRANDCHILD _WAIT_GRANDCHILD
101 #define cwait _cwait
102 #define getpid _getpid
103 #define execl _execl
104 #define execle _execle
105 #define execlp _execlp
106 #define execlpe _execlpe
107 #define execv _execv
108 #define execve _execve
109 #define execvp _execvp
110 #define execvpe _execvpe
111 #define spawnl _spawnl
112 #define spawnle _spawnle
113 #define spawnlp _spawnlp
114 #define spawnlpe _spawnlpe
115 #define spawnv _spawnv
116 #define spawnve _spawnve
117 #define spawnvp _spawnvp
118 #define spawnvpe _spawnvpe
119 #endif /* USE_MSVCRT_PREFIX */
121 #endif /* __WINE_PROCESS_H */