Clam Antivirus Client Library
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Clam Antivirus Client Library
Copyright (C) 2009 Alaska Communications Systems Group, Inc


This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
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.


Table of Contents

1 About
  1.1 Supported systems
2 Obtaining Source Code
3 TODO List
4 Submitting Patches
  5.1 Commits
  5.2 Developer's Certificate of Origin
  5.3 Patches
5 Additional Resources

1 About

Clam AntiVirus Client Library provides a simple API to the ClamAV daemon.
ClamAVC does not require ClamAV to be installed. ClamAVC communicates with
clamd using clamd's documented protocol using either TCP or a local Unix
domain socket.

1.1 Supported Systems

ClamAVC has been tested on the following platforms:

 * OS X 10.5.8
 * FreeBSD 6.2
 * Slackware 12.1.0

2 Obtaining Source Code

Downloading source code from Git requires the following software:

 * Git >= 1.6.0
 * GNU Autoconf >= 2.61
 * GNU Automake >= 1.10
 * GNU Libtool >= 1.5.6
 * GNU Make >= 3.80

Downloading source code:

 $ git clone git://

Preparing the source for compiling:

 $ cd clamavc
 $ libtoolize -c
 $ aclocal
 $ autoheader
 $ autoconf
 $ automake -c -a

2. TODO List

 * write man pages for the functions.
 * document the API in texinfo.
 * let bake in production setting
 * create release package.
 * submit to ClamAV as contribware.

4. Submitting Patches

Submit patches to Please use the same
guidelines for submitting patches to the Git project:;h=76fc8;hb=HEAD

A copy of the short version is included below.

5.1 Commits

 * make commits of logical units
 * check for unnecessary whitespace with "git diff --check" before committing
 * do not check in commented out code or unneeded files
 * the first line of the commit message should be a short and should skip the
   full stop
 * the body should provide a meaningful commit message, which:
   - uses the imperative, present tense: "change", not "changed" or "changes".
   - includes motivation for the change, and contrasts its implementation
     with previous behaviour
 * if you want your work included in git.git, add a "Signed-off-by: Your Name
   <>" line to the commit message (or just use the option "-s"
   when committing) to confirm that you agree to the Developer's Certificate
   of Origin
 * make sure that you have tests for the bug you are fixing
 * make sure that the test suite passes after your commit

5.2 Developer's Certificate of Origin

        Developer's Certificate of Origin 1.1

        By making a contribution to this project, I certify that:

        (a) The contribution was created in whole or in part by me and I
            have the right to submit it under the open source license
            indicated in the file; or

        (b) The contribution is based upon previous work that, to the best
            of my knowledge, is covered under an appropriate open source
            license and I have the right under that license to submit that
            work with modifications, whether created in whole or in part
            by me, under the same open source license (unless I am
            permitted to submit under a different license), as indicated
            in the file; or

        (c) The contribution was provided directly to me by some other
            person who certified (a), (b) or (c) and I have not modified

        (d) I understand and agree that this project and the contribution
            are public and that a record of the contribution (including all
            personal information I submit with it, including my sign-off) is
            maintained indefinitely and may be redistributed consistent with
            this project or the open source license(s) involved.

5.3 Patches

 * use "git format-patch -M" to create the patch
 * do not PGP sign your patch
 * do not attach your patch, but read in the mail body, unless you cannot
   teach your mailer to leave the formatting of the patch alone.
 * be careful doing cut & paste into your mailer, not to corrupt whitespaces.
 * provide additional information (which is unsuitable for the commit message)
   between the "---" and the diffstat
 * if you change, add, or remove a command line option or make some other user
   interface change, the associated documentation should be updated as well.
 * if your name is not writable in ASCII, make sure that you send off a
   message in the correct encoding.
 * send the patch to the list ( and the
   maintainer ( if (and only if) the patch is ready for
   inclusion. If you use git-send-email(1), please test it first by sending
   email to yourself.

5. Additional Resources

ClamAV Client Library source code:

ClamAV Client Library Developers' List:


Clamd documentation:

Potential Sourceforge page: