input_init(&(ivac.input));
/* network init */
- network_init(&(ivac.net));
+ if(network_init(&(ivac.net))==N_ERROR) {
+ printf("[ivac] use 'fuser -n tcp %d' to kill that process",ivac.net.l_port);
+ return ERROR;
+ }
/* add listening port + stdin to (read) event system */
event_math(ivac.net.l_fd,&(ivac.event),READ,ADD);
/* start event system - callbacks used: ivac_event_cb + ivac_regular_cb */
event_start(&(ivac.event),(void *)&ivac,ivac_event_cb,ivac_regular_cb);
+ network_shutdown(&(ivac.net));
+
+ input_shutdown(&(ivac.input));
+
return SUCCESS;
}
receive_info(channel,&(ivac->net));
/* user interaction */
- if(FD_ISSET(0,&(event->rfds))) input_get_char(ivac);
+ if(FD_ISSET(0,&(event->rfds)))
+ input_get_char(&(ivac->input),ivac_display,ivac);
return SUCCESS;
}
return SUCCESS;
}
+
+int ivac_display(t_input *input,void *ptr) {
+
+ t_ivac *ivac;
+
+ ivac=(t_ivac *)ptr;
+
+ if(input->content[input->c_count-1]=='q') ivac->event.status=DISABLED;
+
+ return SUCCESS;
+}