X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2FIRCClient.h;h=ec254f63c5841bda2fbbd24033b426f64946fd6d;hb=HEAD;hp=a6b2f4c5a2a584e4f7a36969965a982b4241be5a;hpb=8889b0aee1dc430e735e2a0df462fd0aeee63847;p=TransparentIRC.git diff --git a/src/IRCClient.h b/src/IRCClient.h index a6b2f4c..ec254f6 100644 --- a/src/IRCClient.h +++ b/src/IRCClient.h @@ -23,18 +23,52 @@ struct IODescriptor; struct UserSession; struct UserLogin; +struct IRCChannelMember { + char *nick; + int modes; + + struct IRCChannelMember *next, *prev; +}; + +struct IRCChannel { + char *name; + struct IRCChannelMember *userlist; + int synchronizing_userlist : 1; + + struct IRCChannel *next, *prev; +}; + +struct IRCUser { + char *nick; + char *ident; + char *host; +}; + struct IRCClient { struct IODescriptor *iofd; - struct UserSession *session; int auth_confirmed : 1; + int fully_connected : 1; + struct IRCLine *recover_header; + struct IRCChannel *channel; + + char *network_prefixes; + char *network_prefixes_char; + char *network_chanmodes; + char *network_chantypes; struct IRCClient *next, *prev; }; +struct IRCLine { + char *line; + struct IRCLine *next; +}; + void ircclient_initialize(struct UserSession *session, struct UserLogin *login); void ircclient_close(struct IRCClient *client); void ircclient_send(struct IRCClient *client, char *line); +void ircclient_recover_session(struct UserSession *session); #endif