#define _OS_PROCESS_HPP_
+#ifdef _WIN32
+#include <windows.h>
+#else
+#include <sys/types.h>
+#include <unistd.h>
+#endif
+
#include "os.hpp"
namespace os {
+typedef
+#ifdef _WIN32
+ DWORD
+#else
+ pid_t
+#endif
+ProcessId;
+
+
+static inline ProcessId
+getCurrentProcessId(void) {
+#ifdef _WIN32
+ return GetCurrentProcessId();
+#else
+ return getpid();
+#endif
+}
+
+
+static inline void
+setEnvironment(const char *name, const char *value) {
+#ifdef _WIN32
+ SetEnvironmentVariableA(name, value);
+#else
+ setenv(name, value, 1);
+#endif
+}
+
+
+static inline void
+unsetEnvironment(const char *name) {
+#ifdef _WIN32
+ SetEnvironmentVariableA(name, NULL);
+#else
+ unsetenv(name);
+#endif
+}
+
+
int execute(char * const * args);