|  | /* 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; | 
|  | char *path; | 
|  | int oflag; | 
|  | mode_t mode; | 
|  | } open_action; | 
|  | } action; | 
|  | }; | 
|  |  | 
|  | #define SPAWN_XFLAGS_USE_PATH	0x1 | 
|  | #define SPAWN_XFLAGS_TRY_SHELL	0x2 | 
|  |  | 
|  | 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 xflags); |