]> git.lizzy.rs Git - dragonnet.git/blob - peer.h
Initial listener implementation
[dragonnet.git] / peer.h
1 #ifndef _DRAGONNET_PEER_H_
2 #define _DRAGONNET_PEER_H_
3
4 #include <pthread.h>
5
6 typedef enum {
7         DRAGONNET_PEER_CREATED,
8         DRAGONNET_PEER_ACTIVE,
9         DRAGONNET_PEER_CLOSED
10 } DragonnetPeerState;
11
12 typedef struct {
13         int sock;
14         struct addrinfo *laddr;
15         struct addrinfo *raddr;
16         DragonnetPeerState state;
17
18         pthread_rwlock_t *mu;
19 } DragonnetPeer;
20
21 DragonnetPeer *dragonnet_connect(char *addr);
22 void dragonnet_peer_close(DragonnetPeer *p);
23 void dragonnet_peer_delete(DragonnetPeer *p);
24
25 #endif