《开源杀毒引擎ClamAV的源码编译安装》中我们讲了ClamAV的安装和使用方法,可以很方便的使用ClamAV提供的工具进行病毒扫描,当然我们也可以在我们的程序中集成它提供的libclamav开发库来实现病毒扫描,libclamav是一个功能强大的病毒扫描库,提供了许多API函数来帮助开发者编写自己的病毒扫描程序。
下面我们一起来看一下libclamav病毒库的API函数以及使用方法。
1、libclamav说明
libclamav的头文件是clamav.h,使用libclamav需要包含clamav.h头文件,开发库可以使用动态库libclamav.so或者静态库libclamav_static.a。libclamav提供的主要API函数如下:
-
cl_init()
在使用libclamav之前,您应该调用cl_init()来初始化它。CL_INIT_DEFAULT是一个宏,可以传递给代表默认初始化设置的cl_init()。函数原型:
int cl_init(unsigned int options);
cl_init()成功时返回CL_SUCCESS,错误时返回另一个代码。
-
cl_engine_new()
cl_init()完成后,就可以通过调用cl_engine_new()来创建新的扫描引擎了。函数原型:
struct cl_engine *cl_engine_new(void);
cl_engine_new返回指针,如果没有足够的内存来分配新的引擎结构,则返回NULL。
-
cl_engine_free()
要释放由引擎分配的资源,使用cl_engine_free()。函数原型:
int cl_engine_free