/*
 * Sysconfig: the SYSCONFIG.CF configuration file.
 *
 * This is a case where templates are probably useful.  Sysconfig
 * defines the programming interface to the system configuration
 * file (and is thus almost identical to the class for webshield,
 * logexpire, syslog, and so on.)
 *
 * Copyright (c) 1997 David L Parsons 
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms are permitted
 * provided that the above copyright notice and this paragraph are
 * duplicated in all such forms and that any documentation,
 * advertising materials, and other materials related to such
 * distribution and use acknowledge that the software was developed
 * by David L Parsons (orc@pell.chi.il.us).  My name may not be used
 * to endorse or promote products derived from this software without
 * specific prior written permission.  THIS SOFTWARE IS PROVIDED
 * ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
 * WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND
 * FITNESS FOR A PARTICULAR PURPOSE.
 */
#ifndef _SYSCONFIG_D
#define _SYSCONFIG_D

#ifdef TESTING
#define SYSCONFIG_CONF	"SYSCONFIG.CF"
#else
#define SYSCONFIG_CONF	"/etc/rc.d/sysconfig"
#endif

#include <basis/Karray.H>

class Sysconfig:public Karray {
public:
    Sysconfig();		/* load configuration from disk */

    int commit();		/* commit changes to disk */
    int Refresh();		/* load latest configuration */
    int dirty();		/* has the disk configuration been
				 * changed out from under us?
				 */
} ;

#endif/*_SYSCONFIG_D*/
