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
10 #define __WINE_USE_MSVCRT
14 #ifdef USE_MSVCRT_PREFIX
15 #define MSVCRT(x) MSVCRT_##x
21 /* Process creation flags */
29 #define _WAIT_GRANDCHILD 1
36 typedef void __cdecl (*_beginthread_start_routine_t
)(void *);
37 typedef unsigned int __stdcall (*_beginthreadex_start_routine_t
)(void *);
39 unsigned long _beginthread(_beginthread_start_routine_t
,unsigned int,void*);
40 unsigned long _beginthreadex(void*,unsigned int,_beginthreadex_start_routine_t
,void*,unsigned int,unsigned int*);
41 int _cwait(int*,int,int);
42 void _endthread(void);
43 void _endthreadex(unsigned int);
44 int _execl(const char*,const char*,...);
45 int _execle(const char*,const char*,...);
46 int _execlp(const char*,const char*,...);
47 int _execlpe(const char*,const char*,...);
48 int _execv(const char*,char* const *);
49 int _execve(const char*,char* const *,const char* const *);
50 int _execvp(const char*,char* const *);
51 int _execvpe(const char*,char* const *,const char* const *);
53 int _spawnl(int,const char*,const char*,...);
54 int _spawnle(int,const char*,const char*,...);
55 int _spawnlp(int,const char*,const char*,...);
56 int _spawnlpe(int,const char*,const char*,...);
57 int _spawnv(int,const char*,const char* const *);
58 int _spawnve(int,const char*,const char* const *,const char* const *);
59 int _spawnvp(int,const char*,const char* const *);
60 int _spawnvpe(int,const char*,const char* const *,const char* const *);
62 void MSVCRT(_c_exit
)(void);
63 void MSVCRT(_cexit
)(void);
64 void MSVCRT(_exit
)(int);
65 void MSVCRT(abort
)(void);
66 void MSVCRT(exit
)(int);
67 int MSVCRT(system
)(const char*);
69 int _wexecl(const WCHAR
*,const WCHAR
*,...);
70 int _wexecle(const WCHAR
*,const WCHAR
*,...);
71 int _wexeclp(const WCHAR
*,const WCHAR
*,...);
72 int _wexeclpe(const WCHAR
*,const WCHAR
*,...);
73 int _wexecv(const WCHAR
*,const WCHAR
* const *);
74 int _wexecve(const WCHAR
*,const WCHAR
* const *,const WCHAR
* const *);
75 int _wexecvp(const WCHAR
*,const WCHAR
* const *);
76 int _wexecvpe(const WCHAR
*,const WCHAR
* const *,const WCHAR
* const *);
77 int _wspawnl(int,const WCHAR
*,const WCHAR
*,...);
78 int _wspawnle(int,const WCHAR
*,const WCHAR
*,...);
79 int _wspawnlp(int,const WCHAR
*,const WCHAR
*,...);
80 int _wspawnlpe(int,const WCHAR
*,const WCHAR
*,...);
81 int _wspawnv(int,const WCHAR
*,const WCHAR
* const *);
82 int _wspawnve(int,const WCHAR
*,const WCHAR
* const *,const WCHAR
* const *);
83 int _wspawnvp(int,const WCHAR
*,const WCHAR
* const *);
84 int _wspawnvpe(int,const WCHAR
*,const WCHAR
* const *,const WCHAR
* const *);
85 int _wsystem(const WCHAR
*);
92 #ifndef USE_MSVCRT_PREFIX
93 #define P_WAIT _P_WAIT
94 #define P_NOWAIT _P_NOWAIT
95 #define P_OVERLAY _P_OVERLAY
96 #define P_NOWAITO _P_NOWAITO
97 #define P_DETACH _P_DETACH
99 #define WAIT_CHILD _WAIT_CHILD
100 #define WAIT_GRANDCHILD _WAIT_GRANDCHILD
103 #define getpid _getpid
105 #define execle _execle
106 #define execlp _execlp
107 #define execlpe _execlpe
109 #define execve _execve
110 #define execvp _execvp
111 #define execvpe _execvpe
112 #define spawnl _spawnl
113 #define spawnle _spawnle
114 #define spawnlp _spawnlp
115 #define spawnlpe _spawnlpe
116 #define spawnv _spawnv
117 #define spawnve _spawnve
118 #define spawnvp _spawnvp
119 #define spawnvpe _spawnvpe
120 #endif /* USE_MSVCRT_PREFIX */
122 #endif /* __WINE_PROCESS_H */