root/maint/gnulib/lib/spawn_int.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /* Copyright (C) 2000, 2008-2021 Free Software Foundation, Inc.
   2    This file is part of the GNU C Library.
   3 
   4    This file is free software: you can redistribute it and/or modify
   5    it under the terms of the GNU Lesser General Public License as
   6    published by the Free Software Foundation; either version 2.1 of the
   7    License, or (at your option) any later version.
   8 
   9    This file 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 Lesser General Public License for more details.
  13 
  14    You should have received a copy of the GNU Lesser General Public License
  15    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
  16 
  17 #include <sys/types.h>
  18 
  19 /* Data structure to contain the action information.  */
  20 struct __spawn_action
  21 {
  22   enum
  23   {
  24     spawn_do_close,
  25     spawn_do_dup2,
  26     spawn_do_open,
  27     spawn_do_chdir,
  28     spawn_do_fchdir
  29   } tag;
  30 
  31   union
  32   {
  33     struct
  34     {
  35       int fd;
  36     } close_action;
  37     struct
  38     {
  39       int fd;
  40       int newfd;
  41     } dup2_action;
  42     struct
  43     {
  44       int fd;
  45       char *path;
  46       int oflag;
  47       mode_t mode;
  48     } open_action;
  49     struct
  50     {
  51       char *path;
  52     } chdir_action;
  53     struct
  54     {
  55       int fd;
  56     } fchdir_action;
  57   } action;
  58 };
  59 
  60 #if !_LIBC
  61 # define __posix_spawn_file_actions_realloc gl_posix_spawn_file_actions_realloc
  62 #endif
  63 extern int __posix_spawn_file_actions_realloc (posix_spawn_file_actions_t *
  64                                                file_actions);
  65 
  66 #if !_LIBC
  67 # define __spawni gl_posix_spawn_internal
  68 #endif
  69 extern int __spawni (pid_t *pid, const char *path,
  70                      const posix_spawn_file_actions_t *file_actions,
  71                      const posix_spawnattr_t *attrp, const char *const argv[],
  72                      const char *const envp[], int use_path);

/* [previous][next][first][last][top][bottom][index][help] */