tw.h revision 167465
1248313Sdteske/* $Header: /p/tcsh/cvsroot/tcsh/tw.h,v 3.25 2006/01/12 18:15:25 christos Exp $ */
2248313Sdteske/*
3248313Sdteske * tw.h: TwENEX functions headers
4248313Sdteske */
5248313Sdteske/*-
6248313Sdteske * Copyright (c) 1980, 1991 The Regents of the University of California.
7248313Sdteske * All rights reserved.
8248313Sdteske *
9248313Sdteske * Redistribution and use in source and binary forms, with or without
10248313Sdteske * modification, are permitted provided that the following conditions
11248313Sdteske * are met:
12248313Sdteske * 1. Redistributions of source code must retain the above copyright
13248313Sdteske *    notice, this list of conditions and the following disclaimer.
14248313Sdteske * 2. Redistributions in binary form must reproduce the above copyright
15248313Sdteske *    notice, this list of conditions and the following disclaimer in the
16248313Sdteske *    documentation and/or other materials provided with the distribution.
17248313Sdteske * 3. Neither the name of the University nor the names of its contributors
18248313Sdteske *    may be used to endorse or promote products derived from this software
19248313Sdteske *    without specific prior written permission.
20248313Sdteske *
21248313Sdteske * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22248313Sdteske * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23248313Sdteske * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24248313Sdteske * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25248313Sdteske * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26248313Sdteske * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27248313Sdteske * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28248313Sdteske * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29248313Sdteske * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30248313Sdteske * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31248313Sdteske * SUCH DAMAGE.
32248313Sdteske */
33248313Sdteske#ifndef _h_tw
34248313Sdteske#define _h_tw
35248313Sdteske
36248313Sdteske#define TW_PATH		0x1000
37248313Sdteske#define TW_ZERO		0x0fff
38248313Sdteske
39248313Sdteske#define TW_NONE		0x0000
40248313Sdteske#define TW_COMMAND	0x0001
41248313Sdteske#define TW_VARIABLE	0x0002
42248313Sdteske#define TW_LOGNAME	0x0003
43248313Sdteske#define TW_FILE		0x0004
44248313Sdteske#define TW_DIRECTORY	0x0005
45248313Sdteske#define TW_VARLIST	0x0006
46248313Sdteske#define TW_USER		0x0007
47248313Sdteske#define TW_COMPLETION	0x0008
48248313Sdteske#define TW_ALIAS	0x0009
49248313Sdteske#define TW_SHELLVAR	0x000a
50248313Sdteske#define TW_ENVVAR	0x000b
51248313Sdteske#define TW_BINDING	0x000c
52248313Sdteske#define TW_WORDLIST	0x000d
53248313Sdteske#define TW_LIMIT	0x000e
54248313Sdteske#define TW_SIGNAL	0x000f
55248313Sdteske#define TW_JOB		0x0010
56248313Sdteske#define TW_EXPLAIN	0x0011
57248313Sdteske#define TW_TEXT		0x0012
58248313Sdteske#define TW_GRPNAME	0x0013
59248313Sdteske
60248313Sdteske#define TW_EXEC_CHK	0x01
61248313Sdteske#define TW_DIR_CHK	0x02
62248313Sdteske#define TW_TEXT_CHK	0x04
63248313Sdteske
64248313Sdteske#define TW_DIR_OK	0x10
65248313Sdteske#define TW_PAT_OK	0x20
66248313Sdteske#define TW_IGN_OK	0x40
67248313Sdteske
68248313Sdteske#ifndef TRUE
69248313Sdteske# define TRUE		1
70248313Sdteske#endif
71248313Sdteske#ifndef FALSE
72248313Sdteske# define FALSE		0
73248313Sdteske#endif
74248313Sdteske#define ON		1
75248313Sdteske#define OFF		0
76248313Sdteske#define ESC             CTL_ESC('\033')
77248313Sdteske
78248313Sdteske#define is_set(var)	adrof(var)
79248313Sdteske#define ismetahash(a)	(ismeta(a) && (a) != '#')
80248313Sdteske
81248313Sdteske#define SEARCHLIST "HPATH"	/* Env. param for helpfile searchlist */
82248313Sdteske#define DEFAULTLIST ":/usr/man/cat1:/usr/man/cat8:/usr/man/cat6:/usr/local/man/cat1:/usr/local/man/cat8:/usr/local/man/cat6"	/* if no HPATH */
83248313Sdteske
84248313Sdtesketypedef enum {
85248313Sdteske    LIST, LIST_ALL, RECOGNIZE, RECOGNIZE_ALL, RECOGNIZE_SCROLL,
86248313Sdteske    PRINT_HELP, SPELL, GLOB, GLOB_EXPAND, VARS_EXPAND, PATH_NORMALIZE,
87248313Sdteske    COMMAND_NORMALIZE
88248313Sdteske} COMMAND;
89248313Sdteske
90248313Sdteskestruct scroll_tab_list {
91248313Sdteske	Char *element;
92248313Sdteske	struct scroll_tab_list *next;
93248313Sdteske} ;
94248313Sdteske
95248313Sdteskeextern struct scroll_tab_list *scroll_tab;
96248313Sdteskeextern int curchoice;
97248313Sdteske
98248313Sdteskeextern int non_unique_match;
99248313Sdteske
100248313Sdteskeextern int match_unique_match;
101248313Sdteske
102248313Sdteskeextern int InsideCompletion;
103248313Sdteske
104248313Sdteskeextern struct varent completions;
105248313Sdteske
106248313Sdteskeextern int color_context_ls;
107248313Sdteske
108248313Sdteske#include "tw.decls.h"
109248313Sdteske
110248313Sdteske#endif /* _h_tw */
111248313Sdteske