资源简介
ClamAV的VS2005工程源码,可以直接编译,不过有个打包工程无法通过。
http://blog.csdn.net/betabin/article/details/7452650博文会介绍下。
代码片段和文件信息
/*
* Copyright (C) 2006 Sensory Networks Inc.
* (C) 2007 Tomasz Kojm
* Written by Tomasz Kojm
*
* 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.
*/
#if HAVE_CONFIG_H
#include “clamav-config.h“
#endif
#include
#include
#include
#include
#include
#ifdef HAVE_UNISTD_H
#include
#endif
#include
#include “shared/misc.h“
#include “libclamav/clamav.h“
#include “cfgparser.h“
#define _GNU_SOURCE
#include “getopt.h“
static void printopt(const struct cfgoption *opt const struct cfgstruct *cpt int nondef)
{
if(!cpt->enabled && opt->numarg == -1) {
if(!nondef || (opt->numarg != cpt->numarg))
printf(“%s not set\n“ opt->name);
return;
}
switch(opt->argtype) {
case OPT_STR:
case OPT_FULLSTR:
case OPT_QUOTESTR:
if(!nondef || !opt->strarg || strcmp(opt->strarg cpt->strarg))
printf(“%s = \“%s\“\n“ opt->name cpt->strarg);
break;
case OPT_NUM:
case OPT_COMPSIZE:
if(!nondef || (opt->numarg != cpt->numarg))
printf(“%s = %u\n“ opt->name cpt->numarg);
break;
case OPT_BOOL:
if(!nondef || (opt->numarg != cpt->numarg))
printf(“%s = %s\n“ opt->name cpt->enabled ? “yes“ : “no“);
break;
default:
printf(“%s: UNKNOWN ARGUMENT TYPE\n“ opt->name);
}
}
static void printcfg(const char *cfgfile int nondef)
{
const struct cfgoption *opt;
const struct cfgstruct *cpt;
struct cfgstruct *cfg;
int i;
unsigned short cfgowner = 0;
if(!(cfg = getcfg(cfgfile 1))) {
printf(“Can‘t parse %s\n“ cfgfile);
return;
}
/* pre loop to detect merged config */
for(i = 0; ; i++) {
opt = &cfg_options[i];
if(!opt->name)
break;
cpt = cfgopt(cfg opt->name);
if((cpt->numarg != opt->numarg) || (cpt->strarg && opt->strarg && strcmp(cpt->strarg opt->strarg))) {
if((opt->owner & OPT_CLAMD) && !(opt->owner & OPT_FRESHCLAM))
cfgowner |= OPT_CLAMD;
else if((opt->owner & OPT_FRESHCLAM) && !(opt->owner & OPT_CLAMD))
cfgowner |= OPT_FRESHCLAM;
}
}
if((cfgowner & OPT_CLAMD) && (cfgowner & OPT_FRESHCLAM)) { /* merged cfg */
printf(“%s: clamd and freshclam directives\n“ cfgfile);
printf(“------------------------------\n“);
printf(“\n[common]\n“);
for(i = 0; ; i++) {
opt = &cfg_options[i];
if(!opt->name)
break;
if((opt->owner &
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5031 2007-07-14 13:38 shared\shared.vcproj
文件 2685 2007-04-18 13:55 shared\network.c
文件 1285 2006-07-26 14:20 shared\ReadMe.txt
文件 1319 2007-04-18 13:55 shared\misc.h
文件 1358 2006-07-26 14:20 shared\stdafx.h
文件 293 2006-07-26 14:20 shared\stdafx.cpp
文件 896 2007-04-18 13:55 shared\cdiff.h
文件 2036 2007-04-18 13:55 shared\cfgparser.h
文件 6432 2007-04-18 13:55 shared\getopt.h
文件 8688 2007-10-22 17:08 shared\sha256.c
文件 6127 2007-04-18 13:55 shared\options.c
文件 1506 2007-04-18 13:55 shared\options.h
文件 1542 2007-10-08 13:32 shared\output.h
文件 1383 2007-10-30 14:34 shared\shared.vcproj.NJH.Nigel Horne.user
文件 1614 2007-10-22 17:08 shared\sha256.h
文件 5856 2007-10-07 12:48 shared\misc.c
文件 30062 2007-04-18 13:55 shared\getopt.c
文件 1038 2007-04-18 13:55 shared\network.h
文件 23156 2007-10-22 17:08 shared\cdiff.c
文件 15827 2007-10-08 13:32 shared\cfgparser.c
文件 8212 2007-10-08 14:47 shared\output.c
目录 0 2007-10-22 17:08 shared\
文件 39914496 2007-10-30 14:34 clamav.ncb
文件 10415 2007-10-24 17:47 clamav.sln
文件 7834789 2006-08-11 21:01 libclamav.ncb
文件 6131 2007-09-27 17:49 clamconf\clamconf.vcproj
文件 1312 2006-08-04 13:04 clamconf\ReadMe.txt
文件 376 2006-08-04 13:04 clamconf\stdafx.h
文件 295 2006-08-04 13:04 clamconf\stdafx.cpp
文件 172 2006-08-04 13:04 clamconf\clamconf.cpp
文件 1409 2007-10-30 14:34 clamconf\clamconf.vcproj.NJH.Nigel Horne.user
............此处省略485个文件信息
- 上一篇:SAP2000结构工程案例分析
- 下一篇:软件评测师考试考点分析与真题详解2
相关资源
- Activiti官方唯一推荐中文书籍——《
- 开心农场实现教程
- SSM整合时的Maven项目源码
- IONIC+PhoneGap项目源码
- 数独游戏源码
- 简单天气预报demo
- 8套源码8套H5 app源代码—WeX5移动开发
- WDK/DDK USBVIEW 源码 VC2010编译环境 内含
- VFP程序源码打包A
- 麒麟子麻将源码.zip
- paint.net 源码
- 对QQ的简单模仿源码
- OpenGL ES 2.0 编程指南中英文+源码
- 洗车管理系统源码
- 工作易高端人才招聘系统100%商业最新
- stm32烧写源码dos
- cocos creator完整牛牛前端源码
- 植物大战僵尸源码
- VRML虚拟现实应用技术11679 源程序 ra
-
WebGIS之Openla
yers全面解析源码+数据库 - QmlBook_PDF_中文+英文+源码
- Spring Boot 2企业应用实战 源码
- 二手房信息管理软件源码房产系统
- NodeJS实战搭建博客_源码
- GridCtrl控件源码及Demo
- 莱昂氏UNIX源代码分析全本.pdf
- OpenGL三维图形系统开发与实用技术.
- SSH2三大框架的整合详解()
- RC522 单片机 上位机 下位机源码
- SCOMMV23精修版(CoM口源码)
评论
共有 条评论