CLAMAV_PUBLIC {
  global:
    cl_cvdfree;
    cl_cvdhead;
    cl_cvdparse;
    cl_cvdverify;
    cl_debug;
    cl_init;
    cl_engine_new;
    cl_engine_set_num;
    cl_engine_get_num;
    cl_engine_set_str;
    cl_engine_get_str;
    cl_engine_set_clcb_hash;
    cl_set_clcb_msg;
    cl_engine_set_clcb_pre_scan;
    cl_engine_set_clcb_post_scan;
    cl_engine_set_clcb_sigload;
    cl_engine_settings_copy;
    cl_engine_settings_apply;
    cl_engine_settings_free;
    cl_engine_compile;
    cl_engine_addref;
    cl_engine_free;
    cl_load;
    cl_retdbdir;
    cl_retflevel;
    cl_retver;
    cl_scandesc;
    cl_scandesc_callback;
    cl_scanfile;
    cl_scanfile_callback;
    cl_statchkdir;
    cl_statfree;
    cl_statinidir;
    cl_countsigs;
    cl_strerror;
};
CLAMAV_PRIVATE {
  global:
    cli_gettmpdir;
    cli_strtok;
    cli_strtokenize;
    cli_cvdunpack;
    cli_regcomp;
    cli_regexec;
    cli_regfree;
    cli_strrcpy;
    cli_strbcasestr;
    cli_isnumber;
    cli_gentemp;
    cli_gentempfd;
    cli_rmdirs;
    cli_chomp;
    cli_rndnum;

    cli_calloc;
    cli_ole2_extract;
    cli_errmsg;
    cli_debug_flag;
    cli_dbgmsg_internal;
    cli_vba_readdir;
    cli_vba_inflate;
    cli_ppt_vba_read;
    cli_wm_readdir;
    cli_wm_decrypt_macro;
    cli_readn;
    cli_str2hex;
    cli_hashfile;
    cli_hashstream;
    html_normalise_map;
    cli_utf16toascii;

    cli_malloc;
    cli_memstr;
    cli_strdup;
    cli_realloc;
    cli_ctime;
    tableCreate;
    tableDestroy;
    tableRemove;
    tableFind;
    tableIterate;
    tableUpdate;
    tableInsert;
    cli_warnmsg;
    cli_strtokbuf;
    cli_js_init;
    cli_js_process_buffer;
    cli_js_parse_done;
    cli_js_destroy;
    cli_js_output;
    cli_unescape;
    cli_textbuffer_append_normalize;
    cli_dconf_init;
    cli_regex2suffix;
    html_normalise_mem;
    init_regex_list;
    is_regex_ok;
    regex_list_done;
    regex_list_add_pattern;
    cli_build_regex_list;
    regex_list_match;
    cli_hashset_destroy;
    phishing_init;
    init_domainlist;
    init_whitelist;
    phishing_done;
    blobCreate;
    blobAddData;
    phishingScan;
    blobDestroy;
    load_regex_matcher;
    html_tag_arg_free;
    disasmbuf;
    uniq_init;
    uniq_free;
    uniq_add;
    uniq_get;
    cli_hex2str;
    cli_ac_init;
    cli_ac_initdata;
    cli_ac_buildtrie;
    cli_ac_scanbuff;
    cli_ac_freedata;
    cli_ac_free;
    cli_ac_chklsig;
    cli_parse_add;
    cli_bm_init;
    cli_bm_scanbuff;
    cli_bm_free;
    cli_initroots;
    cli_scanbuff;
    cli_fmap_scandesc;
    html_screnc_decode;
    mpool_create;
    mpool_calloc;
    mpool_destroy;
    mpool_free;
    mpool_getstats;
    mp_init;
    mp_read_radix;
    mp_clear;
    cli_versig;
    cli_versig2;
    cli_filecopy;
    cli_ftw;
    cli_unlink;
    cli_writen;
    sha256_init;
    sha256_update;
    sha256_final;
    cli_url_canon;
    cli_strerror;
    decodeLine;
    messageCreate;
    messageDestroy;
    base64Flush;
    have_rar;
    have_clamjit;
    cli_bytecode_load;
    cli_bytecode_prepare2;
    cli_bytecode_run;
    cli_bytecode_destroy;
    cli_bytecode_context_alloc;
    cli_bytecode_context_destroy;
    cli_bytecode_context_setfuncid;
    cli_bytecode_context_setparam_int;
    cli_bytecode_context_setparam_ptr;
    cli_bytecode_context_setfile;
    cli_bytecode_context_getresult_int;
    cli_bytecode_context_clear;
    cli_bytecode_init;
    cli_bytecode_done;
    cli_bytecode_debug;
    cli_hex2ui;
    fmap;
    funmap;
    cli_bytecode_context_set_trace;
    cli_bytecode_debug_printsrc;
    cli_bytecode_printversion;
    cli_bytecode_describe;
    cli_printcxxver;
    cli_detect_environment;
    cli_disasm_one;
  local:
    *;
};
