about summary refs log tree commit diff
path: root/xpledge.h
diff options
context:
space:
mode:
Diffstat (limited to 'xpledge.h')
-rw-r--r--xpledge.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/xpledge.h b/xpledge.h
new file mode 100644
index 0000000..a6065a9
--- /dev/null
+++ b/xpledge.h
@@ -0,0 +1,26 @@
+#ifndef PLEDGE_H
+#define PLEDGE_H
+
+#ifdef __OpenBSD__
+
+#ifndef _BSD_SOURCE
+#define _BSD_SOURCE
+#endif
+
+#include <err.h>
+#include <unistd.h>
+
+static void
+xpledge(const char *promises, const char *execpromises)
+{
+	if (pledge(promises, execpromises) == -1)
+		err(1, "pledge");
+}
+
+#else
+
+#define xpledge(promises, execpromises) do { } while(0)
+
+#endif /* __OpenBSD__ */
+
+#endif /* PLEDGE_H */