diff options
author | June McEnroe <june@causal.agency> | 2020-11-14 11:24:55 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-11-14 11:24:55 -0500 |
commit | 7229eee4b507ab14f7553a14cba4f009a716bcde (patch) | |
tree | 8e0aaf0833a58e0e50e19e8260d08cb4676b7a15 /bounce.h | |
parent | Wait for POLLIN to do client tls_handshake (diff) | |
download | pounce-7229eee4b507ab14f7553a14cba4f009a716bcde.tar.gz pounce-7229eee4b507ab14f7553a14cba4f009a716bcde.zip |
Make struct Client public
Diffstat (limited to '')
-rw-r--r-- | bounce.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/bounce.h b/bounce.h index 6b376ae..a6ad31f 100644 --- a/bounce.h +++ b/bounce.h @@ -184,12 +184,28 @@ void serverEnqueue(const char *format, ...) __attribute__((format(printf, 1, 2))); void serverDequeue(void); +enum Need { + BIT(NeedHandshake), + BIT(NeedNick), + BIT(NeedUser), + BIT(NeedPass), + BIT(NeedCapEnd), +}; +struct Client { + bool error; + struct tls *tls; + enum Need need; + enum Cap caps; + size_t consumer; + size_t setPos; + char buf[MessageCap]; + size_t len; +}; extern enum Cap clientCaps; extern char *clientPass; extern char *clientAway; struct Client *clientAlloc(struct tls *tls); void clientFree(struct Client *client); -bool clientError(const struct Client *client); void clientRecv(struct Client *client); void clientSend(struct Client *client, const char *ptr, size_t len); void clientFormat(struct Client *client, const char *format, ...) |