head	1.14;
access;
symbols
	RELENG_8_4:1.14.0.2
	RELENG_9_1_0_RELEASE:1.12.2.1.4.2
	RELENG_9_1:1.12.2.1.0.4
	RELENG_9_1_BP:1.12.2.1
	RELENG_8_3_0_RELEASE:1.10.22.1.8.1
	RELENG_8_3:1.10.22.1.0.8
	RELENG_8_3_BP:1.10.22.1
	RELENG_9_0_0_RELEASE:1.12.2.1.2.1
	RELENG_9_0:1.12.2.1.0.2
	RELENG_9_0_BP:1.12.2.1
	RELENG_9:1.12.0.2
	RELENG_9_BP:1.12
	RELENG_7_4_0_RELEASE:1.10.26.1
	RELENG_8_2_0_RELEASE:1.10.22.1.6.1
	RELENG_7_4:1.10.0.26
	RELENG_7_4_BP:1.10
	RELENG_8_2:1.10.22.1.0.6
	RELENG_8_2_BP:1.10.22.1
	RELENG_8_1_0_RELEASE:1.10.22.1.4.1
	RELENG_8_1:1.10.22.1.0.4
	RELENG_8_1_BP:1.10.22.1
	RELENG_7_3_0_RELEASE:1.10.24.1
	RELENG_7_3:1.10.0.24
	RELENG_7_3_BP:1.10
	RELENG_8_0_0_RELEASE:1.10.22.1.2.1
	RELENG_8_0:1.10.22.1.0.2
	RELENG_8_0_BP:1.10.22.1
	RELENG_8:1.10.0.22
	RELENG_8_BP:1.10
	RELENG_7_2_0_RELEASE:1.10.20.1
	RELENG_7_2:1.10.0.20
	RELENG_7_2_BP:1.10
	RELENG_7_1_0_RELEASE:1.10.18.1
	RELENG_6_4_0_RELEASE:1.10.16.1
	RELENG_7_1:1.10.0.18
	RELENG_7_1_BP:1.10
	RELENG_6_4:1.10.0.16
	RELENG_6_4_BP:1.10
	RELENG_7_0_0_RELEASE:1.10
	RELENG_6_3_0_RELEASE:1.10
	RELENG_7_0:1.10.0.14
	RELENG_7_0_BP:1.10
	RELENG_6_3:1.10.0.12
	RELENG_6_3_BP:1.10
	RELENG_7:1.10.0.10
	RELENG_7_BP:1.10
	RELENG_6_2_0_RELEASE:1.10
	RELENG_6_2:1.10.0.8
	RELENG_6_2_BP:1.10
	RELENG_5_5_0_RELEASE:1.9
	RELENG_5_5:1.9.0.8
	RELENG_5_5_BP:1.9
	RELENG_6_1_0_RELEASE:1.10
	RELENG_6_1:1.10.0.6
	RELENG_6_1_BP:1.10
	RELENG_6_0_0_RELEASE:1.10
	RELENG_6_0:1.10.0.4
	RELENG_6_0_BP:1.10
	RELENG_6:1.10.0.2
	RELENG_6_BP:1.10
	RELENG_5_4_0_RELEASE:1.9
	RELENG_5_4:1.9.0.6
	RELENG_5_4_BP:1.9
	RELENG_4_11_0_RELEASE:1.6.2.2
	RELENG_4_11:1.6.2.2.0.10
	RELENG_4_11_BP:1.6.2.2
	RELENG_5_3_0_RELEASE:1.9
	RELENG_5_3:1.9.0.4
	RELENG_5_3_BP:1.9
	RELENG_5:1.9.0.2
	RELENG_5_BP:1.9
	RELENG_4_10_0_RELEASE:1.6.2.2
	RELENG_4_10:1.6.2.2.0.8
	RELENG_4_10_BP:1.6.2.2
	RELENG_5_2_1_RELEASE:1.8
	RELENG_5_2_0_RELEASE:1.8
	RELENG_5_2:1.8.0.6
	RELENG_5_2_BP:1.8
	RELENG_4_9_0_RELEASE:1.6.2.2
	RELENG_4_9:1.6.2.2.0.6
	RELENG_4_9_BP:1.6.2.2
	RELENG_5_1_0_RELEASE:1.8
	RELENG_5_1:1.8.0.4
	RELENG_5_1_BP:1.8
	RELENG_4_8_0_RELEASE:1.6.2.2
	RELENG_4_8:1.6.2.2.0.4
	RELENG_4_8_BP:1.6.2.2
	RELENG_5_0_0_RELEASE:1.8
	RELENG_5_0:1.8.0.2
	RELENG_5_0_BP:1.8
	RELENG_4_7_0_RELEASE:1.6.2.2
	RELENG_4_7:1.6.2.2.0.2
	RELENG_4_7_BP:1.6.2.2
	RELENG_4_6_2_RELEASE:1.6.2.1
	RELENG_4_6_1_RELEASE:1.6.2.1
	RELENG_4_6_0_RELEASE:1.6.2.1
	RELENG_4_6:1.6.2.1.0.8
	RELENG_4_6_BP:1.6.2.1
	RELENG_4_5_0_RELEASE:1.6.2.1
	RELENG_4_5:1.6.2.1.0.6
	RELENG_4_5_BP:1.6.2.1
	RELENG_4_4_0_RELEASE:1.6.2.1
	RELENG_4_4:1.6.2.1.0.4
	RELENG_4_4_BP:1.6.2.1
	RELENG_4_3_0_RELEASE:1.6.2.1
	RELENG_4_3:1.6.2.1.0.2
	RELENG_4_3_BP:1.6.2.1
	RELENG_4_2_0_RELEASE:1.6
	RELENG_4_1_1_RELEASE:1.6
	PRE_SMPNG:1.6
	RELENG_4_1_0_RELEASE:1.6
	RELENG_3_5_0_RELEASE:1.5.2.1
	RELENG_4_0_0_RELEASE:1.6
	RELENG_4:1.6.0.2
	RELENG_4_BP:1.6
	RELENG_3_4_0_RELEASE:1.5.2.1
	RELENG_3_3_0_RELEASE:1.5.2.1
	RELENG_3_2_PAO:1.5.0.4
	RELENG_3_2_PAO_BP:1.5
	RELENG_3_2_0_RELEASE:1.5
	RELENG_3_1_0_RELEASE:1.5
	RELENG_3:1.5.0.2
	RELENG_3_BP:1.5
	RELENG_2_2_8_RELEASE:1.3.2.1
	RELENG_3_0_0_RELEASE:1.5
	RELENG_2_2_7_RELEASE:1.3
	RELENG_2_2_6_RELEASE:1.3
	RELENG_2_2_5_RELEASE:1.3
	RELENG_2_2_2_RELEASE:1.3
	RELENG_2_2_1_RELEASE:1.3
	RELENG_2_2_0_RELEASE:1.3
	RELENG_2_1_7_RELEASE:1.2
	RELENG_2_1_6_1_RELEASE:1.2
	RELENG_2_1_6_RELEASE:1.2
	RELENG_2_2:1.3.0.2
	RELENG_2_2_BP:1.3
	RELENG_2_1_5_RELEASE:1.2
	bsd_44_lite_2:1.1.1.2
	RELENG_2_1_0_RELEASE:1.2
	RELENG_2_1_0:1.2.0.6
	RELENG_2_1_0_BP:1.2
	RELENG_2_0_5_RELEASE:1.2
	RELENG_2_0_5:1.2.0.4
	RELENG_2_0_5_BP:1.2
	RELENG_2_0_5_ALPHA:1.2
	RELEASE_2_0:1.2
	BETA_2_0:1.2
	ALPHA_2_0:1.2.0.2
	bsd_44_lite:1.1.1.1
	CSRG:1.1.1;
locks; strict;
comment	@# @;


1.14
date	2013.02.04.03.19.02;	author svnexp;	state Exp;
branches
	1.14.2.1;
next	1.13;

1.13
date	2012.11.17.01.48.32;	author svnexp;	state Exp;
branches;
next	1.12;

1.12
date	2011.06.18.23.58.59;	author jilles;	state Exp;
branches
	1.12.2.1;
next	1.11;

1.11
date	2011.06.17.13.03.49;	author jilles;	state Exp;
branches;
next	1.10;

1.10
date	2005.01.10.08.39.25;	author imp;	state Exp;
branches
	1.10.2.1
	1.10.10.1
	1.10.16.1
	1.10.18.1
	1.10.20.1
	1.10.22.1
	1.10.24.1
	1.10.26.1;
next	1.9;

1.9
date	2004.04.06.20.06.51;	author markm;	state Exp;
branches;
next	1.8;

1.8
date	2002.05.19.06.03.05;	author tjr;	state Exp;
branches;
next	1.7;

1.7
date	2000.10.03.23.13.14;	author brian;	state Exp;
branches;
next	1.6;

1.6
date	99.08.27.23.15.20;	author peter;	state Exp;
branches
	1.6.2.1;
next	1.5;

1.5
date	97.02.22.13.58.39;	author peter;	state Exp;
branches
	1.5.2.1;
