ADAPT / include / scan_repertoire.h
scan_repertoire.h
Raw
#include <stddef.h>
#include "tool_plugin.h"
#include "scan_scoring.h"
#ifndef SCAN_REPERTOIRE_H
#define SCAN_REPERTOIRE_H

struct scan
{
    char name[64];
    char MATTACK[12];
    cap_execute run;
    cap_guard guard;

	//stats
	enum SCAN_RANGE s_r;
	enum SCAN_TARGETS s_t;
	enum SCAN_DURATION s_d;
	enum SCAN_COMPLEXITY s_c;
	
};

void scan_init(struct scan *s, char *name, char *MATTACK, cap_execute run, cap_guard guard,
			   enum SCAN_RANGE s_r, enum SCAN_TARGETS s_t,
			   enum SCAN_DURATION s_d, enum SCAN_COMPLEXITY s_c);
void scan_print(struct scan *s);


#define SCAN_REPERTOIRE_INIT_NUM_SCANS 16

struct scan_repertoire
{
    struct scan *scans;
    size_t num_scans;
    size_t max_scans;
};




void scan_repertoire_init(struct scan_repertoire *s_r);
void scan_repertoire_destroy(struct scan_repertoire *s_r);
void scan_repertoire_add_scan(struct scan_repertoire *s_r, struct scan *s);
void scan_repertoire_print(struct scan_repertoire *s_r);


struct scan *scan_repertoire_get_scan(struct scan_repertoire *s_r, char *scan);


#endif