Mercurial > hg > nnchat
comparison libnnchat.h @ 94:6e47426efb6a
Add preliminary userlist data handling functions.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 07 May 2009 06:14:21 +0300 |
parents | acfc4b4bc180 |
children | 218efd2f0641 |
comparison
equal
deleted
inserted
replaced
93:7f9f6af26a65 | 94:6e47426efb6a |
---|---|
32 typedef struct { | 32 typedef struct { |
33 ssize_t pos, len, size; | 33 ssize_t pos, len, size; |
34 char *data; | 34 char *data; |
35 } nn_editbuf_t; | 35 } nn_editbuf_t; |
36 | 36 |
37 typedef struct { | 37 typedef struct _nn_user_t { |
38 char *name, *encname; | 38 char *name, *encname; |
39 time_t lastspoke, joined; | 39 time_t lastspoke, joined; |
40 struct _nn_user_t *next; | |
40 } nn_user_t; | 41 } nn_user_t; |
42 | |
43 #define NN_NUM_BUCKETS (256) | |
44 | |
45 typedef struct { | |
46 nn_user_t *buckets[NN_NUM_BUCKETS]; | |
47 } nn_userhash_t; | |
41 | 48 |
42 | 49 |
43 #ifdef __WIN32 | 50 #ifdef __WIN32 |
44 const char *hstrerror(int err); | 51 const char *hstrerror(int err); |
45 #endif | 52 #endif |
51 int openConnection(struct in_addr *addr, const int port); | 58 int openConnection(struct in_addr *addr, const int port); |
52 void closeConnection(const int sock); | 59 void closeConnection(const int sock); |
53 BOOL sendToSocket(const int sock, char *buf, const size_t bufLen); | 60 BOOL sendToSocket(const int sock, char *buf, const size_t bufLen); |
54 BOOL sendUserMsg(const int sock, const char *user, const char *fmt, ...); | 61 BOOL sendUserMsg(const int sock, const char *user, const char *fmt, ...); |
55 | 62 |
56 int addUser(nn_user_t **list, char *encname); | 63 int addUserToHash(nn_userhash_t **, char *encname); |
57 int freeUser(nn_user_t *); | 64 void freeUserHash(nn_userhash_t *); |
58 int freeUserList(nn_user_t *); | 65 void freeUserList(nn_user_t *); |
66 nn_user_t * copyUser(nn_user_t *src); | |
67 nn_user_t * findUserEnc(nn_userhash_t *list, char *encname); | |
68 nn_user_t * matchUsersEnc(nn_userhash_t *list, char *encname, int index); | |
59 | 69 |
60 char * encodeStr1(const char *str); | 70 char * encodeStr1(const char *str); |
61 char * decodeStr1(const char *str); | 71 char * decodeStr1(const char *str); |
62 char * encodeStr2(const char *str); | 72 char * encodeStr2(const char *str); |
63 char * decodeStr2(const char *str); | 73 char * decodeStr2(const char *str); |