Declare client_t::channel as struct channel for better type safety.
[umurmur.git] / src / client.h
index f403945c8a4daf87729d5345188e7fac333e933e..f5346bf8b68d858d220fcdb2bd539fd7db22327b 100644 (file)
@@ -59,6 +59,8 @@
 
 #define IS_AUTH(_a_) ((_a_)->authenticated)
 
+struct channel;
+
 typedef struct {
        int tcpfd;
        SSL_handle_t *ssl;
@@ -66,10 +68,8 @@ typedef struct {
        bool_t shutdown_wait;
        cryptState_t cryptState;
        bool_t readBlockedOnWrite, writeBlockedOnRead;
-
        struct sockaddr_storage remote_tcp;
        struct sockaddr_storage remote_udp;
-  char addressString[INET6_ADDRSTRLEN];
        uint8_t rxbuf[BUFSIZE], txbuf[BUFSIZE];
        uint32_t rxcount, msgsize, drainleft, txcount, txsize;
        int sessionId;
@@ -85,7 +85,7 @@ typedef struct {
        struct dlist node;
        struct dlist txMsgQueue;
        int txQueueCount;
-       void *channel; /* Ugly... */
+       struct channel *channel;
        char *context;
        struct dlist chan_node;
        struct dlist voicetargets;
@@ -129,5 +129,8 @@ void Client_codec_add(client_t *client, int codec);
 void Client_codec_free(client_t *client);
 codec_t *Client_codec_iterate(client_t *client, codec_t **codec_itr);
 void Client_textmessage(client_t *client, char *text);
+bool_t Client_token_match(client_t *client, char const *str);
+void Client_token_free(client_t *client);
+void Client_token_add(client_t *client, char *token_string);
 
 #endif