21 #ifndef __LIBFRESHCLAM_H 22 #define __LIBFRESHCLAM_H 24 #include "clamav-types.h" 30 #define FC_CONFIG_MSG_DEBUG 0x1 // Enable debug messages. 31 #define FC_CONFIG_MSG_VERBOSE 0x2 // Enable verbose mode. 32 #define FC_CONFIG_MSG_QUIET 0x4 // Only output error messages. 33 #define FC_CONFIG_MSG_NOWARN 0x8 // Don't output warning messages. 34 #define FC_CONFIG_MSG_STDOUT 0x10 // Write to stdout instead of stderr. 35 #define FC_CONFIG_MSG_SHOWPROGRESS 0x20 // Show download progress percentage. 37 #define FC_CONFIG_LOG_VERBOSE 0x1 // Be verbose in log output as well. 38 #define FC_CONFIG_LOG_NOWARN 0x2 // Don't log warning messages. 39 #define FC_CONFIG_LOG_TIME 0x4 // Include timestamp in log messages. 40 #define FC_CONFIG_LOG_ROTATE 0x8 // Rotate logs if they exceed MaxLogSize. 41 #define FC_CONFIG_LOG_SYSLOG 0x10 // Enable Syslog. 65 typedef enum fc_error_tag {
94 const char *fc_strerror(fc_error_t fcerror);
110 fc_error_t fc_initialize(
fc_config *config);
119 void fc_cleanup(
void);
132 fc_error_t fc_prune_database_directory(
134 uint32_t nDatabases);
144 fc_error_t fc_test_database(
145 const char *dbFilename,
146 int bBytecodeEnabled);
160 fc_error_t fc_dns_query_update_info(
161 const char *dnsUpdateInfoServer,
162 char **dnsUpdateInfo,
175 fc_error_t fc_download_url_database(
176 const char *urlDatabase,
189 fc_error_t fc_download_url_databases(
190 char **urlDatabaseList,
191 uint32_t nUrlDatabases,
207 fc_error_t fc_update_database(
208 const char *database,
212 const char *dnsUpdateInfo,
213 int bScriptedUpdates,
230 fc_error_t fc_update_databases(
236 const char *dnsUpdateInfo,
237 int bScriptedUpdates,
256 typedef fc_error_t (*fccb_download_complete)(
const char *dbFilename,
void *context);
262 extern void fc_set_fccb_download_complete(fccb_download_complete callback);
264 #endif // __LIBFRESHCLAM_H uint64_t maxLogSize
Definition: libfreshclam.h:48
uint32_t connectTimeout
Definition: libfreshclam.h:50
const char * databaseDirectory
Definition: libfreshclam.h:61
const char * logFile
Definition: libfreshclam.h:53
const char * localIP
Definition: libfreshclam.h:55
const char * logFacility
Definition: libfreshclam.h:54
const char * proxyServer
Definition: libfreshclam.h:57
const char * proxyUsername
Definition: libfreshclam.h:59
uint32_t msgFlags
Definition: libfreshclam.h:46
const char * userAgent
Definition: libfreshclam.h:56
Definition: libfreshclam.h:45
const char * proxyPassword
Definition: libfreshclam.h:60
uint16_t proxyPort
Definition: libfreshclam.h:58
uint32_t bCompressLocalDatabase
Definition: libfreshclam.h:52
uint32_t requestTimeout
Definition: libfreshclam.h:51
uint32_t logFlags
Definition: libfreshclam.h:47
const char * tempDirectory
Definition: libfreshclam.h:62
uint32_t maxAttempts
Definition: libfreshclam.h:49