about summary refs log tree commit diff
path: root/posix/spawn_int.h
diff options
context:
space:
mode:
Diffstat (limited to 'posix/spawn_int.h')
-rw-r--r--posix/spawn_int.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/posix/spawn_int.h b/posix/spawn_int.h
new file mode 100644
index 0000000000..a3e934754f
--- /dev/null
+++ b/posix/spawn_int.h
@@ -0,0 +1,38 @@
+/* Data structure to contain the action information.  */
+struct __spawn_action
+{
+  enum
+  {
+    spawn_do_close,
+    spawn_do_dup2,
+    spawn_do_open
+  } tag;
+
+  union
+  {
+    struct
+    {
+      int fd;
+    } close_action;
+    struct
+    {
+      int fd;
+      int newfd;
+    } dup2_action;
+    struct
+    {
+      int fd;
+      const char *path;
+      int oflag;
+      mode_t mode;
+    } open_action;
+  } action;
+};
+
+extern int __posix_spawn_file_actions_realloc (posix_spawn_file_actions_t *
+					       file_actions);
+
+extern int __spawni (pid_t *pid, const char *path,
+		     const posix_spawn_file_actions_t *file_actions,
+		     const posix_spawnattr_t *attrp, char *const argv[],
+		     char *const envp[], int use_path);