1 #ifndef _DRAGONNET_LISTEN_H_
2 #define _DRAGONNET_LISTEN_H_
4 #include <dragonnet/peer.h>
8 DRAGONNET_LISTENER_CREATED,
9 DRAGONNET_LISTENER_ACTIVE,
10 DRAGONNET_LISTENER_CLOSED
11 } DragonnetListenerState;
16 DragonnetListenerState state;
17 pthread_t accept_thread;
19 void (*on_connect)(DragonnetPeer *);
20 void (**on_recv_type)(DragonnetPeer *, void *);
25 DragonnetListener *dragonnet_listener_new(char *addr,
26 void (*on_connect)(DragonnetPeer *p));
27 void dragonnet_listener_set_recv_hook(DragonnetListener *l, u16 type_id,
28 void (*on_recv)(struct dragonnet_peer *, void *));
29 void dragonnet_listener_run(DragonnetListener *l);
30 void dragonnet_listener_close(DragonnetListener *l);
31 void dragonnet_listener_delete(DragonnetListener *l);