OpenSolaris_b135/cmd/csh/sh.init.c

Compare this file to the similar file:
Show the results in this format:

/*
 * Copyright 1997 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 */

/*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
/*	  All Rights Reserved  	*/

/*
 * Copyright (c) 1980 Regents of the University of California.
 * All rights reserved.  The Berkeley Software License Agreement
 * specifies the terms and conditions for redistribution.
 */

#pragma ident	"%Z%%M%	%I%	%E% SMI"

#include "sh.h"
#include "sh.tconst.h"

/*
 * C shell
 */

extern	int doalias();
extern	int dobg();
extern	int dobreak();
extern	int dochngd();
extern	int docontin();
extern	int dodirs();
extern	int doecho();
extern	int doelse();
extern	int doend();
extern	int doendif();
extern	int doendsw();
extern	int doeval();
extern	int doexit();
extern	int dofg();
extern	int doforeach();
extern	int doglob();
extern	int dogoto();
extern	int dohash();
extern	int dorehash();
extern	int dohist();
extern	int doif();
extern	int dojobs();
extern	int dokill();
extern	int dolet();
extern	int dolimit();
extern	int dologin();
extern	int dologout();
#ifdef NEWGRP
extern	int donewgrp();
#endif
extern	int donice();
extern	int donotify();
extern	int donohup();
extern	int doonintr();
extern	int dopopd();
extern	int dopushd();
extern	int dorepeat();
extern	int doset();
extern	int dosetenv();
extern	int dosource();
extern	int dostop();
extern	int dosuspend();
extern	int doswbrk();
extern	int doswitch();
extern	int dotime();
extern	int dounlimit();
extern	int doumask();
extern	int dowait();
extern	int dowhile();
extern	int dozip();
extern	int execash();
extern	int goodbye();
#ifdef VFORK
extern	int hashstat();
#endif
extern	int shift();
#ifdef OLDMALLOC
extern	int showall();
#endif
extern	int unalias();
extern	int dounhash();
extern	int unset();
extern	int dounsetenv();

#define	INF	1000

struct	biltins bfunc[] = {
	S_AT,		dolet,		0,	INF,
	S_alias,	doalias,	0,	INF,
#ifdef OLDMALLOC
	S_alloc,	showall,	0,	1,
#endif
	S_bg,		dobg,		0,	INF,
	S_break,	dobreak,	0,	0,
	S_breaksw,	doswbrk,	0,	0,
#ifdef IIASA
	S_bye,		goodbye,	0,	0,
#endif
	S_case,	dozip,		0,	1,
	S_cd,		dochngd,	0,	1,
	S_chdir,	dochngd,	0,	1,
	S_continue,	docontin,	0,	0,
	S_default,	dozip,		0,	0,
	S_dirs,	dodirs,		0,	1,
	S_echo,	doecho,		0,	INF,
	S_else,	doelse,		0,	INF,
	S_end,		doend,		0,	0,
	S_endif,	dozip,		0,	0,
	S_endsw,	dozip,		0,	0,
	S_eval,	doeval,		0,	INF,
	S_exec,	execash,	1,	INF,
	S_exit,	doexit,		0,	INF,
	S_fg,		dofg,		0,	INF,
	S_foreach,	doforeach,	3,	INF,
#ifdef IIASA
	S_gd,		dopushd,	0,	1,
#endif
	S_glob,	doglob,		0,	INF,
	S_goto,	dogoto,		1,	1,
#ifdef VFORK
	S_hashstat,	hashstat,	0,	0,
#endif
	S_history,	dohist,		0,	2,
	S_if,		doif,		1,	INF,
	S_jobs,	dojobs,		0,	1,
	S_kill,	dokill,		1,	INF,
	S_limit,	dolimit,	0,	3,
	S_login,	dologin,	0,	1,
	S_logout,	dologout,	0,	0,
#ifdef NEWGRP
	S_newgrp,	donewgrp,	1,	1,
#endif
	S_nice,	donice,		0,	INF,
	S_nohup,	donohup,	0,	INF,
	S_notify,	donotify,	0,	INF,
	S_onintr,	doonintr,	0,	2,
	S_popd,	dopopd,		0,	1,
	S_pushd,	dopushd,	0,	1,
#ifdef IIASA
	S_rd,		dopopd,		0,	1,
#endif
	S_rehash,	dorehash,	0,	0,
	S_repeat,	dorepeat,	2,	INF,
	S_set,		doset,		0,	INF,
	S_setenv,	dosetenv,	0,	2,
	S_shift,	shift,		0,	1,
	S_source,	dosource,	1,	2,
	S_stop,	dostop,		1,	INF,
	S_suspend,	dosuspend,	0,	0,
	S_switch,	doswitch,	1,	INF,
	S_time,		dotime,		0,	INF,
	S_umask,	doumask,	0,	1,
	S_unalias,	unalias,	1,	INF,
	S_unhash,	dounhash,	0,	0,
	S_unlimit,	dounlimit,	0,	INF,
	S_unset,	unset,		1,	INF,
	S_unsetenv,	dounsetenv,	1,	INF,
	S_wait,		dowait,		0,	0,
	S_while,	dowhile,	1,	INF,
};
int nbfunc = sizeof bfunc / sizeof *bfunc;

#define	ZBREAK		0
#define	ZBRKSW		1
#define	ZCASE		2
#define	ZDEFAULT 	3
#define	ZELSE		4
#define	ZEND		5
#define	ZENDIF		6
#define	ZENDSW		7
#define	ZEXIT		8
#define	ZFOREACH	9
#define	ZGOTO		10
#define	ZIF		11
#define	ZLABEL		12
#define	ZLET		13
#define	ZSET		14
#define	ZSWITCH		15
#define	ZTEST		16
#define	ZTHEN		17
#define	ZWHILE		18

struct srch srchn[] = {
	S_AT,		ZLET,
	S_break,	ZBREAK,
	S_breaksw,	ZBRKSW,
	S_case,		ZCASE,
	S_default, 	ZDEFAULT,
	S_else,		ZELSE,
	S_end,		ZEND,
	S_endif,	ZENDIF,
	S_endsw,	ZENDSW,
	S_exit,		ZEXIT,
	S_foreach, 	ZFOREACH,
	S_goto,		ZGOTO,
	S_if,		ZIF,
	S_label,	ZLABEL,
	S_set,		ZSET,
	S_switch,	ZSWITCH,
	S_while,	ZWHILE
};
int nsrchn = sizeof srchn / sizeof *srchn;