1 /* Auxiliary functions for the creation of subprocesses. OS/2 kLIBC API. 2 Copyright (C) 2001, 2003-2021 Free Software Foundation, Inc. 3 Written by Bruno Haible <bruno@clisp.org>, 2003. 4 5 This program is free software: you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 17 18 #ifndef _OS2_SPAWN_H 19 #define _OS2_SPAWN_H 20 21 /* Duplicates a file handle, making the copy uninheritable and ensuring the 22 result is none of STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO. 23 Returns -1 for a file handle that is equivalent to closed. */ 24 extern int dup_safer_noinherit (int fd); 25 26 /* Undoes the effect of TEMPFD = dup_safer_noinherit (ORIGFD); */ 27 extern void undup_safer_noinherit (int tempfd, int origfd); 28 29 /* Prepares an argument vector before calling spawn(). */ 30 extern const char ** prepare_spawn (const char * const *argv, 31 char **mem_to_free); 32 33 #endif /* _OS2_SPAWN_H */