1 /* ----------------------------------------------------------------------------
2 (c) The University of Glasgow 2004
4 Interface for code in runProcess.c (providing support for System.Process)
5 ------------------------------------------------------------------------- */
7 #if !defined(mingw32_TARGET_OS) && !defined(__MINGW32__)
8 typedef pid_t ProcHandle;
10 // Should really be intptr_t, but we don't have that type on the Haskell side
11 typedef long ProcHandle;
14 #if !defined(mingw32_TARGET_OS) && !defined(__MINGW32__)
16 extern ProcHandle runProcess( char *const args[],
17 char *workingDirectory, char **environment,
18 int fdStdInput, int fdStdOutput, int fdStdError);
20 extern ProcHandle runInteractiveProcess( char *const args[],
21 char *workingDirectory,
29 extern ProcHandle runProcess( char *cmd,
30 char *workingDirectory, void *environment,
31 int fdStdInput, int fdStdOutput, int fdStdError);
33 extern ProcHandle runInteractiveProcess( char *cmd,
34 char *workingDirectory,
42 extern int terminateProcess( ProcHandle handle );
43 extern int getProcessExitCode( ProcHandle handle, int *pExitCode );
44 extern int waitForProcess( ProcHandle handle );