summaryrefslogtreecommitdiff
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);