186d7f5d3SJohn Marino /* 286d7f5d3SJohn Marino * Copyright (c)2004 The DragonFly Project. All rights reserved. 386d7f5d3SJohn Marino * 486d7f5d3SJohn Marino * Redistribution and use in source and binary forms, with or without 586d7f5d3SJohn Marino * modification, are permitted provided that the following conditions 686d7f5d3SJohn Marino * are met: 786d7f5d3SJohn Marino * 886d7f5d3SJohn Marino * Redistributions of source code must retain the above copyright 986d7f5d3SJohn Marino * notice, this list of conditions and the following disclaimer. 1086d7f5d3SJohn Marino * 1186d7f5d3SJohn Marino * Redistributions in binary form must reproduce the above copyright 1286d7f5d3SJohn Marino * notice, this list of conditions and the following disclaimer in 1386d7f5d3SJohn Marino * the documentation and/or other materials provided with the 1486d7f5d3SJohn Marino * distribution. 1586d7f5d3SJohn Marino * 1686d7f5d3SJohn Marino * Neither the name of the DragonFly Project nor the names of its 1786d7f5d3SJohn Marino * contributors may be used to endorse or promote products derived 1886d7f5d3SJohn Marino * from this software without specific prior written permission. 1986d7f5d3SJohn Marino * 2086d7f5d3SJohn Marino * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 2186d7f5d3SJohn Marino * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 2286d7f5d3SJohn Marino * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 2386d7f5d3SJohn Marino * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 2486d7f5d3SJohn Marino * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 2586d7f5d3SJohn Marino * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 2686d7f5d3SJohn Marino * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 2786d7f5d3SJohn Marino * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2886d7f5d3SJohn Marino * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 2986d7f5d3SJohn Marino * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 3086d7f5d3SJohn Marino * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 3186d7f5d3SJohn Marino * OF THE POSSIBILITY OF SUCH DAMAGE. 3286d7f5d3SJohn Marino */ 3386d7f5d3SJohn Marino 3486d7f5d3SJohn Marino /* 3586d7f5d3SJohn Marino * confed.h 3686d7f5d3SJohn Marino * $Id: confed.h,v 1.5 2005/02/06 21:05:18 cpressey Exp $ 3786d7f5d3SJohn Marino */ 3886d7f5d3SJohn Marino 3986d7f5d3SJohn Marino #ifndef __CONFED_H_ 4086d7f5d3SJohn Marino #define __CONFED_H_ 4186d7f5d3SJohn Marino 4286d7f5d3SJohn Marino #include "libaura/dict.h" 4386d7f5d3SJohn Marino 4486d7f5d3SJohn Marino struct i_fn_args; 4586d7f5d3SJohn Marino 4686d7f5d3SJohn Marino #define CONFIG_TYPE_SH 0 4786d7f5d3SJohn Marino #define CONFIG_TYPE_RESOLV 1 4886d7f5d3SJohn Marino 4986d7f5d3SJohn Marino struct config_vars { 5086d7f5d3SJohn Marino struct aura_dict *d; 5186d7f5d3SJohn Marino }; 5286d7f5d3SJohn Marino 5386d7f5d3SJohn Marino struct config_vars *config_vars_new(void); 5486d7f5d3SJohn Marino void config_vars_free(struct config_vars *); 5586d7f5d3SJohn Marino int config_var_set(struct config_vars *, const char *, const char *); 5686d7f5d3SJohn Marino const char *config_var_get(const struct config_vars *, const char *); 5786d7f5d3SJohn Marino int config_vars_write(const struct config_vars *, int, 5886d7f5d3SJohn Marino const char *, ...) __printflike(3, 4); 5986d7f5d3SJohn Marino int config_vars_read(struct i_fn_args *, 6086d7f5d3SJohn Marino struct config_vars *, int, const char *, ...) 6186d7f5d3SJohn Marino __printflike(4, 5); 6286d7f5d3SJohn Marino 6386d7f5d3SJohn Marino #endif /* !__CONFED_H_ */ 64