1*613a2f6bSGordon Ross /* 2*613a2f6bSGordon Ross * Copyright (c) 2000, Boris Popov 3*613a2f6bSGordon Ross * All rights reserved. 4*613a2f6bSGordon Ross * 5*613a2f6bSGordon Ross * Redistribution and use in source and binary forms, with or without 6*613a2f6bSGordon Ross * modification, are permitted provided that the following conditions 7*613a2f6bSGordon Ross * are met: 8*613a2f6bSGordon Ross * 1. Redistributions of source code must retain the above copyright 9*613a2f6bSGordon Ross * notice, this list of conditions and the following disclaimer. 10*613a2f6bSGordon Ross * 2. Redistributions in binary form must reproduce the above copyright 11*613a2f6bSGordon Ross * notice, this list of conditions and the following disclaimer in the 12*613a2f6bSGordon Ross * documentation and/or other materials provided with the distribution. 13*613a2f6bSGordon Ross * 3. All advertising materials mentioning features or use of this software 14*613a2f6bSGordon Ross * must display the following acknowledgement: 15*613a2f6bSGordon Ross * This product includes software developed by Boris Popov. 16*613a2f6bSGordon Ross * 4. Neither the name of the author nor the names of any co-contributors 17*613a2f6bSGordon Ross * may be used to endorse or promote products derived from this software 18*613a2f6bSGordon Ross * without specific prior written permission. 19*613a2f6bSGordon Ross * 20*613a2f6bSGordon Ross * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 21*613a2f6bSGordon Ross * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22*613a2f6bSGordon Ross * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23*613a2f6bSGordon Ross * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 24*613a2f6bSGordon Ross * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25*613a2f6bSGordon Ross * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26*613a2f6bSGordon Ross * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27*613a2f6bSGordon Ross * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28*613a2f6bSGordon Ross * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29*613a2f6bSGordon Ross * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30*613a2f6bSGordon Ross * SUCH DAMAGE. 31*613a2f6bSGordon Ross */ 324bff34e3Sthurlow 334bff34e3Sthurlow struct rckey { 344bff34e3Sthurlow SLIST_ENTRY(rckey) rk_next; 354bff34e3Sthurlow char *rk_name; 364bff34e3Sthurlow char *rk_value; 374bff34e3Sthurlow }; 384bff34e3Sthurlow 394bff34e3Sthurlow struct rcsection { 404bff34e3Sthurlow SLIST_ENTRY(rcsection) rs_next; 414bff34e3Sthurlow SLIST_HEAD(rckey_head, rckey) rs_keys; 424bff34e3Sthurlow char *rs_name; 434bff34e3Sthurlow }; 444bff34e3Sthurlow 454bff34e3Sthurlow struct rcfile { 464bff34e3Sthurlow SLIST_ENTRY(rcfile) rf_next; 474bff34e3Sthurlow SLIST_HEAD(rcsec_head, rcsection) rf_sect; 484bff34e3Sthurlow char *rf_name; 494bff34e3Sthurlow FILE *rf_f; 50*613a2f6bSGordon Ross int rf_flags; /* RCFILE_... */ 514bff34e3Sthurlow }; 524bff34e3Sthurlow 53*613a2f6bSGordon Ross #define RCFILE_HOME_NSMBRC 1 54*613a2f6bSGordon Ross #define RCFILE_IS_INSECURE 2 55