clamonacc/clamonacc.h
01456705
 /*
  *  Copyright (C) 2013-2019 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
  *
  *  Authors: Mickey Sola
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2 as
  *  published by the Free Software Foundation.
  *
  *  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., 51 Franklin Street, Fifth Floor, Boston,
  *  MA 02110-1301, USA.
  */
 
 #ifndef __ONAS_CLAMONACC_H
 #define __ONAS_CLAMONACC_H
 
56426d28
 #include "libclamav/clamav.h"
01456705
 
a3c1a8a4
 #ifndef ONAS_DEBUG
 #define ONAS_DEBUG
 #endif
 /* dev only switch for very noisy output */
 #undef ONAS_DEBUG
 
891d45ce
 #ifndef HAVE_ATTRIB_PACKED
 #define __attribute__(x)
 #endif
 #ifdef HAVE_PRAGMA_PACK
 #pragma pack(1)
 #endif
 #ifdef HAVE_PRAGMA_PACK_HPPA
 #pragma pack 1
 #endif
 
01456705
 struct onas_context {
43422579
     const struct optstruct *opts;
     const struct optstruct *clamdopts;
01456705
 
43422579
     int printinfected;
     int maxstream;
01456705
 
43422579
     uint32_t ddd_enabled;
01456705
 
43422579
     int fan_fd;
     uint64_t fan_mask;
     uint8_t retry_on_error;
     uint8_t retry_attempts;
     uint8_t deny_on_error;
01456705
 
43422579
     uint64_t sizelimit;
     uint64_t extinfo;
01456705
 
43422579
     int scantype;
     int isremote;
     int session;
     int timeout;
01456705
 
43422579
     int64_t portnum;
0e258f2b
 
43422579
     int32_t maxthreads;
891d45ce
 } __attribute__((packed));
 
 #ifdef HAVE_PRAGMA_PACK
 #pragma pack()
 #endif
 #ifdef HAVE_PRAGMA_PACK_HPPA
 #pragma pack
 #endif
01456705
 
43422579
 struct onas_context *onas_init_context(void);
 void *onas_cleanup(struct onas_context *ctx);
 void *onas_context_cleanup(struct onas_context *ctx);
424c912b
 cl_error_t onas_check_client_connection(struct onas_context **ctx);
01456705
 int onas_start_eloop(struct onas_context **ctx);
 void help(void);
 
 #endif