C# ClamAV daemon binding
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.
Clamson.Clamd initial upload Jan 17, 2012
Clamson.Tests Updated test path Jan 18, 2012
Clamson-mono.sln initial upload Jan 17, 2012
Clamson.sln initial upload Jan 17, 2012
README.md Fixed incorrect fencing on usage in README.md Jan 18, 2012



Clamson provides a simple C# API to the ClamAV daemon (clamd) via TCP.


//Instantiating the Client
//Server and Port
var clamd = new ClamdClient(“some-server”, 3310);
//Server, Port & Chunk Size
var clamd = new ClamdClient(“some-server”, 3310, 1024);

//Ping Command
var result = clamd.Ping();

//INSTREAM Command
MemoryStream memStream = new MemoryStream(eicar_bytes);
var result = clamd.Instream(memStream);
//VERSION Command           
var result = clamd.Version();
//RELOAD Command
var result = clamd.Reload();
//STATS Command       
var result = clamd.Stats();

//SCAN Command
var result = clamd.Scan(fileOrDirectoryName);
//CONTSCAN Command
var result = clamd.ContScan(fileOrDirectoryName);        
var result = clamd.MultiScan(fileOrDirectoryName);

//SHUTDOWN Command

Usage Non-Blocking - Wrap in a Task (Clamson was written at warp speed! Iterate/Evolve)

Required Runtime

.NET 2.0+ or Mono-2.10.8


Completion Ports/IASync Result (see Non-Blocking above)