Annotation of src/usr.bin/cvs/config.h, Revision 1.8
1.8 ! joris 1: /* $OpenBSD: config.h,v 1.7 2008/02/04 19:08:32 joris Exp $ */
1.1 joris 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:
1.7 joris 21: void cvs_read_config(char *name, void (*cb)(char *, int));
1.3 joris 22:
1.1 joris 23: void cvs_parse_configfile(void);
1.3 joris 24: void cvs_parse_modules(void);
1.2 joris 25:
1.7 joris 26: void config_parse_line(char *, int);
27: void modules_parse_line(char *, int);
1.3 joris 28:
29: #include <sys/queue.h>
1.5 joris 30: #include "file.h"
1.3 joris 31:
32: /* module stuff */
33:
1.4 joris 34: #define MODULE_ALIAS 0x01
35: #define MODULE_TARGETDIR 0x02
36: #define MODULE_NORECURSE 0x04
1.5 joris 37: #define MODULE_RUN_ON_COMMIT 0x08
1.8 ! joris 38: #define MODULE_RUN_ON_CHECKOUT 0x10
1.4 joris 39:
40: struct module_checkout {
1.6 joris 41: char *mc_name;
1.7 joris 42: char *mc_prog;
43:
1.4 joris 44: int mc_flags;
1.7 joris 45: int mc_canfree;
1.5 joris 46:
47: struct cvs_flisthead mc_modules;
48: struct cvs_flisthead mc_ignores;
1.4 joris 49: };
1.3 joris 50:
51: struct module_info {
52: char *mi_name;
1.7 joris 53: char *mi_prog;
1.4 joris 54: int mi_flags;
1.5 joris 55:
56: struct cvs_flisthead mi_modules;
57: struct cvs_flisthead mi_ignores;
1.3 joris 58:
1.4 joris 59: TAILQ_ENTRY(module_info) m_list;
1.3 joris 60: };
1.1 joris 61:
1.4 joris 62: struct module_checkout *cvs_module_lookup(char *);
1.1 joris 63: #endif