xref: /original-bsd/usr.bin/make/dir.h (revision 0842ddeb)
1 /*
2  * Copyright (c) 1988, 1989, 1990, 1993
3  *	The Regents of the University of California.  All rights reserved.
4  * Copyright (c) 1989 by Berkeley Softworks
5  * All rights reserved.
6  *
7  * This code is derived from software contributed to Berkeley by
8  * Adam de Boor.
9  *
10  * %sccs.include.redist.c%
11  *
12  *	@(#)dir.h	8.2 (Berkeley) 04/28/95
13  */
14 
15 /* dir.h --
16  */
17 
18 #ifndef	_DIR
19 #define	_DIR
20 
21 typedef struct Path {
22     char         *name;	    	/* Name of directory */
23     int	    	  refCount; 	/* Number of paths with this directory */
24     int		  hits;	    	/* the number of times a file in this
25 				 * directory has been found */
26     Hash_Table    files;    	/* Hash table of files in directory */
27 } Path;
28 
29 void Dir_Init __P((void));
30 void Dir_End __P((void));
31 Boolean Dir_HasWildcards __P((char *));
32 void Dir_Expand __P((char *, Lst, Lst));
33 char *Dir_FindFile __P((char *, Lst));
34 int Dir_MTime __P((GNode *));
35 void Dir_AddDir __P((Lst, char *));
36 char *Dir_MakeFlags __P((char *, Lst));
37 void Dir_ClearPath __P((Lst));
38 void Dir_Concat __P((Lst, Lst));
39 void Dir_PrintDirectories __P((void));
40 void Dir_PrintPath __P((Lst));
41 void Dir_Destroy __P((ClientData));
42 ClientData Dir_CopyDir __P((ClientData));
43 
44 #endif /* _DIR */
45