/*
* command.h
*
* Written by Archie Cobbs <archie@freebsd.org>
* Copyright (c) 1995-1999 Whistle Communications, Inc. All rights reserved.
* See ``COPYRIGHT.whistle''
*/
#ifndef _COMMAND_H_
#define _COMMAND_H_
#include "vars.h"
/*
* DEFINITIONS
*/
#define CMD_UNIMPL ((int (*)(Context ctx, int ac, char *av[], void *arg)) 0)
#define CMD_SUBMENU ((int (*)(Context ctx, int ac, char *av[], void *arg)) 1)
/* Configuration options */
enum {
GLOBAL_CONF_TCPWRAPPER, /* enable tcp-wrapper */
};
struct globalconf {
struct optinfo options;
};
struct cmdtab;
typedef const struct cmdtab *CmdTab;
struct cmdtab
{
const char *name;
const char *desc;
int (*func)(Context ctx, int ac, char *av[], void *arg);
int (*admit)(Context ctx, CmdTab cmd);
void *arg;
};
extern const struct cmdtab gCommands[];
/*
* FUNCTIONS
*/
extern int DoConsole(void);
extern int DoCommand(Context ctx, int ac, char *av[], const char *file, int line);
extern int HelpCommand(Context ctx, int ac, char *av[], void *arg);
extern int FindCommand(CmdTab cmds, char* str, CmdTab *cp);
extern int AdmitBund(Context ctx, CmdTab cmd);
extern int AdmitLink(Context ctx, CmdTab cmd);
extern int AdmitRep(Context ctx, CmdTab cmd);
extern int AdmitPhys(Context ctx, CmdTab cmd);
extern int AdmitDev(Context ctx, CmdTab cmd);
#endif
syntax highlighted by Code2HTML, v. 0.9.1