next	1.4;

1.4
date	97.01.14.05.33.24;	author jkh;	state Exp;
branches;
next	1.3;

1.3
date	96.09.01.10.21.12;	author peter;	state Exp;
branches
	1.3.2.1;
next	1.2;

1.2
date	94.09.24.02.58.03;	author davidg;	state Exp;
branches
	1.2.6.1;
next	1.1;

1.1
date	94.05.26.06.18.45;	author rgrimes;	state Exp;
branches
	1.1.1.1;
next	;

1.14.2.1
date	2013.02.04.03.19.02;	author svnexp;	state dead;
branches;
next	1.14.2.2;

1.14.2.2
date	2013.03.28.13.00.06;	author svnexp;	state Exp;
branches;
next	;

1.12.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.12.2.1.2.1
	1.12.2.1.4.1;
next	1.12.2.2;

1.12.2.2
date	2012.11.17.11.36.04;	author svnexp;	state Exp;
branches;
next	;

1.12.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.12.2.1.2.2;

1.12.2.1.2.2
date	2012.11.17.08.36.05;	author svnexp;	state Exp;
branches;
next	;

1.12.2.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.12.2.1.4.2;

1.12.2.1.4.2
date	2012.11.17.08.46.54;	author svnexp;	state Exp;
branches;
next	;

1.10.2.1
date	2012.11.17.07.38.38;	author svnexp;	state Exp;
branches;
next	;

1.10.10.1
date	2012.11.17.08.00.50;	author svnexp;	state Exp;
branches;
next	;

1.10.16.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.10.18.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.10.20.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.10.22.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.10.22.1.2.1
	1.10.22.1.4.1
	1.10.22.1.6.1
	1.10.22.1.8.1;
next	1.10.22.2;

1.10.22.2
date	2012.11.17.10.35.49;	author svnexp;	state Exp;
branches;
next	;

1.10.22.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.10.22.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.10.22.1.6.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.10.22.1.8.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.10.22.1.8.2;

1.10.22.1.8.2
date	2012.11.17.08.24.32;	author svnexp;	state Exp;
branches;
next	;

1.10.24.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.10.26.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.10.26.2;

1.10.26.2
date	2012.11.17.08.16.32;	author svnexp;	state Exp;
branches;
next	;

1.6.2.1
date	2001.03.05.11.05.48;	author asmodai;	state Exp;
branches;
next	1.6.2.2;

1.6.2.2
date	2002.07.19.04.38.52;	author tjr;	state Exp;
branches;
next	1.6.2.3;

1.6.2.3
date	2012.11.17.07.22.05;	author svnexp;	state Exp;
branches;
next	;

1.5.2.1
date	99.08.29.14.13.57;	author peter;	state Exp;
branches;
next	;

1.3.2.1
date	98.11.03.15.57.36;	author cracauer;	state Exp;
branches;
next	1.3.2.2;

1.3.2.2
date	99.09.05.10.59.54;	author peter;	state Exp;
branches;
next	;

1.2.6.1
date	99.09.05.11.01.47;	author peter;	state Exp;
branches;
next	;

1.1.1.1
date	94.05.26.06.18.46;	author rgrimes;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	96.05.27.01.40.38;	author peter;	state Exp;
branches;
next	;


