diff --git a/src/cw/connlist.c b/src/cw/connlist.c index 0d3d7a8c..3cb3d084 100644 --- a/src/cw/connlist.c +++ b/src/cw/connlist.c @@ -29,6 +29,8 @@ #include #include "conn.h" +#include "connlist.h" + #include "sock.h" diff --git a/src/cw/connlist.h b/src/cw/connlist.h new file mode 100644 index 00000000..9d254715 --- /dev/null +++ b/src/cw/connlist.h @@ -0,0 +1,26 @@ +#ifndef __CONLIST_H +#define __CONLIST_H + + +#include "conn.h" +#include "mavl.h" + +struct connlist { +/* struct conn ** connlist; */ + + struct mavl *t; + int len; + pthread_mutex_t connlist_mutex; +}; + + +struct connlist *connlist_create(int len); +void connlist_lock(struct connlist *cl); +void connlist_unlock(struct connlist *cl); +void conlist_destroy(struct connlist *cl); +struct conn *connlist_get(struct connlist *cl, const struct sockaddr *addr); +struct conn *connlist_add(struct connlist *cl, struct conn *conn); +void connlist_remove(struct connlist *cl, struct conn *conn); +void connlist_destroy(struct connlist *cl); + +#endif