exp2l: Work around a NetBSD 10.0/i386 bug.
[gnulib.git] / lib / os2-spawn.h
blobc8b8e335051c4c214a3659cd63204289803cb4c8
1 /* Auxiliary functions for the creation of subprocesses. OS/2 kLIBC API.
2 Copyright (C) 2001, 2003-2024 Free Software Foundation, Inc.
3 Written by Bruno Haible <bruno@clisp.org>, 2003.
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.
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.
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/>. */
18 #ifndef _OS2_SPAWN_H
19 #define _OS2_SPAWN_H
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);
26 /* Undoes the effect of TEMPFD = dup_safer_noinherit (ORIGFD); */
27 extern void undup_safer_noinherit (int tempfd, int origfd);
29 /* Prepares an argument vector before calling spawn(). */
30 extern const char ** prepare_spawn (const char * const *argv,
31 char **mem_to_free);
33 #endif /* _OS2_SPAWN_H */