1 /*****************************************************************************/
2 /** Copyright 1988 by Evans & Sutherland Computer Corporation, **/
3 /** Salt Lake City, Utah **/
4 /** Portions Copyright 1989 by the Massachusetts Institute of Technology **/
5 /** Cambridge, Massachusetts **/
7 /** All Rights Reserved **/
9 /** Permission to use, copy, modify, and distribute this software and **/
10 /** its documentation for any purpose and without fee is hereby **/
11 /** granted, provided that the above copyright notice appear in all **/
12 /** copies and that both that copyright notice and this permis- **/
13 /** sion notice appear in supporting documentation, and that the **/
14 /** names of Evans & Sutherland and M.I.T. not be used in advertising **/
15 /** in publicity pertaining to distribution of the software without **/
16 /** specific, written prior permission. **/
18 /** EVANS & SUTHERLAND AND M.I.T. DISCLAIM ALL WARRANTIES WITH REGARD **/
19 /** TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT- **/
20 /** ABILITY AND FITNESS, IN NO EVENT SHALL EVANS & SUTHERLAND OR **/
21 /** M.I.T. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAM- **/
22 /** AGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA **/
23 /** OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER **/
24 /** TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE **/
25 /** OR PERFORMANCE OF THIS SOFTWARE. **/
26 /*****************************************************************************/
29 /**********************************************************************
31 * $XConsortium: list.h,v 1.12 90/09/14 14:54:42 converse Exp $
33 * TWM list handling external definitions
35 * 11-Apr-88 Tom LaStrange Initial Version.
37 **********************************************************************/
42 #define LTYPE_NAME (1<<0) /* match against window name */
43 #define LTYPE_RES_NAME (1<<1) /* match against resource name */
44 #define LTYPE_RES_CLASS (1<<2) /* match against resource class */
45 #define LTYPE_PROPERTY (1<<3) /* match against a window property */
46 #define LTYPE_HOST (1<<4) /* match against a host name */
48 #define LTYPE_REGEXP (1<<8) /* match as a regular expression */
49 #define LTYPE_C_REGEXP (1<<9) /* match as a compiled regexp */
50 #define LTYPE_STRING (1<<10) /* match as an exact string */
51 #define LTYPE_ANYTHING (1<<11) /* match anything */
52 #define LTYPE_NOTHING (1<<12) /* match nothing */
54 #define LTYPE_ANY_STRING (LTYPE_NAME | LTYPE_RES_NAME | \
55 LTYPE_RES_CLASS | LTYPE_STRING)
56 #define LTYPE_ANY_REGEXP (LTYPE_NAME | LTYPE_RES_NAME | \
57 LTYPE_RES_CLASS | LTYPE_REGEXP)
58 #define LTYPE_EXACT_NAME (LTYPE_NAME | LTYPE_STRING)
60 typedef struct name_list_struct name_list;
62 extern void AddToList();
63 extern char *LookInList();
64 extern char *LookInNameList();
65 extern int GetColorFromList();
66 extern void FreeList();
68 extern name_list *next_entry();
69 extern char *contents_of_entry();