#include "arc_value.h" #ifndef ATTACK_SCORING_H #define ATTACK_SCORING_H enum ATTACK_VECTOR { AV_Network = 0, AV_Adjacent, AV_Local, AV_Physical, AV_Size }; enum ATTACK_COMPLEXITY { AC_Low = 0, AC_Medium, AC_High, AC_Size }; enum PRIVILEGES_REQUIRED { PR_None = 0, PR_Low, PR_High, PR_Size }; enum USER_INTERACTION { UI_None = 0, UI_Required, UI_Size }; enum RUNNING_TIME { RT_Quick = 0, RT_Medium , RT_Long, RT_Guessing, RT_Size }; double attack_vector_score(enum ATTACK_VECTOR a_v); double attack_complexity_score(enum ATTACK_COMPLEXITY a_c); double privileges_required_score(enum PRIVILEGES_REQUIRED p_r); double user_interaction_score(enum USER_INTERACTION u_i); double running_time_score(enum RUNNING_TIME r_t); enum ATTACK_VECTOR str_to_attack_vector(char *a_v_str); enum ATTACK_COMPLEXITY str_to_attack_complexity(char *a_c_str); enum PRIVILEGES_REQUIRED str_to_privileges_required(char *p_r_str); enum USER_INTERACTION str_to_user_interaction(char *u_i_str); enum RUNNING_TIME str_to_running_time(char *r_t_str); double attack_vector_utility(struct arc_value *a_v); double attack_complexity_utility(struct arc_value *a_v); double privileges_required_utility(struct arc_value *a_v); double user_interaction_utility(struct arc_value *a_v); double running_time_utility(struct arc_value *a_v); #endif