desc
@@


1.14
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/246288
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@#-
# Copyright (c) 1991, 1993
#	The Regents of the University of California.  All rights reserved.
#
# This code is derived from software contributed to Berkeley by
# Kenneth Almquist.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
# 4. Neither the name of the University nor the names of its contributors
#    may be used to endorse or promote products derived from this software
#    without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
#	@@(#)nodetypes	8.2 (Berkeley) 5/4/95
# $FreeBSD: head/bin/sh/nodetypes 246288 2013-02-03 15:54:57Z jilles $

# This file describes the nodes used in parse trees.  Unindented lines
# contain a node type followed by a structure tag.  Subsequent indented
# lines specify the fields of the structure.  Several node types can share
# the same structure, in which case the fields of the structure should be
# specified only once.
#
# A field of a structure is described by the name of the field followed
# by a type.  The currently implemented types are:
#	nodeptr - a pointer to a node
#	nodelist - a pointer to a list of nodes
#	string - a pointer to a nul terminated string
#	int - an integer
#	other - any type that can be copied by assignment
#	temp - a field that doesn't have to be copied when the node is copied
# The last two types should be followed by the text of a C declaration for
# the field.

NSEMI nbinary			# two commands separated by a semicolon
	type	  int
	ch1	  nodeptr		# the first child
	ch2	  nodeptr		# the second child

NCMD ncmd			# a simple command
	type	  int
	args	  nodeptr		# the arguments
	redirect  nodeptr		# list of file redirections

NPIPE npipe			# a pipeline
	type	  int
	backgnd	  int			# set to run pipeline in background
	cmdlist	  nodelist		# the commands in the pipeline

NREDIR nredir			# redirection (of a compex command)
	type	  int
	n	  nodeptr		# the command
	redirect  nodeptr		# list of file redirections

NBACKGND nredir			# run command in background
NSUBSHELL nredir		# run command in a subshell

NAND nbinary			# the && operator
NOR nbinary			# the || operator

NIF nif				# the if statement.  Elif clauses are handled
	type	  int		    # using multiple if nodes.
	test	  nodeptr		# if test
	ifpart	  nodeptr		# then ifpart
	elsepart  nodeptr		# else elsepart

NWHILE nbinary			# the while statement.  First child is the test
NUNTIL nbinary			# the until statement

NFOR nfor			# the for statement
	type	  int
	args	  nodeptr		# for var in args
	body	  nodeptr		# do body; done
	var	  string		# the for variable

NCASE ncase			# a case statement
	type	  int
	expr	  nodeptr		# the word to switch on
	cases	  nodeptr		# the list of cases (NCLIST nodes)

NCLIST nclist			# a case ending with ;;
	type	  int
	next	  nodeptr		# the next case in list
	pattern	  nodeptr		# list of patterns for this case
	body	  nodeptr		# code to execute for this case

NCLISTFALLTHRU nclist		# a case ending with ;&

NDEFUN narg			# define a function.  The "next" field contains
				# the body of the function.

NARG narg			# represents a word
	type	  int
	next	  nodeptr		# next word in list
	text	  string		# the text of the word
	backquote nodelist		# list of commands in back quotes

NTO nfile			# fd> fname
NFROM nfile			# fd< fname
NFROMTO nfile			# fd<> fname
NAPPEND nfile			# fd>> fname
NCLOBBER nfile			# fd>| fname
	type	  int
	next	  nodeptr		# next redirection in list
	fd	  int			# file descriptor being redirected
	fname	  nodeptr		# file name, in a NARG node
	expfname  temp	char *expfname	# actual file name

NTOFD ndup			# fd<&dupfd
NFROMFD ndup			# fd>&dupfd
	type	  int
	next	  nodeptr		# next redirection in list
	fd	  int			# file descriptor being redirected
	dupfd	  int			# file descriptor to duplicate
	vname	  nodeptr		# file name if fd>&$var


NHERE nhere			# fd<<\!
NXHERE nhere			# fd<<!
	type	  int
	next	  nodeptr		# next redirection in list
	fd	  int			# file descriptor being redirected
	doc	  nodeptr		# input to command (NARG node)
	expdoc    temp	char *expdoc	# actual document (for NXHERE)

