added SSL backend for IOMultiplexer
[TransparentIRC.git] / src / IRCClient.h
index a6b2f4c5a2a584e4f7a36969965a982b4241be5a..ec254f63c5841bda2fbbd24033b426f64946fd6d 100644 (file)
@@ -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