libclamav/special.h
c3a3be2d
 /*
e1cbc270
  *  Copyright (C) 2013-2019 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
2023340a
  *
  *  Authors: Trog
c3a3be2d
  *
  *  This program is free software; you can redistribute it and/or modify
2023340a
  *  it under the terms of the GNU General Public License version 2 as
  *  published by the Free Software Foundation.
c3a3be2d
  *
  *  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
48b7b4a7
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  *  MA 02110-1301, USA.
c3a3be2d
  */
 
 #ifndef __SPECIAL_H
 #define __SPECIAL_H
 
be63d0ad
 #include "others.h"
e6d1a8b7
 #define SWIZZ_MAXERRORS 2000
42d26ac9
 struct swizz_stats {
288057e9
     uint16_t gngrams[17576];
     uint32_t total;
     uint32_t suspicious;
     int has_version;
     int has_manifest;
     int errors;
     int entries;
42d26ac9
 };
be63d0ad
 
d0e17a28
 int cli_check_mydoom_log(cli_ctx *ctx);
32d37729
 int cli_check_jpeg_exploit(cli_ctx *ctx, off_t offset);
bad8bbc7
 int cli_check_riff_exploit(cli_ctx *ctx);
42d26ac9
 void cli_detect_swizz_str(const unsigned char *str, uint32_t len, struct swizz_stats *stats, int blob);
 int cli_detect_swizz(struct swizz_stats *stats);
c3a3be2d
 
 #endif