summaryrefslogtreecommitdiffstats
path: root/modules.h
diff options
context:
space:
mode:
Diffstat (limited to 'modules.h')
-rw-r--r--modules.h103
1 files changed, 0 insertions, 103 deletions
diff --git a/modules.h b/modules.h
deleted file mode 100644
index 4782d319..00000000
--- a/modules.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/* modules.h
- * Definition for build-in and plug-ins module handler.
- *
- * The following definitions are to be used for modularization. Currently,
- * the code is NOT complete. I am just adding pieces to it as I
- * go along in designing the interface.
- * rgerhards, 2007-07-19
- *
- *
- * File begun on 2007-07-22 by RGerhards
- *
- * Copyright 2007 Rainer Gerhards and Adiscon GmbH.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * A copy of the GPL can be found in the file "COPYING" in this distribution.
- */
-#ifndef MODULES_H_INCLUDED
-#define MODULES_H_INCLUDED 1
-
-#include "objomsr.h"
-
-typedef enum eModType_ {
- eMOD_IN, /* input module */
- eMOD_OUT, /* output module */
- eMOD_FILTER /* filter module (not know yet if we will once have such at all...) */
-} eModType_t;
-
-/* how is this module linked? */
-typedef enum eModLinkType_ {
- eMOD_LINK_STATIC,
- eMOD_LINK_DYNAMIC_UNLOADED, /* dynalink module, currently not loaded */
- eMOD_LINK_DYNAMIC_LOADED /* dynalink module, currently loaded */
-} eModLinkType_t;
-
-typedef struct moduleInfo {
- struct moduleInfo *pNext; /* support for creating a linked module list */
- int iIFVers; /* Interface version of module */
- eModType_t eType; /* type of this module */
- eModLinkType_t eLinkType;
- uchar* pszName; /* printable module name, e.g. for dbgprintf */
- /* functions supported by all types of modules */
- rsRetVal (*modInit)(int, int*, rsRetVal(**)()); /* initialize the module */
- /* be sure to support version handshake! */
- rsRetVal (*modQueryEtryPt)(uchar *name, rsRetVal (**EtryPoint)()); /* query entry point addresses */
- rsRetVal (*isCompatibleWithFeature)(syslogFeature);
- rsRetVal (*freeInstance)(void*);/* called before termination or module unload */
- rsRetVal (*getWriteFDForSelect)(void*,short *);/* called before termination or module unload */
- rsRetVal (*onSelectReadyWrite)(void*);/* called when fd is writeable after select() */
- rsRetVal (*needUDPSocket)(void*);/* called when fd is writeable after select() */
- rsRetVal (*dbgPrintInstInfo)(void*);/* called before termination or module unload */
- rsRetVal (*tryResume)(void*);/* called to see if module actin can be resumed now */
- rsRetVal (*modExit)(void); /* called before termination or module unload */
- rsRetVal (*modGetID)(void **); /* get its unique ID from module */
- /* below: parse a configuration line - return if processed
- * or not. If not, must be parsed to next module.
- */
- rsRetVal (*parseConfigLine)(uchar **pConfLine);
- /* below: create an instance of this module. Most importantly the module
- * can allocate instance memory in this call.
- */
- rsRetVal (*createInstance)();
- union {
- struct {/* data for input modules */
- /* input modules come after output modules are finished, I am
- * currently not really thinking about them. rgerhards, 2007-07-19
- */
- } im;
- struct {/* data for output modules */
- /* below: perform the configured action
- */
- rsRetVal (*doAction)(uchar**, unsigned, void*);
- rsRetVal (*parseSelectorAct)(uchar**, void**,omodStringRequest_t**);
- } om;
- } mod;
- void *pModHdlr; /* handler to the dynamic library holding the module */
-} modInfo_t;
-
-/* prototypes */
-rsRetVal doModInit(rsRetVal (*modInit)(), uchar *name, void *pModHdlr);
-modInfo_t *omodGetNxt(modInfo_t *pThis);
-uchar *modGetName(modInfo_t *pThis);
-uchar *modGetStateName(modInfo_t *pThis);
-void modPrintList(void);
-rsRetVal modUnloadAndDestructAll(void);
-rsRetVal modUnloadAndDestructDynamic(void);
-
-#endif /* #ifndef MODULES_H_INCLUDED */
-/*
- * vi:set ai:
- */