diff --git a/include/msvcrt/process.h b/include/msvcrt/process.h
new file mode 100644
index 0000000..da09e73
--- /dev/null
+++ b/include/msvcrt/process.h
@@ -0,0 +1,118 @@
+/*
+ * Process definitions
+ *
+ * Derived from the mingw header written by Colin Peters.
+ * Modified for Wine use by Jon Griffiths and Francois Gouget.
+ * This file is in the public domain.
+ */
+#ifndef __WINE_PROCESS_H
+#define __WINE_PROCESS_H
+
+#include "winnt.h"
+
+#ifdef USE_MSVCRT_PREFIX
+#define MSVCRT(x)    MSVCRT_##x
+#else
+#define MSVCRT(x)    x
+#endif
+
+
+/* Process creation flags */
+#define _P_WAIT    0
+#define _P_NOWAIT  1
+#define _P_OVERLAY 2
+#define _P_NOWAITO 3
+#define _P_DETACH  4
+
+#define _WAIT_CHILD      0
+#define _WAIT_GRANDCHILD 1
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+unsigned long _beginthread(void (*)(void*),unsigned,void*);
+unsigned long _beginthreadex(void*,unsigned,unsigned __stdcall (*)(void*),void*,unsigned, unsigned*);
+int         _cwait(int*,int,int);
+void        _endthread(void);
+void        _endthreadex(unsigned);
+int         _execl(const char*,const char*,...);
+int         _execle(const char*,const char*,...);
+int         _execlp(const char*,const char*,...);
+int         _execlpe(const char*,const char*,...);
+int         _execv(const char*,char* const *);
+int         _execve(const char*,char* const *,const char* const *);
+int         _execvp(const char*,char* const *);
+int         _execvpe(const char*,char* const *,const char* const *);
+int         _getpid(void);
+int         _spawnl(int,const char*,const char*,...);
+int         _spawnle(int,const char*,const char*,...);
+int         _spawnlp(int,const char*,const char*,...);
+int         _spawnlpe(int,const char*,const char*,...);
+int         _spawnv(int,const char*,const char* const *);
+int         _spawnve(int,const char*,const char* const *,const char* const *);
+int         _spawnvp(int,const char* ,const char* const *);
+int         _spawnvpe(int,const char*,const char* const *,const char* const *);
+
+void        MSVCRT(_c_exit)(void);
+void        MSVCRT(_cexit)(void);
+void        MSVCRT(_exit)(int);
+void        MSVCRT(abort)(void);
+void        MSVCRT(exit)(int);
+int         MSVCRT(system)(const char*);
+
+int         _wexecl(const WCHAR*,const WCHAR*,...);
+int         _wexecle(const WCHAR*,const WCHAR*,...);
+int         _wexeclp(const WCHAR*,const WCHAR*,...);
+int         _wexeclpe(const WCHAR*,const WCHAR*,...);
+int         _wexecv(const WCHAR*,const WCHAR* const *);
+int         _wexecve(const WCHAR*,const WCHAR* const *,const WCHAR* const *);
+int         _wexecvp(const WCHAR*,const WCHAR* const *);
+int         _wexecvpe(const WCHAR*,const WCHAR* const *,const WCHAR* const *);
+int         _wspawnl(int,const WCHAR*,const WCHAR*,...);
+int         _wspawnle(int,const WCHAR*,const WCHAR*,...);
+int         _wspawnlp(int,const WCHAR*,const WCHAR*,...);
+int         _wspawnlpe(int,const WCHAR*,const WCHAR*,...);
+int         _wspawnv(int,const WCHAR*,const WCHAR* const *);
+int         _wspawnve(int,const WCHAR*,const WCHAR* const *,const WCHAR* const *);
+int         _wspawnvp(int,const WCHAR*,const WCHAR* const *);
+int         _wspawnvpe(int,const WCHAR*,const WCHAR* const *,const WCHAR* const *);
+int         _wsystem(const WCHAR*);
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#ifndef USE_MSVCRT_PREFIX
+#define P_WAIT          _P_WAIT
+#define P_NOWAIT        _P_NOWAIT
+#define P_OVERLAY       _P_OVERLAY
+#define P_NOWAITO       _P_NOWAITO
+#define P_DETACH        _P_DETACH
+
+#define WAIT_CHILD      _WAIT_CHILD
+#define WAIT_GRANDCHILD _WAIT_GRANDCHILD
+
+#define cwait    _cwait
+#define getpid   _getpid
+#define execl    _execl
+#define execle   _execle
+#define execlp   _execlp
+#define execlpe  _execlpe
+#define execv    _execv
+#define execve   _execve
+#define execvp   _execvp
+#define execvpe  _execvpe
+#define spawnl   _spawnl
+#define spawnle  _spawnle
+#define spawnlp  _spawnlp
+#define spawnlpe _spawnlpe
+#define spawnv   _spawnv
+#define spawnve  _spawnve
+#define spawnvp  _spawnvp
+#define spawnvpe _spawnvpe
+#endif /* USE_MSVCRT_PREFIX */
+
+#endif /* __WINE_PROCESS_H */