NNOT nnot			# ! command  (actually pipeline)
	type	int
	com	nodeptr
@


1.14.2.1
log
@file nodetypes was added on branch RELENG_8_4 on 2013-03-28 13:00:06 +0000
@
text
@d1 145
@


1.14.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 144
#-
# Copyright (c) 1991, 1993
#	The Regents of the University of California.  All rights reserved.
#
# This code is derived from software contributed to Berkeley by
# Kenneth Almquist.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
# 4. Neither the name of the University nor the names of its contributors
#    may be used to endorse or promote products derived from this software
#    without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
#	@@(#)nodetypes	8.2 (Berkeley) 5/4/95
# $FreeBSD: releng/8.4/bin/sh/nodetypes 139969 2005-01-10 08:39:26Z imp $

# This file describes the nodes used in parse trees.  Unindented lines
# contain a node type followed by a structure tag.  Subsequent indented
# lines specify the fields of the structure.  Several node types can share
# the same structure, in which case the fields of the structure should be
# specified only once.
#
# A field of a structure is described by the name of the field followed
# by a type.  The currently implemented types are:
#	nodeptr - a pointer to a node
#	nodelist - a pointer to a list of nodes
#	string - a pointer to a nul terminated string
#	int - an integer
#	other - any type that can be copied by assignment
#	temp - a field that doesn't have to be copied when the node is copied
# The last two types should be followed by the text of a C declaration for
# the field.

NSEMI nbinary			# two commands separated by a semicolon
	type	  int
	ch1	  nodeptr		# the first child
	ch2	  nodeptr		# the second child

NCMD ncmd			# a simple command
	type	  int
	backgnd	  int			# set to run command in background
	args	  nodeptr		# the arguments
	redirect  nodeptr		# list of file redirections

NPIPE npipe			# a pipeline
	type	  int
	backgnd	  int			# set to run pipeline in background
	cmdlist	  nodelist		# the commands in the pipeline

NREDIR nredir			# redirection (of a compex command)
	type	  int
	n	  nodeptr		# the command
	redirect  nodeptr		# list of file redirections

NBACKGND nredir			# run command in background
NSUBSHELL nredir		# run command in a subshell

NAND nbinary			# the && operator
NOR nbinary			# the || operator

NIF nif				# the if statement.  Elif clauses are handled
	type	  int		    # using multiple if nodes.
	test	  nodeptr		# if test
	ifpart	  nodeptr		# then ifpart
	elsepart  nodeptr		# else elsepart

NWHILE nbinary			# the while statement.  First child is the test
NUNTIL nbinary			# the until statement

NFOR nfor			# the for statement
	type	  int
	args	  nodeptr		# for var in args
	body	  nodeptr		# do body; done
	var	  string		# the for variable

NCASE ncase			# a case statement
	type	  int
	expr	  nodeptr		# the word to switch on
	cases	  nodeptr		# the list of cases (NCLIST nodes)

NCLIST nclist			# a case
	type	  int
	next	  nodeptr		# the next case in list
	pattern	  nodeptr		# list of patterns for this case
	body	  nodeptr		# code to execute for this case


NDEFUN narg			# define a function.  The "next" field contains
				# the body of the function.

NARG narg			# represents a word
	type	  int
	next	  nodeptr		# next word in list
	text	  string		# the text of the word
	backquote nodelist		# list of commands in back quotes

NTO nfile			# fd> fname
NFROM nfile			# fd< fname
NFROMTO nfile			# fd<> fname
NAPPEND nfile			# fd>> fname
NCLOBBER nfile			# fd>| fname
	type	  int
	next	  nodeptr		# next redirection in list
	fd	  int			# file descriptor being redirected
	fname	  nodeptr		# file name, in a NARG node
	expfname  temp	char *expfname	# actual file name

NTOFD ndup			# fd<&dupfd
NFROMFD ndup			# fd>&dupfd
	type	  int
	next	  nodeptr		# next redirection in list
	fd	  int			# file descriptor being redirected
	dupfd	  int			# file descriptor to duplicate
	vname	  nodeptr		# file name if fd>&$var


