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