ADAPT / include / active_attack.h
active_attack.h
Raw
#include <stddef.h>
#include <stdbool.h>

#include "attack_repertoire.h"

#ifndef ACTIVE_ATTACK_H
#define ACTIVE_ATTACK_H

enum ACTIVE_ATTACK_STEP_STATE {AAS_WAIT = 0 , AAS_RUN, AAS_DONE};


//Looks like this doesn't need a lock. Well maybe it does, recheck after implementing reporting
struct active_attack
{
    char *target;
    struct attack_pattern *attack;
    size_t cur_step;
    enum ACTIVE_ATTACK_STEP_STATE cur_step_state;
    bool cur_res;
};
void active_attack_init(struct active_attack *a_a, struct attack_pattern *a_p, char *target);
void active_attack_cleanup(struct active_attack *a_a);
void active_attack_next_step(struct active_attack *a_a);
bool active_attack_done(struct active_attack *a_a);


#define PENTEST_STATE_INIT_NUM_PAST_ATTACKS 8

struct past_attack
{
    char *a_p;
    char *target;
};

void past_attack_init(struct past_attack *p_a, char *a_p, char *target);
void past_attack_cleanup(struct past_attack *p_a);

#endif