NHERE nhere			# fd<<\!
NXHERE nhere			# fd<<!
	type	  int
	next	  nodeptr		# next redirection in list
	fd	  int			# file descriptor being redirected
	doc	  nodeptr		# input to command (NARG node)

NNOT nnot			# ! command  (actually pipeline)
	type	int
	com	nodeptr
@


1.13
log
@Switching exporter and resync
@
text
@d33 1
a33 1
# $FreeBSD: head/bin/sh/nodetypes 223282 2011-06-18 23:58:59Z jilles $
d141 1
@


1.12
log
@SVN rev 223282 on 2011-06-18 23:58:59Z by jilles

sh: Remove special support for background simple commands.

It expands the arguments in the parent shell process, which is incorrect.
@
text
@d33 1
a33 1
# $FreeBSD$
@


1.12.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.12.2.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d33 1
a33 1
# $FreeBSD: stable/9/bin/sh/nodetypes 223282 2011-06-18 23:58:59Z jilles $
@


1.12.2.1.4.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.12.2.1.4.2
log
@Switch importer
@
text
@d33 1
a33 1
# $FreeBSD: releng/9.1/bin/sh/nodetypes 223282 2011-06-18 23:58:59Z jilles $
@


1.12.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.12.2.1.2.2
log
@Switch importer
@
text
@d33 1
a33 1
# $FreeBSD: releng/9.0/bin/sh/nodetypes 223282 2011-06-18 23:58:59Z jilles $
@


1.11
log
@SVN rev 223186 on 2011-06-17 13:03:49Z by jilles

sh: Add case statement fallthrough (with ';&' instead of ';;').

Replacing ;; with the new control operator ;& will cause the next list to be
executed as well without checking its pattern, continuing until a list ends
with ;; or until the end of the case statement. This is like omitting
"break" in a C "switch" statement.

The sequence ;& was formerly invalid.

This feature is proposed for the next POSIX issue in Austin Group issue
#449.
@
text
@a58 1
	backgnd	  int			# set to run command in background
@


1.10
log
@/*- or .\"- or #- to begin license clauses.
@
text
@d99 1
a99 1
NCLIST nclist			# a case
d105 1
@


1.10.10.1
log
@Switch importer
@
text
@d33 1
a33 1
# $FreeBSD: stable/7/bin/sh/nodetypes 139969 2005-01-10 08:39:26Z imp $
@


1.10.2.1
log
@Switch importer
@
text
@d33 1
a33 1
# $FreeBSD: stable/6/bin/sh/nodetypes 139969 2005-01-10 08:39:26Z imp $
@


1.10.26.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.10.26.2
log
@Switch importer
@
text
@d33 1
a33 1
# $FreeBSD: releng/7.4/bin/sh/nodetypes 139969 2005-01-10 08:39:26Z imp $
@


1.10.24.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.10.22.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.10.22.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d33 1
a33 1
# $FreeBSD: stable/8/bin/sh/nodetypes 139969 2005-01-10 08:39:26Z imp $
@


1.10.22.1.8.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.10.22.1.8.2
log
@Switch importer
@
text
@d33 1
a33 1
# $FreeBSD: releng/8.3/bin/sh/nodetypes 139969 2005-01-10 08:39:26Z imp $
@


1.10.22.1.6.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.10.22.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.10.22.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.10.20.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.10.18.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.10.16.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.9
log
@Remove clause 3 from the UCB licenses.

OK'ed by:	imp, core
@
text
@d1 1
a1 1
#
@


1.8
log
@Implement the -C (-o noclobber) option, which prevents existing regular
files from being overwritten by shell redirection.
@
text
@a15 4
# 3. All advertising materials mentioning features or use of this software
#    must display the following acknowledgement:
#	This product includes software developed by the University of
#	California, Berkeley and its contributors.
@


1.7
log
@Implement the <> redirection operator.
@
text
@d37 1
a37 1
# $FreeBSD: src/bin/sh/nodetypes,v 1.6 1999/08/27 23:15:20 peter Exp $
d123 1
@


1.6
log
@$Id$ -> $FreeBSD$
@
text
@d37 1
a37 1
# $FreeBSD$
d121 1
@


1.6.2.1
log
@MFC:	Implement <> redirector.
@
text
@d37 1
a37 1
# $FreeBSD: src/bin/sh/nodetypes,v 1.7 2000/10/03 23:13:14 brian Exp $
a120 1
NFROMTO nfile			# fd<> fname
@


1.6.2.2
log
@Sync with HEAD, except that printf(1) is still a shell builtin and old
libedit history interface is still used. This gives the following
new features/bug fixes:
 - Quote output of alias, export, readonly builtins
 - -L (logical) and -P (physical) options added to cd and pwd, logical
   behaviour made default.
 - -C (noclobber) option and >>| redirection is implemented
 - hash builtin only shows normal commands, no functions or builtins
 - -u (nounset) option is implemented
 - fc builtin's -e option works correctly again
 - No longer assumes there is a tty on fd 2 (PR 36671)
 - fg/bg command show more info about job being manipulated
 - -l and -s options added to jobs builtin, output closer to POSIX spec.
 - %+ (current job) %- (previous job) and %? (substring) job ID's implemented
 - >&- (and similar) redirection operators close descriptors correctly
 - set +o output corrected
 - Style: __FBSDID, __P removal, ANSI-style function declarations
@
text
@d37 1
a37 1
# $FreeBSD$
a122 1
NCLOBBER nfile			# fd>| fname
@


1.6.2.3
log
@Switch importer
@
text
@d37 1
a37 1
# $FreeBSD: stable/4/bin/sh/nodetypes 100343 2002-07-19 04:38:54Z tjr $
@


1.5
log
@Revert $FreeBSD$ to $Id$
@
text
@d37 1
a37 1
#	$Id$
@


1.5.2.1
log
@$Id$ -> $FreeBSD$
@
text
@d37 1
a37 1
# $FreeBSD$
@


1.4
log
@Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
@
text
@d37 1
a37 1
#	$FreeBSD$
@


1.3
log
@Merge of 4.4-Lite2 sh source, plus some gcc -Wall cleaning.  This is a
merge of parallel duplicate work by Steve Price and myself. :-]

There are some changes to the build that are my fault...  mkinit.c was
trying (poorly) to duplicate some of the work that make(1) is designed to
do.  The Makefile hackery is my fault too, the depend list was incomplete
because of some explicit OBJS+= entries, so mkdep wasn't picking up their
source file #includes.

This closes a pile of /bin/sh PR's, but not all of them..

Submitted by: Steve Price <steve@@bonsai.hiwaay.net>, peter
@
text
@d37 1
a37 1
#	$Id: nodetypes,v 1.2 1994/09/24 02:58:03 davidg Exp $
@


1.3.2.1
log
@Merge remaining -current fixes into -stable.
Obtained from: Most fixes in this diff are by Tor Egge
@
text
@d37 1
a37 1
#	$Id: nodetypes,v 1.5 1997/02/22 13:58:39 peter Exp $
@


1.3.2.2
log
@$Id$ -> $FreeBSD$
@
text
@d37 1
a37 1
# $FreeBSD$
@


1.2
log
@Added $Id$
@
text
@d36 2
a37 2
#	@@(#)nodetypes	8.1 (Berkeley) 5/31/93
#	$Id$
d134 2
@


1.2.6.1
log
@$Id$ -> $FreeBSD$
@
text
@d37 1
a37 1
# $FreeBSD$
@


1.1
log
@Initial revision
@
text
@d37 1
@


1.1.1.1
log
@BSD 4.4 Lite bin Sources
@
text
@@


1.1.1.2
log
@Import the 4.4BSD-Lite2 /bin/sh sources

Requested by: joerg

(Note, this is mostly going to be conflicts, which is expected.  Our entire
 sh source has a mainline, so this should not change anything except for
 a few new files appearing.  I dont think they are a problem)
@
text
@d36 1
a36 1
#	@@(#)nodetypes	8.2 (Berkeley) 5/4/95
a132 2
	vname	  nodeptr		# file name if fd>&$var

@
