xref: /openbsd-src/usr.bin/cvs/config.h (revision 8868bb213552101fd94cb65ecd6708c063eda0e8)
1*8868bb21Sjoris /*	$OpenBSD: config.h,v 1.10 2008/03/02 11:58:45 joris Exp $	*/
218911d1eSjoris /*
318911d1eSjoris  * Copyright (c) 2006 Joris Vink <joris@openbsd.org>
418911d1eSjoris  *
518911d1eSjoris  * Permission to use, copy, modify, and distribute this software for any
618911d1eSjoris  * purpose with or without fee is hereby granted, provided that the above
718911d1eSjoris  * copyright notice and this permission notice appear in all copies.
818911d1eSjoris  *
918911d1eSjoris  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1018911d1eSjoris  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1118911d1eSjoris  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1218911d1eSjoris  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1318911d1eSjoris  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1418911d1eSjoris  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1518911d1eSjoris  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1618911d1eSjoris  */
1718911d1eSjoris 
1818911d1eSjoris #ifndef CONFIG_H
1918911d1eSjoris #define CONFIG_H
2018911d1eSjoris 
21dee76bdfSjoris void cvs_modules_list(void);
22dee76bdfSjoris 
23*8868bb21Sjoris void cvs_read_config(char *name, int (*cb)(char *, int));
24e97aaedbSjoris 
2575bebbccSjoris void cvs_parse_configfile(void);
2675bebbccSjoris void cvs_parse_modules(void);
2775bebbccSjoris 
28*8868bb21Sjoris int config_parse_line(char *, int);
29*8868bb21Sjoris int modules_parse_line(char *, int);
3075bebbccSjoris 
3175bebbccSjoris #include <sys/queue.h>
327fca5395Sjoris #include "file.h"
3375bebbccSjoris 
3475bebbccSjoris /* module stuff */
3575bebbccSjoris 
36bf6291b7Sjoris #define MODULE_ALIAS		0x01
37bf6291b7Sjoris #define MODULE_TARGETDIR	0x02
38bf6291b7Sjoris #define MODULE_NORECURSE	0x04
397fca5395Sjoris #define MODULE_RUN_ON_COMMIT	0x08
40ea48eba6Sjoris #define MODULE_RUN_ON_CHECKOUT	0x10
41bf6291b7Sjoris 
42bf6291b7Sjoris struct module_checkout {
43f748429cSjoris 	char			*mc_name;
44ba6315b4Sjoris 	char			*mc_prog;
457fca5395Sjoris 
46ba6315b4Sjoris 	int			 mc_flags;
477fca5395Sjoris 	int			 mc_canfree;
48ba6315b4Sjoris 
497fca5395Sjoris 	struct cvs_flisthead	 mc_modules;
507fca5395Sjoris 	struct cvs_flisthead	 mc_ignores;
51bf6291b7Sjoris };
5275bebbccSjoris 
5375bebbccSjoris struct module_info {
5475bebbccSjoris 	char				*mi_name;
55ba6315b4Sjoris 	char				*mi_prog;
56dee76bdfSjoris 	char				*mi_str;
57bf6291b7Sjoris 	int				 mi_flags;
5875bebbccSjoris 
597fca5395Sjoris 	struct cvs_flisthead		 mi_modules;
607fca5395Sjoris 	struct cvs_flisthead		 mi_ignores;
617fca5395Sjoris 
6275bebbccSjoris 	TAILQ_ENTRY(module_info)	 m_list;
6375bebbccSjoris };
6418911d1eSjoris 
65bf6291b7Sjoris struct module_checkout *cvs_module_lookup(char *);
6618911d1eSjoris #endif
67