#include "../include/onbsd.h" #include #define PORT 3000 #define DEBUG void ev_handler(Conn *c, int events, void *ptr){ (void)ptr; switch(events){ case EV_POLL: if(c->is_listening){ fprintf(stdout,"EV_POLL - Listening for connections on %s:%hu", inet_ntoa(c->loc.sin_addr), ntohs(c->loc.sin_port)); } if(c->is_accepted){ fprintf(stdout,"EV_POLL - Remote connection %s:%hu", inet_ntoa(c->rem.sin_addr), ntohs(c->rem.sin_port)); } if(c->is_client){ fprintf(stdout,"EV_POLL - Local connection %s:%hu", inet_ntoa(c->loc.sin_addr), ntohs(c->loc.sin_port)); } break; case EV_OPEN: if(c->is_listening){ fprintf(stdout,"EV_OPEN - Listening for connections on %s:%hu", inet_ntoa(c->loc.sin_addr), ntohs(c->loc.sin_port)); } if(c->is_accepted){ fprintf(stdout,"EV_OPEN - Opening connection on %s:%hu from %s:%hu", inet_ntoa(c->loc.sin_addr), ntohs(c->loc.sin_port), inet_ntoa(c->rem.sin_addr), ntohs(c->rem.sin_port)); } if(c->is_client){ fprintf(stdout,"EV_OPEN - Opening connection on %s:%hu from %s:%hu", inet_ntoa(c->loc.sin_addr), ntohs(c->loc.sin_port), inet_ntoa(c->rem.sin_addr), ntohs(c->rem.sin_port)); } break; case EV_READ: fprintf(stdout,"EV_READ - Reading connection %s:%hu from %s:%hu", inet_ntoa(c->loc.sin_addr), ntohs(c->loc.sin_port), inet_ntoa(c->rem.sin_addr), ntohs(c->rem.sin_port)); break; case EV_CLOSE: fprintf(stdout,"EV_CLOSE - Closing connections on %s:%hu from %s:%hu", inet_ntoa(c->loc.sin_addr), ntohs(c->loc.sin_port), inet_ntoa(c->rem.sin_addr), ntohs(c->rem.sin_port)); break; default: break; } fprintf(stdout,"\n"); fflush(stdout); } int main(void){ Mgr c; init_mgr(&c); mgr_connect(&c,ev_handler,NULL); for(;;){ mgr_poll(&c,3000); } return 0; }