blob: 0e1178400a08a37ede972a83e2e2920e73b4287a [file] [log] [blame]
Jari Aaltobb706242000-03-17 21:46:59 +00001/* redir.h - functions from redir.c. */
Jari Aaltocce855b1998-04-17 19:52:44 +00002
Jari Aalto31859422009-01-12 13:36:28 +00003/* Copyright (C) 1997, 2001, 2005, 2008,2009 Free Software Foundation, Inc.
Jari Aaltocce855b1998-04-17 19:52:44 +00004
5 This file is part of GNU Bash, the Bourne Again SHell.
6
Jari Aalto31859422009-01-12 13:36:28 +00007 Bash is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
Jari Aaltocce855b1998-04-17 19:52:44 +000011
Jari Aalto31859422009-01-12 13:36:28 +000012 Bash is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
Jari Aaltocce855b1998-04-17 19:52:44 +000016
Jari Aalto31859422009-01-12 13:36:28 +000017 You should have received a copy of the GNU General Public License
18 along with Bash. If not, see <http://www.gnu.org/licenses/>.
19*/
Jari Aaltocce855b1998-04-17 19:52:44 +000020
21#if !defined (_REDIR_H_)
22#define _REDIR_H_
23
24#include "stdc.h"
25
Jari Aaltob80f6442004-07-27 13:29:18 +000026/* Values for flags argument to do_redirections */
27#define RX_ACTIVE 0x01 /* do it; don't just go through the motions */
28#define RX_UNDOABLE 0x02 /* make a list to undo these redirections */
29#define RX_CLEXEC 0x04 /* set close-on-exec for opened fds > 2 */
Jari Aalto95732b42005-12-07 14:08:12 +000030#define RX_INTERNAL 0x08
31#define RX_USER 0x10
Jari Aalto31859422009-01-12 13:36:28 +000032#define RX_SAVCLEXEC 0x20 /* set close-on-exec off in restored fd even though saved on has it on */
Chet Rameyac50fba2014-02-26 09:36:43 -050033#define RX_SAVEFD 0x40 /* fd used to save another even if < SHELL_FD_BASE */
Jari Aaltob80f6442004-07-27 13:29:18 +000034
Jari Aaltocce855b1998-04-17 19:52:44 +000035extern void redirection_error __P((REDIRECT *, int));
Jari Aaltob80f6442004-07-27 13:29:18 +000036extern int do_redirections __P((REDIRECT *, int));
Jari Aaltocce855b1998-04-17 19:52:44 +000037extern char *redirection_expand __P((WORD_DESC *));
Jari Aaltof73dda02001-11-13 17:56:06 +000038extern int stdin_redirects __P((REDIRECT *));
Jari Aaltocce855b1998-04-17 19:52:44 +000039
40#endif /* _REDIR_H_ */