/usr/share/doc/clamav-docs/html/node52.html is in clamav-docs 0.99+dfsg-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Database loading</TITLE>
<META NAME="description" CONTENT="Database loading">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node53.html">
<LINK REL="previous" HREF="node51.html">
<LINK REL="up" HREF="node49.html">
<LINK REL="next" HREF="node53.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html911"
HREF="node53.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html907"
HREF="node49.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html901"
HREF="node51.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html909"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html912"
HREF="node53.html">Error handling</A>
<B> Up:</B> <A NAME="tex2html908"
HREF="node49.html">API</A>
<B> Previous:</B> <A NAME="tex2html902"
HREF="node51.html">Initialization</A>
<B> <A NAME="tex2html910"
HREF="node1.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H3><A NAME="SECTION00073300000000000000">
Database loading</A>
</H3>
The following set of functions provides an interface for loading
the virus database:
<PRE>
const char *cl_retdbdir(void);
int cl_load(const char *path, struct cl_engine *engine,
unsigned int *signo, unsigned int options);
</PRE>
<code>cl_retdbdir()</code> returns the default (hardcoded) path to the directory
with ClamAV databases.
<code>cl_load()</code> loads a single database file or all databases from a
given directory (when <code>path</code> points to a directory). The second
argument is used for passing in the pointer to the engine that should
be previously allocated with <code>cl_engine_new()</code>. A number of loaded
signatures will be <SPAN CLASS="textbf">added</SPAN> to <code>signo</code> <A NAME="tex2html22"
HREF="footnode.html#foot356"><SUP><SPAN CLASS="arabic">10</SPAN></SUP></A>. The last argument can
pass the following flags:
<UL>
<LI><SPAN CLASS="textbf">CL_DB_STDOPT</SPAN>
<BR>
This is an alias for a recommended set of scan options.
</LI>
<LI><SPAN CLASS="textbf">CL_DB_PHISHING</SPAN>
<BR>
Load phishing signatures.
</LI>
<LI><SPAN CLASS="textbf">CL_DB_PHISHING_URLS</SPAN>
<BR>
Initialize the phishing detection module and load .wdb and .pdb files.
</LI>
<LI><SPAN CLASS="textbf">CL_DB_PUA</SPAN>
<BR>
Load signatures for Potentially Unwanted Applications.
</LI>
<LI><SPAN CLASS="textbf">CL_DB_OFFICIAL_ONLY</SPAN>
<BR>
Only load official signatures from digitally signed databases.
</LI>
<LI><SPAN CLASS="textbf">CL_DB_BYTECODE</SPAN>
<BR>
Load bytecode.
</LI>
</UL>
<code>cl_load()</code> returns <code>CL_SUCCESS</code> on success and another code on
failure.
<PRE>
...
struct cl_engine *engine;
unsigned int sigs = 0;
int ret;
if((ret = cl_init()) != CL_SUCCESS) {
printf("cl_init() error: %s\n", cl_strerror(ret));
return 1;
}
if(!(engine = cl_engine_new())) {
printf("Can't create new engine\n");
return 1;
}
ret = cl_load(cl_retdbdir(), engine, &sigs, CL_DB_STDOPT);
</PRE>
<P>
<BR><HR>
<ADDRESS>
Cisco 2015-10-07
</ADDRESS>
</BODY>
</HTML>
|