void static_view_init(void) { bluenotes_init(); explode_init(); greynotes_init(); lines_init(); rows_init(); scoreboard_init(); targets_init(); register_event("set view", set_main_view); view_focus = 0.0; }
/** * initialize the Portscan Tracker. * * This takes several arguments, all, on the PS_CONFIG structure. * * @param trackerp tracker object to initialize * @param configp well-formed configuration to initialize this object * * @return FLOW_SUCCESS on success */ int flowps_init(PS_TRACKER *trackerp, PS_CONFIG *configp) { int ret; if(!trackerp || !configp) return FLOW_ENULL; /* we should validate this threshold object somewhat */ memcpy(&trackerp->config, configp, sizeof(PS_CONFIG)); ret = scoreboard_init(&trackerp->table_active, /* table */ "Active Talkers", /* description */ TRACKER_ACTIVE, /* position */ trackerp->config.sb_rows_talker, /* node count */ trackerp->config.sb_memcap_talker); /* memcap */ if(ret != FLOW_SUCCESS) { return ret; } ret = scoreboard_init(&trackerp->table_scanner, /* table */ "Portscanners", /* description */ TRACKER_SCANNER, /* position */ trackerp->config.sb_rows_scanner, /* node count */ trackerp->config.sb_memcap_scanner); /* memcap */ if(ret != FLOW_SUCCESS) { scoreboard_destroy(&trackerp->table_active); return ret; } /* setup the unique talkers table */ ret = ut_init(&trackerp->unique_tracker,trackerp->config.ut_rows, trackerp->config.ut_memcap); if(ret != FLOW_SUCCESS) { scoreboard_destroy(&trackerp->table_active); scoreboard_destroy(&trackerp->table_scanner); return ret; } /* the watchnet stuff is optional */ if(flowps_server_stats_enabled(trackerp) == FLOW_SUCCESS) { ret = server_stats_init(&trackerp->server_stats, trackerp->config.server_watchnet_ipv4, trackerp->config.server_rows, trackerp->config.server_memcap); if(ret != FLOW_SUCCESS) { scoreboard_destroy(&trackerp->table_active); scoreboard_destroy(&trackerp->table_scanner); ut_destroy(&trackerp->unique_tracker); return ret; } } s_enabled = 1; return FLOW_SUCCESS; }