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.
8 #ifndef __WINE_PROCESS_H
9 #define __WINE_PROCESS_H
13 #ifdef USE_MSVCRT_PREFIX
14 #define MSVCRT(x) MSVCRT_##x
20 /* Process creation flags */
28 #define _WAIT_GRANDCHILD 1
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 *);
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
*);
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
102 #define getpid _getpid
104 #define execle _execle
105 #define execlp _execlp
106 #define execlpe _execlpe
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 */