79 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* flags.h -- a list of all the flags that the shell knows about.  You add
 | |
|    a flag to this program by adding the name here, and in flags.c. */
 | |
| 
 | |
| /* Copyright (C) 1993-2009 Free Software Foundation, Inc.
 | |
| 
 | |
|    This file is part of GNU Bash, the Bourne Again SHell.
 | |
| 
 | |
|    Bash is free software: you can redistribute it and/or modify
 | |
|    it under the terms of the GNU General Public License as published by
 | |
|    the Free Software Foundation, either version 3 of the License, or
 | |
|    (at your option) any later version.
 | |
| 
 | |
|    Bash is distributed in the hope that it will be useful,
 | |
|    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|    GNU General Public License for more details.
 | |
| 
 | |
|    You should have received a copy of the GNU General Public License
 | |
|    along with Bash.  If not, see <http://www.gnu.org/licenses/>.
 | |
| */
 | |
| 
 | |
| #if !defined (_FLAGS_H_)
 | |
| #define _FLAGS_H_
 | |
| 
 | |
| #include "stdc.h"
 | |
| 
 | |
| /* Welcome to the world of Un*x, where everything is slightly backwards. */
 | |
| #define FLAG_ON '-'
 | |
| #define FLAG_OFF '+'
 | |
| 
 | |
| #define FLAG_ERROR -1
 | |
| #define FLAG_UNKNOWN (int *)0
 | |
| 
 | |
| /* The thing that we build the array of flags out of. */
 | |
| struct flags_alist {
 | |
|   char name;
 | |
|   int *value;
 | |
| };
 | |
| 
 | |
| extern const struct flags_alist shell_flags[];
 | |
| extern char optflags[];
 | |
| 
 | |
| extern int
 | |
|   mark_modified_vars, exit_immediately_on_error, disallow_filename_globbing,
 | |
|   place_keywords_in_env, read_but_dont_execute,
 | |
|   just_one_command, unbound_vars_is_error, echo_input_at_read,
 | |
|   echo_command_at_execute, no_invisible_vars, noclobber,
 | |
|   hashing_enabled, forced_interactive, privileged_mode,
 | |
|   asynchronous_notification, interactive_comments, no_symbolic_links,
 | |
|   function_trace_mode, error_trace_mode, pipefail_opt;
 | |
| 
 | |
| #if 0
 | |
| extern int lexical_scoping;
 | |
| #endif
 | |
| 
 | |
| #if defined (BRACE_EXPANSION)
 | |
| extern int brace_expansion;
 | |
| #endif
 | |
| 
 | |
| #if defined (BANG_HISTORY)
 | |
| extern int history_expansion;
 | |
| #endif /* BANG_HISTORY */
 | |
| 
 | |
| #if defined (RESTRICTED_SHELL)
 | |
| extern int restricted;
 | |
| extern int restricted_shell;
 | |
| #endif /* RESTRICTED_SHELL */
 | |
| 
 | |
| extern int *find_flag __P((int));
 | |
| extern int change_flag __P((int, int));
 | |
| extern char *which_set_flags __P((void));
 | |
| extern void reset_shell_flags __P((void));
 | |
| 
 | |
| extern void initialize_flags __P((void));
 | |
| 
 | |
| /* A macro for efficiency. */
 | |
| #define change_flag_char(flag, on_or_off)  change_flag (flag, on_or_off)
 | |
| 
 | |
| #endif /* _FLAGS_H_ */
 | 
