fstat: Fix module dependency conditions.
[gnulib/ericb.git] / lib / spawn_int.h
blob3df5f1123540c39e23b99c96cc4e89264f5999c7
1 /* Copyright (C) 2000, 2008-2017 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 3 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17 #include <sys/types.h>
19 /* Data structure to contain the action information. */
20 struct __spawn_action
22 enum
24 spawn_do_close,
25 spawn_do_dup2,
26 spawn_do_open
27 } tag;
29 union
31 struct
33 int fd;
34 } close_action;
35 struct
37 int fd;
38 int newfd;
39 } dup2_action;
40 struct
42 int fd;
43 const char *path;
44 int oflag;
45 mode_t mode;
46 } open_action;
47 } action;
50 #if !_LIBC
51 # define __posix_spawn_file_actions_realloc gl_posix_spawn_file_actions_realloc
52 #endif
53 extern int __posix_spawn_file_actions_realloc (posix_spawn_file_actions_t *
54 file_actions);
56 #if !_LIBC
57 # define __spawni gl_posix_spawn_internal
58 #endif
59 extern int __spawni (pid_t *pid, const char *path,
60 const posix_spawn_file_actions_t *file_actions,
61 const posix_spawnattr_t *attrp, char *const argv[],
62 char *const envp[], int use_path);