summaryrefslogtreecommitdiffstats
path: root/src/include/unistd.h
diff options
context:
space:
mode:
authorMichael Brown2006-12-08 02:23:11 +0100
committerMichael Brown2006-12-08 02:23:11 +0100
commitf3d817d512f0f0a33f3476c11da657f7bbe3c2f5 (patch)
tree009271f20f0808f79bf75243291e36b2e621aeaa /src/include/unistd.h
parentAdded missing include of stdint.h (diff)
downloadipxe-f3d817d512f0f0a33f3476c11da657f7bbe3c2f5.tar.gz
ipxe-f3d817d512f0f0a33f3476c11da657f7bbe3c2f5.tar.xz
ipxe-f3d817d512f0f0a33f3476c11da657f7bbe3c2f5.zip
Added execv() and system().
Diffstat (limited to 'src/include/unistd.h')
-rw-r--r--src/include/unistd.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/include/unistd.h b/src/include/unistd.h
new file mode 100644
index 00000000..9dd51dcd
--- /dev/null
+++ b/src/include/unistd.h
@@ -0,0 +1,24 @@
+#ifndef _UNISTD_H
+#define _UNISTD_H
+
+#include <stddef.h>
+#include <stdarg.h>
+
+extern int execv ( const char *command, char * const argv[] );
+
+/**
+ * Execute command
+ *
+ * @v command Command name
+ * @v arg ... Argument list (starting with argv[0])
+ * @ret rc Command exit status
+ *
+ * This is a front end to execv().
+ */
+#define execl( command, arg, ... ) ( { \
+ char * const argv[] = { (arg), ## __VA_ARGS__, NULL }; \
+ int rc = execv ( (command), argv ); \
+ rc; \
+ } )
+
+#endif /* _UNISTD_H */