1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21/*
22 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 */
25
26
27/*
28 *	globals.cc
29 *
30 *	This declares all global variables
31 */
32
33/*
34 * Included files
35 */
36#include <mksh/globals.h>
37
38/*
39 * Defined macros
40 */
41
42/*
43 * typedefs & structs
44 */
45
46/*
47 * Global variables
48 */
49char		char_semantics[CHAR_SEMANTICS_ENTRIES];
50wchar_t		char_semantics_char[] = {
51	ampersand_char,
52	asterisk_char,
53	at_char,
54	backquote_char,
55	backslash_char,
56	bar_char,
57	bracketleft_char,
58	bracketright_char,
59	colon_char,
60	dollar_char,
61	doublequote_char,
62	equal_char,
63	exclam_char,
64	greater_char,
65	hat_char,
66	hyphen_char,
67	less_char,
68	newline_char,
69	numbersign_char,
70	parenleft_char,
71	parenright_char,
72	percent_char,
73	plus_char,
74	question_char,
75	quote_char,
76	semicolon_char,
77	nul_char
78};
79Macro_list	cond_macro_list;
80Boolean		conditional_macro_used;
81Boolean		do_not_exec_rule;		/* `-n' */
82Boolean		dollarget_seen;
83Boolean		dollarless_flag;
84Name		dollarless_value;
85Envvar		envvar;
86int		exit_status;
87wchar_t		*file_being_read;
88/* Variable gnu_style=true if env. var. SUN_MAKE_COMPAT_MODE=GNU (RFE 4866328) */
89Boolean		gnu_style = false;
90Name_set	hashtab;
91Name		host_arch;
92Name		host_mach;
93int		line_number;
94char		*make_state_lockfile;
95Boolean		make_word_mentioned;
96Makefile_type	makefile_type = reading_nothing;
97char		mbs_buffer[(MAXPATHLEN * MB_LEN_MAX)];
98Name		path_name;
99Boolean		posix = true;
100Name		hat;
101Name		query;
102Boolean		query_mentioned;
103Boolean		reading_environment;
104Name		shell_name;
105Boolean		svr4 = false;
106Name		target_arch;
107Name		target_mach;
108Boolean		tilde_rule;
109Name		virtual_root;
110Boolean		vpath_defined;
111Name		vpath_name;
112wchar_t		wcs_buffer[MAXPATHLEN];
113Boolean		working_on_targets;
114Boolean		out_err_same;
115pid_t		childPid = -1;	// This variable is used for killing child's process
116				// Such as qrsh, running command, etc.
117
118/*
119 * timestamps defined in defs.h
120 */
121const timestruc_t file_no_time		= { -1, 0 };
122const timestruc_t file_doesnt_exist	= { 0, 0 };
123const timestruc_t file_is_dir		= { 1, 0 };
124const timestruc_t file_min_time		= { 2, 0 };
125const timestruc_t file_max_time		= { INT_MAX, 0 };
126