-#include <sys/wait.h>
-#include <pwd.h>
-#include <errno.h>
-#include <netdb.h>
-#include <signal.h>
-#include <fcntl.h> // for O_WRONLY and friends
-#include <time.h> // nanosleep() and/or usleep()
-
-#include <glib.h>
-#include <gdk/gdk.h>
-#include <gtk/gtk.h>
-#include <gtk/gtkfeatures.h>
-#include <gdk/gdkx.h>
-
-#ifdef __SVR4__
- #include <sys/systeminfo.h>
-#endif
-
-// many versions of Unices have this function, but it is not defined in system
-// headers - please add your system here if it is the case for your OS.
-// SunOS < 5.6 (i.e. Solaris < 2.6) and DG-UX are like this.
-#if (defined(__SUN__) && !defined(__SunOs_5_6) && \
- !defined(__SunOs_5_7) && !defined(__SUNPRO_CC)) || \
- defined(__osf__)
- extern "C"
- {
- void usleep(unsigned long usec);
- };
-#endif // Unices without usleep()
-
-// many versions of Unices have this function, but it is not defined in system
-// headers - please add your system here if it is the case for your OS.
-// SunOS (and Solaris) and DG-UX are like this.
-#if defined(__SOLARIS__) || defined(__osf__)
- extern "C"
- {
- pid_t wait4(pid_t pid, int *statusp, int options,
- struct rusage *rusage);
- }
-
- #define wxWait4(pid, stat, flags, rusage) wait4(pid, stat, flags, rusage)
-#elif defined(__sgi) || defined(__HPUX__)
- // no wait4() at all on these systems
- // TODO verify whether wait3() really works in this situation
- #define wxWait4(pid, stat, flags, rusage) wait3(stat, flags, rusage)
-#else
- // other Unices: assume have wait4(), although it's not standard (but
- // Linux and FreeBSD do have it)
- #define wxWait4(pid, stat, flags, rusage) wait4(pid, stat, flags, rusage)
-#endif // wait4()