7
7
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
10
<TITLE>Initialization</TITLE>
11
<META NAME="description" CONTENT="Initialization">
11
<META NAME="description" CONTENT="API">
12
12
<META NAME="keywords" CONTENT="clamdoc">
13
13
<META NAME="resource-type" CONTENT="document">
14
14
<META NAME="distribution" CONTENT="global">
19
19
<LINK REL="STYLESHEET" HREF="clamdoc.css">
21
<LINK REL="next" HREF="node47.html">
22
<LINK REL="previous" HREF="node41.html">
23
<LINK REL="up" HREF="node32.html">
21
<LINK REL="next" HREF="node56.html">
22
<LINK REL="previous" HREF="node36.html">
23
<LINK REL="up" HREF="node34.html">
24
24
<LINK REL="next" HREF="node44.html">
29
29
<DIV CLASS="navigation"><!--Navigation Panel-->
31
31
HREF="node44.html">
32
32
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
35
35
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
37
37
HREF="node42.html">
38
38
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
41
41
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
43
<B> Next:</B> <A NAME="tex2html769"
44
HREF="node44.html">Database loading</A>
45
<B> Up:</B> <A NAME="tex2html765"
46
HREF="node32.html">LibClamAV</A>
47
<B> Previous:</B> <A NAME="tex2html759"
48
HREF="node42.html">Header file</A>
49
<B> <A NAME="tex2html767"
43
<B> Next:</B> <A NAME="tex2html774"
44
HREF="node44.html">Header file</A>
45
<B> Up:</B> <A NAME="tex2html770"
46
HREF="node34.html">LibClamAV</A>
47
<B> Previous:</B> <A NAME="tex2html764"
48
HREF="node42.html">Others</A>
49
<B> <A NAME="tex2html772"
50
50
HREF="node1.html">Contents</A></B>
53
53
<!--End of Navigation Panel-->
55
<H2><A NAME="SECTION00074000000000000000">
55
<H2><A NAME="SECTION00073000000000000000">
58
Before using libclamav, you should call <code>cl_init()</code> to initialize
59
it. When it's done, you're ready to create a new scan engine by calling
60
<code>cl_engine_new()</code>. To free resources allocated by the engine use
61
<code>cl_engine_free()</code>. Function prototypes:
63
int cl_init(unsigned int options);
64
struct cl_engine *cl_engine_new(void);
65
int cl_engine_free(struct cl_engine *engine);
67
<code>cl_init()</code> and <code>cl_engine_free()</code> return <code>CL_SUCCESS</code>
68
on success or another code on error. <code>cl_engine_new()</code> return
69
a pointer or NULL if there's not enough memory to allocate a new
75
62
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
77
64
<UL CLASS="ChildLinks">
78
<LI><A NAME="tex2html770"
79
HREF="node44.html">Database loading</A>
80
<LI><A NAME="tex2html771"
81
HREF="node45.html">Error handling</A>
82
<LI><A NAME="tex2html772"
83
HREF="node46.html">Engine structure</A>
65
<LI><A NAME="tex2html775"
66
HREF="node44.html">Header file</A>
67
<LI><A NAME="tex2html776"
68
HREF="node45.html">Initialization</A>
69
<LI><A NAME="tex2html777"
70
HREF="node46.html">Database loading</A>
71
<LI><A NAME="tex2html778"
72
HREF="node47.html">Error handling</A>
73
<LI><A NAME="tex2html779"
74
HREF="node48.html">Engine structure</A>
75
<LI><A NAME="tex2html780"
76
HREF="node49.html">Limits</A>
77
<LI><A NAME="tex2html781"
78
HREF="node50.html">Database checks</A>
79
<LI><A NAME="tex2html782"
80
HREF="node51.html">Data scan functions</A>
81
<LI><A NAME="tex2html783"
82
HREF="node52.html">Memory</A>
83
<LI><A NAME="tex2html784"
84
HREF="node53.html">Forking daemons</A>
85
<LI><A NAME="tex2html785"
86
HREF="node54.html">clamav-config</A>
87
<LI><A NAME="tex2html786"
88
HREF="node55.html">Example</A>
85
90
<!--End of Table of Child-Links-->