xref: /openbsd/usr.bin/cvs/config.h (revision d415bd75)
1 /*	$OpenBSD: config.h,v 1.10 2008/03/02 11:58:45 joris Exp $	*/
2 /*
3  * Copyright (c) 2006 Joris Vink <joris@openbsd.org>
4  *
5  * Permission to use, copy, modify, and distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  */
17 
18 #ifndef CONFIG_H
19 #define CONFIG_H
20 
21 void cvs_modules_list(void);
22 
23 void cvs_read_config(char *name, int (*cb)(char *, int));
24 
25 void cvs_parse_configfile(void);
26 void cvs_parse_modules(void);
27 
28 int config_parse_line(char *, int);
29 int modules_parse_line(char *, int);
30 
31 #include <sys/queue.h>
32 #include "file.h"
33 
34 /* module stuff */
35 
36 #define MODULE_ALIAS		0x01
37 #define MODULE_TARGETDIR	0x02
38 #define MODULE_NORECURSE	0x04
39 #define MODULE_RUN_ON_COMMIT	0x08
40 #define MODULE_RUN_ON_CHECKOUT	0x10
41 
42 struct module_checkout {
43 	char			*mc_name;
44 	char			*mc_prog;
45 
46 	int			 mc_flags;
47 	int			 mc_canfree;
48 
49 	struct cvs_flisthead	 mc_modules;
50 	struct cvs_flisthead	 mc_ignores;
51 };
52 
53 struct module_info {
54 	char				*mi_name;
55 	char				*mi_prog;
56 	char				*mi_str;
57 	int				 mi_flags;
58 
59 	struct cvs_flisthead		 mi_modules;
60 	struct cvs_flisthead		 mi_ignores;
61 
62 	TAILQ_ENTRY(module_info)	 m_list;
63 };
64 
65 struct module_checkout *cvs_module_lookup(char *);
66 #endif
67