static void process_job_finalize(zbx_vector_uint64_t *del_jobs, zbx_vector_discoverer_drule_error_t *drule_errors,
#include "zbxdiscoverer.h"
#include "zbxcacheconfig.h"
#include "zbxdiscovery.h"
#include "zbxexpression.h"
#include "zbx_rtc_constants.h"
#include "discoverer_queue.h"
#include "discoverer_job.h"
#include "discoverer_async.h"
#include "zbx_discoverer_constants.h"
#include "discoverer_taskprep.h"
#include "discoverer_int.h"
#include "zbxtimekeeper.h"
#include "zbxipcservice.h"
static ZBX_THREAD_LOCAL int log_worker_id;
static zbx_get_progname_f zbx_get_progname_cb = NULL;
static zbx_get_program_type_f zbx_get_program_type_cb = NULL;
ZBX_PTR_VECTOR_IMPL(discoverer_services_ptr, zbx_discoverer_dservice_t*)
ZBX_PTR_VECTOR_IMPL(discoverer_results_ptr, zbx_discoverer_results_t*)
ZBX_PTR_VECTOR_IMPL(discoverer_jobs_ptr, zbx_discoverer_job_t*)
#define ZBX_DISCOVERER_STARTUP_TIMEOUT 30
static zbx_discoverer_manager_t dmanager;
ZBX_VECTOR_IMPL(portrange, zbx_range_t)
ZBX_PTR_VECTOR_IMPL(ds_dcheck_ptr, zbx_ds_dcheck_t *)
ZBX_PTR_VECTOR_IMPL(discoverer_drule_error, zbx_discoverer_drule_error_t)
void zbx_discoverer_drule_error_free(zbx_discoverer_drule_error_t value)
static zbx_hash_t discoverer_check_count_hash(const void *data)
const zbx_discoverer_check_count_t *count = (const zbx_discoverer_check_count_t *)data;
hash = ZBX_DEFAULT_UINT64_HASH_FUNC(&count->druleid);
hash = ZBX_DEFAULT_STRING_HASH_ALGO(count->ip, strlen(count->ip), hash);
static int discoverer_check_count_compare(const void *d1, const void *d2)
const zbx_discoverer_check_count_t *count1 = (const zbx_discoverer_check_count_t *)d1;
const zbx_discoverer_check_count_t *count2 = (const zbx_discoverer_check_count_t *)d2;