1 /* 2 ** Copyright (C) 2014-2021 Cisco and/or its affiliates. All rights reserved. 3 ** Copyright (C) 2012-2013 Sourcefire, Inc. 4 ** 5 ** This program is free software; you can redistribute it and/or modify 6 ** it under the terms of the GNU General Public License Version 2 as 7 ** published by the Free Software Foundation. You may not use, modify or 8 ** distribute this program under any other version of the GNU General 9 ** Public License. 10 ** 11 ** This program is distributed in the hope that it will be useful, 12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 ** GNU General Public License for more details. 15 ** 16 ** You should have received a copy of the GNU General Public License 17 ** along with this program; if not, write to the Free Software 18 ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 ** 20 ** Date: 01-27-2012 21 ** Author: Hui Cao <hcao@sourcefire.com> 22 */ 23 24 #ifndef _OUTPUT_H 25 #define _OUTPUT_H 26 27 #include <stdio.h> 28 #include "output_common.h" 29 30 31 struct _SnortConfig; 32 33 /* Definition of the structures returned by output_get_module_list(). */ 34 typedef struct { 35 char *name; /* Module name */ 36 uint32_t version; /* Module version */ 37 uint32_t type; /* Module capabilities */ 38 } Output_Module_Info_t; 39 40 /* Iterate through each of the output modules */ 41 void * GetNextOutputModule(void *); 42 const char * GetOutputModuleName(void *); 43 uint32_t GetOutputModuleVersion(void *); 44 45 /* Functions for loading, handling, and unloading output modules. */ 46 47 /*Load, unload output modules from directory*/ 48 int output_load(const char *dir); 49 void output_unload(void); 50 51 int output_load_module(const char *filename); 52 53 int initOutputPlugin(void *); 54 #endif /* _OUTPUT_H */ 55