ossp-pkg/rc/rc.h
1.23
/* OSSP rc - Run-command processor
** Copyright (c) 2002 Ralf S. Engelschall
** Copyright (c) 2002 Cable & Wireless Deutschland GmbH
** Copyright (c) 2002 The OSSP Project <http://www.ossp.org/>
**
** This file is part of OSSP rc, a portable Run-command processor
** which can be found at http://www.ossp.org/pkg/lib/rc/
**
** Permission to use, copy, modify, and distribute this software for
** any purpose with or without fee is hereby granted, provided that
** the above copyright notice and this permission notice appear in all
** copies.
**
** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
** SUCH DAMAGE.
**
** rc.h: Run-command processor ISO C public header file
*/
#ifndef __OSSPRC_H__
#define __OSSPRC_H__
/* compensate for poor standard environments */
#ifndef NULL
#define NULL (void *)0
#endif
#ifndef FALSE
#define FALSE (0)
#endif
#ifndef TRUE
#define TRUE (!FALSE)
#endif
#include "rc_private.h"
/* Rc return codes */
typedef enum {
RC_OK, /* Success */
RC_ERR_USE, /* Usage error */
RC_ERR_MEM, /* Memory error */
RC_ERR_SYS, /* System error (see errno) */
RC_ERR_IO, /* Input/output error */
RC_ERR_INT /* Internal error */
} rc_return_t;
/* Rc class */
typedef void *rc_t;
/* Rc script type */
typedef char *rc_script_t;
/* Option function prototypes */
/*rc_return_t optionProcess(void);
rc_return_t optionProcess(void);*/
/* Config function prototypes */
rc_return_t configNew(void);
rc_return_t configLoad(int, char **);
rc_return_t configVerify(void);
rc_return_t configDelete(void);
const char *configSummarize(void);
void configDebug(void); /* FIXME Remove */
/* Config accessor prototypes */
const char *configGetval(rc_opt_t);
const char *configGetname(rc_opt_t);
const char *configGetrcfile(void);
const char *configGetsec(int);
/* Command line function prototypes */
rc_return_t clioptNew(void);
rc_return_t clioptPrintusage(void);
/*FIXME rc_return_t clioptRemnode(rc_bintup_t **);
rc_return_t clioptRemallimp(rc_bintup_t **);
rc_return_t clioptRemall(void);
rc_return_t clioptAppnode(const char *, const char *);*/
rc_return_t clioptProcess(int, const char *);
rc_return_t clioptParseopt(int, char **);
rc_return_t clioptParserc(void);
rc_return_t clioptParsesec(void);
rc_return_t clioptDelete(void);
/* Command line accessor prototypes */
const char *clioptGetval(rc_opt_t);
const char *clioptGetrcfile(void);
const char **clioptGetsec(void);
int clioptGetseclen(void);
rc_return_t clioptSetval(rc_opt_t, const char *);
rc_return_t clioptSetrcfile(const char *);
rc_return_t clioptSetsec(const char **);
/* Option function prototypes */
/*FIXME rc_return_t optNew(rc_opt_t **);
rc_return_t optDelete(rc_opt_t **);*/
/* Option accessor prototypes */
/*FIXME rc_return_t optGetname(rc_opt_t *, char **);
rc_return_t optGetval(rc_opt_t *, char **);
rc_return_t optSetname(rc_opt_t *, const char *);
rc_return_t optSetval(rc_opt_t *, const char *);*/
/* Utility (nonbounded) function prototypes */
char *strErr(rc_return_t);
/* Other function prototypes */
/*rc_result_t rc_Err (void);
rc_result_t rc_Warn (void);
rc_result_t rc_PathAppend (int bExists, char **pszPaths);
rc_result_t rc_PathPrepend (int bExists, char **pszPaths);
rc_result_t rc_EnvDel (char *szVar, char **pszVals);
rc_result_t rc_QueryVar (char *szVar, char **pszVal);
rc_result_t rc_ServiceState (char *szService, char **pszServState);
rc_result_t rc_TmpDirGen (char *szProgram);
rc_result_t rc_TmpDirFile (char *szProgram, char *szFilename, *szVar);
rc_result_t rc_TmpDirDel (char *szProgram);*/
#endif /* __OSSPRC_H__ */