1/*- 2 * Copyright (c) 1999 Boris Popov 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * 26 * $FreeBSD$ 27 */ 28#ifndef _NETNCP_NCP_RCFILE_H_ 29#define _NETNCP_NCP_RCFILE_H_ 30#include <sys/queue.h> 31 32struct rckey { 33 SLIST_ENTRY(rckey) rk_next; 34 char *rk_name; 35 char *rk_value; 36}; 37 38struct rcsection { 39 SLIST_ENTRY(rcsection) rs_next; 40 SLIST_HEAD(rckey_head,rckey) rs_keys; 41 char *rs_name; 42}; 43 44struct rcfile { 45 SLIST_ENTRY(rcfile) rf_next; 46 SLIST_HEAD(rcsec_head, rcsection) rf_sect; 47 char *rf_name; 48 FILE *rf_f; 49}; 50 51__BEGIN_DECLS 52 53int rc_open(char *, char *,struct rcfile **); 54int rc_close(struct rcfile *); 55int rc_getstringptr(struct rcfile *, char *, char *, char **); 56int rc_getstring(struct rcfile *, char *, char *, int, char *); 57int rc_getint(struct rcfile *, char *, char *, int *); 58int rc_getbool(struct rcfile *, char *, char *, int *); 59 60__END_DECLS 61 62#endif /* _NETNCP_NCP_RCFILE_H_ */ 63