|
Packit |
022b05 |
/*
|
|
Packit |
022b05 |
* smidump.h --
|
|
Packit |
022b05 |
*
|
|
Packit |
022b05 |
* This header contains the entry points into the modules
|
|
Packit |
022b05 |
* which dump MIB modules in various output format.
|
|
Packit |
022b05 |
*
|
|
Packit |
022b05 |
* Copyright (c) 1999 Frank Strauss, Technical University of Braunschweig.
|
|
Packit |
022b05 |
* Copyright (c) 1999 J. Schoenwaelder, Technical University of Braunschweig.
|
|
Packit |
022b05 |
*
|
|
Packit |
022b05 |
* See the file "COPYING" for information on usage and redistribution
|
|
Packit |
022b05 |
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
|
Packit |
022b05 |
*
|
|
Packit |
022b05 |
* @(#) $Id: smidump.h 7870 2008-03-11 19:29:58Z schoenw $
|
|
Packit |
022b05 |
*/
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
#ifndef _SMIDUMP_H
|
|
Packit |
022b05 |
#define _SMIDUMP_H
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
#include "shhopt.h"
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
/*
|
|
Packit |
022b05 |
* The following flags can be passed to output drivers in the flags
|
|
Packit |
022b05 |
* member of the struct above.
|
|
Packit |
022b05 |
*/
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
#define SMIDUMP_FLAG_SILENT 0x01 /* suppress comments */
|
|
Packit |
022b05 |
#define SMIDUMP_FLAG_UNITE 0x02 /* generated united output */
|
|
Packit |
022b05 |
#define SMIDUMP_FLAG_ERROR 0x04 /* parser hit serious parse errors */
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
/*
|
|
Packit |
022b05 |
* Driver capability flags which are used to warn about options not
|
|
Packit |
022b05 |
* understood by a particular output driver.
|
|
Packit |
022b05 |
*/
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
#define SMIDUMP_DRIVER_CANT_UNITE 0x02
|
|
Packit |
022b05 |
#define SMIDUMP_DRIVER_CANT_OUTPUT 0x04
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
/*
|
|
Packit |
022b05 |
* The data structure which represents a driver specific option.
|
|
Packit |
022b05 |
* A static array of these options (with the last option's type
|
|
Packit |
022b05 |
* being OPT_END) is used in SmidumpDriver.
|
|
Packit |
022b05 |
* The SmidumpDriverOption structure is based on shhopt.h:optStruct.
|
|
Packit |
022b05 |
*/
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
typedef struct SmidumpDriverOption {
|
|
Packit |
022b05 |
char *name;
|
|
Packit |
022b05 |
optArgType type;
|
|
Packit |
022b05 |
void *arg;
|
|
Packit |
022b05 |
int flags;
|
|
Packit |
022b05 |
char *descr;
|
|
Packit |
022b05 |
} SmidumpDriverOption;
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
/*
|
|
Packit |
022b05 |
* The data structure which represents the entry point for an output
|
|
Packit |
022b05 |
* driver. The ignflags contain the driver capabilities as described
|
|
Packit |
022b05 |
* above.
|
|
Packit |
022b05 |
*/
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
typedef struct SmidumpDriver {
|
|
Packit |
022b05 |
char *name; /* Name of the output driver. */
|
|
Packit |
022b05 |
void (*func) (int, SmiModule **, /* Output generating function. */
|
|
Packit |
022b05 |
int, char *);
|
|
Packit |
022b05 |
int smiflags; /* Flags for the SMI parser. */
|
|
Packit |
022b05 |
int ignflags; /* Output driver flags ignored. */
|
|
Packit |
022b05 |
char *descr; /* Short description. */
|
|
Packit |
022b05 |
SmidumpDriverOption *opt; /* Driver specific options. */
|
|
Packit |
022b05 |
struct SmidumpDriver *next;
|
|
Packit |
022b05 |
} SmidumpDriver;
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
/*
|
|
Packit |
022b05 |
* The entry points for the output drivers that currently exist for
|
|
Packit |
022b05 |
* smidump.
|
|
Packit |
022b05 |
*/
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
extern void initSmi(void);
|
|
Packit |
022b05 |
extern void initSming(void);
|
|
Packit |
022b05 |
extern void initSppi(void);
|
|
Packit |
022b05 |
extern void initSvg(void);
|
|
Packit |
022b05 |
extern void initImports(void);
|
|
Packit |
022b05 |
extern void initTypes(void);
|
|
Packit |
022b05 |
extern void initTree(void);
|
|
Packit |
022b05 |
extern void initIdentifiers(void);
|
|
Packit |
022b05 |
extern void initMetrics(void);
|
|
Packit |
022b05 |
extern void initMosy(void);
|
|
Packit |
022b05 |
extern void initXml(void);
|
|
Packit |
022b05 |
extern void initCorba(void);
|
|
Packit |
022b05 |
extern void initCm(void);
|
|
Packit |
022b05 |
extern void initNetsnmp(void);
|
|
Packit |
022b05 |
extern void initJax(void);
|
|
Packit |
022b05 |
extern void initPython(void);
|
|
Packit |
022b05 |
extern void initPerl(void);
|
|
Packit |
022b05 |
extern void initScli(void);
|
|
Packit |
022b05 |
extern void initXsd(void);
|
|
Packit |
022b05 |
extern void initSizes(void);
|
|
Packit |
022b05 |
extern void initCompliances(void);
|
|
Packit |
022b05 |
extern void initYang(void);
|
|
Packit |
022b05 |
extern void initBoilerplate(void);
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
extern void initSql(void);
|
|
Packit |
022b05 |
extern void initFig(void);
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
/*
|
|
Packit |
022b05 |
* The functions are wrappers for the malloc functions which handle
|
|
Packit |
022b05 |
* memory allocation errors by terminating the program.
|
|
Packit |
022b05 |
*/
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
extern void *xmalloc(size_t size);
|
|
Packit |
022b05 |
extern void *xrealloc(void *ptr, size_t size);
|
|
Packit |
022b05 |
extern void *xcalloc(size_t nmemb, size_t size);
|
|
Packit |
022b05 |
extern char *xstrdup(const char *s);
|
|
Packit |
022b05 |
extern void xfree(void *ptr);
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
extern void smidumpRegisterDriver(SmidumpDriver *driver);
|
|
Packit |
022b05 |
|
|
Packit |
022b05 |
#endif /* _SMIDUMP_H */
|