OpenVAS Scanner  6.0.1
Data Structures | Macros | Functions
pluginscheduler.c File Reference

Tells openvassd 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. More...
 

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)
 
int find_plugin_in_deps (GHashTable *checked, struct scheduler_plugin **array, int pos)
 
int check_dependency_cycles (plugins_scheduler_t sched)
 
plugins_scheduler_t plugins_scheduler_init (const char *plugins_list, int autoload, int only_network)
 
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)
 
void scheduler_plugin_free (void *data)
 
void plugins_scheduler_free (plugins_scheduler_t sched)
 

Detailed Description

Tells openvassd 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)

◆ find_plugin_in_deps()

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

◆ get_next_in_range()

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

◆ plugin_add()

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

◆ plugins_next_unrun()

static 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()

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

◆ plugins_scheduler_fill_deps()

static 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  only_network 
)

◆ 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()

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

◆ scheduler_plugin_free()

void scheduler_plugin_free ( void *  data)