Пример #1
0
void qspn_init(u_char levels)
{
	/* register the qspn/tracer's ops in the pkt_op_table */
	add_pkt_op(TRACER_PKT, 	       SKT_TCP, ntk_tcp_port, tracer_pkt_recv);
	add_pkt_op(TRACER_PKT_CONNECT, SKT_TCP, ntk_tcp_port, tracer_pkt_recv);
	add_pkt_op(QSPN_CLOSE, SKT_TCP, ntk_tcp_port, qspn_close);
	add_pkt_op(QSPN_OPEN,  SKT_TCP, ntk_tcp_port, qspn_open);

	/* 
	 * Alloc the qspn stuff 
	 */
	
	qspn_b=xmalloc(sizeof(struct qspn_buffer *)*levels);
	qspn_send_mutex=xmalloc(sizeof(int)*levels);
	me.cur_qspn_id=xmalloc(sizeof(int)*levels);
	me.cur_qspn_time=xmalloc(sizeof(struct timeval)*levels);

	qspn_reset(levels);
}
Пример #2
0
void
first_init_radar(void)
{
    max_radar_wait = MAX_RADAR_WAIT;

    pthread_attr_init(&radar_qspn_send_t_attr);
    pthread_attr_setdetachstate(&radar_qspn_send_t_attr,
                                PTHREAD_CREATE_DETACHED);

    /* register the radar's ops in the pkt_op_table */
    add_pkt_op(ECHO_ME, SKT_BCAST, ntk_udp_radar_port, radard);
    add_pkt_op(ECHO_REPLY, SKT_UDP, ntk_udp_radar_port, radar_recv_reply);

    rlist = (struct rnode_list *) clist_init(&rlist_counter);
    alwd_rnodes =
        (struct allowed_rnode *) clist_init(&alwd_rnodes_counter);

    radar_daemon_ctl = 0;
    init_radar();
}