OpenVAS Scanner 23.23.1
pluginscheduler.c File Reference

Tells openvas which plugin should be executed next. More...

#include "pluginscheduler.h"
#include "../misc/nvt_categories.h"
#include "../misc/plugutils.h"
#include "pluginlaunch.h"
#include "pluginload.h"
#include <glib.h>
#include <gvm/base/prefs.h>
#include <gvm/util/nvticache.h>
#include <malloc.h>
#include <string.h>

Data Structures

struct  plugins_scheduler

Macros

#define G_LOG_DOMAIN   "sd main"
 GLib log domain.

Functions

static int plugin_add (plugins_scheduler_t sched, GHashTable *oids_table, GHashTable *names_table, int autoload, char *oid)
static void plugins_scheduler_fill_deps (plugins_scheduler_t sched, GHashTable *oids_table)
static int plugins_scheduler_enable (plugins_scheduler_t sched, const char *oid_list, int autoload)
static int find_plugin_in_deps (GHashTable *checked, struct scheduler_plugin **array, int pos)
static int check_dependency_cycles (plugins_scheduler_t sched)
plugins_scheduler_t plugins_scheduler_init (const char *plugins_list, int autoload, int *error)
int plugins_scheduler_count_active (plugins_scheduler_t sched)
static struct scheduler_pluginplugins_next_unrun (GSList *plugins)
static struct scheduler_pluginget_next_in_range (plugins_scheduler_t h, int start, int end)
static void scheduler_phase_cleanup (plugins_scheduler_t sched, int start, int end)
struct scheduler_pluginplugins_scheduler_next (plugins_scheduler_t h)
void plugins_scheduler_stop (plugins_scheduler_t sched)
static void scheduler_plugin_free (void *data)
void plugins_scheduler_free (plugins_scheduler_t sched)

Detailed Description

Tells openvas which plugin should be executed next.

Macro Definition Documentation

◆ G_LOG_DOMAIN

#define G_LOG_DOMAIN   "sd main"

GLib log domain.

Function Documentation

◆ check_dependency_cycles()

int check_dependency_cycles ( plugins_scheduler_t sched)
static

◆ find_plugin_in_deps()

int find_plugin_in_deps ( GHashTable * checked,
struct scheduler_plugin ** array,
int pos )
static

◆ get_next_in_range()

struct scheduler_plugin * get_next_in_range ( plugins_scheduler_t h,
int start,
int end )
static

◆ plugin_add()

int plugin_add ( plugins_scheduler_t sched,
GHashTable * oids_table,
GHashTable * names_table,
int autoload,
char * oid )
static

◆ plugins_next_unrun()

struct scheduler_plugin * plugins_next_unrun ( GSList * plugins)
static

◆ plugins_scheduler_count_active()

int plugins_scheduler_count_active ( plugins_scheduler_t sched)

◆ plugins_scheduler_enable()

int plugins_scheduler_enable ( plugins_scheduler_t sched,
const char * oid_list,
int autoload )
static

◆ plugins_scheduler_fill_deps()

void plugins_scheduler_fill_deps ( plugins_scheduler_t sched,
GHashTable * oids_table )
static

◆ plugins_scheduler_free()

void plugins_scheduler_free ( plugins_scheduler_t sched)

◆ plugins_scheduler_init()

plugins_scheduler_t plugins_scheduler_init ( const char * plugins_list,
int autoload,
int * error )

◆ plugins_scheduler_next()

struct scheduler_plugin * plugins_scheduler_next ( plugins_scheduler_t h)

◆ plugins_scheduler_stop()

void plugins_scheduler_stop ( plugins_scheduler_t sched)

◆ scheduler_phase_cleanup()

void scheduler_phase_cleanup ( plugins_scheduler_t sched,
int start,
int end )
static

◆ scheduler_plugin_free()

void scheduler_plugin_free ( void * data)
static