xref: /original-bsd/usr.bin/make/dir.h (revision c3e32dec)
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.1 (Berkeley) 06/06/93
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_AddDir __P((Lst, char *));
30 void	 Dir_ClearPath __P((Lst));
31 void	 Dir_Concat __P((Lst, Lst));
32 ClientData
33 	    Dir_CopyDir __P((Path *));
34 void	 Dir_Destroy __P((Path *));
35 void	 Dir_Expand __P((char *, Lst, Lst));
36 char	*Dir_FindFile __P((char *, Lst));
37 Boolean	 Dir_HasWildcards __P((char *));
38 void	 Dir_Init __P((void));
39 char	*Dir_MakeFlags __P((char *, Lst));
40 int	 Dir_MTime __P((GNode *));
41 void	 Dir_PrintDirectories __P((void));
42 void	 Dir_PrintPath __P((Lst));
43 
44 #endif /* _DIR */
45