modified code to use IOHandler functions instead of own ones
[NeonServV5.git] / src / ClientSocket.h
index b4e7d44c782ea6f7a181f2cdfd8ab7929e279584..38768b19715a154c9e76091c9b2836bb55c4b03a 100644 (file)
 
 #include "main.h"
 
-#define SOCKET_FLAG_DEAD           0x01
 #define SOCKET_FLAG_CONNECTED      0x02
 #define SOCKET_FLAG_READY          0x04
 #define SOCKET_FLAG_PREFERRED      0x08 /* prefered bot to send datas to the IRC World (NOTICE's WHO's etc pp) */
 #define SOCKET_FLAG_USE_QUEUE      0x10
 #define SOCKET_FLAG_RECONNECT      0x20
 #define SOCKET_FLAG_SSL            0x40
-#define SOCKET_FLAG_HAVE_SSL       0x80
-#define SOCKET_FLAG_QUITTED        0x100
+
 #define SOCKET_FLAG_FAST_JUMP      0x200
 #define SOCKET_FLAG_SILENT         0x400
 #define SOCKET_FLAG_CHANGENICK     0x800
 
 struct UserNode;
 struct trigger_cache;
-struct SSLConnection;
+struct IODescriptor;
 
 struct ClientSocket {
-    int sock;
+    struct IODescriptor *iofd;
     unsigned int flags;
-    char buffer[BUF_SIZ*2]; //we need to store up to 2 full commands at once
-    unsigned int bufferpos;
     char *host;
     int port;
     char *bind;
@@ -61,7 +57,6 @@ struct ClientSocket {
     unsigned long traffic_in;
     unsigned long traffic_out;
     time_t connection_time;
-    struct SSLConnection *sslconn;
     
     struct BotQueue *queue;
     
@@ -85,15 +80,13 @@ struct ClientSocket {
 
 #ifndef DND_FUNCTIONS
 /* MODULAR ACCESSIBLE */ struct ClientSocket* create_socket(char *host, int port, char *bindto, char *pass, char *nick, char *ident, char *realname);
-/* MODULAR ACCESSIBLE */ int connect_socket(struct ClientSocket *client);
+/* MODULAR ACCESSIBLE */ void connect_socket(struct ClientSocket *client);
 /* MODULAR ACCESSIBLE */ int close_socket(struct ClientSocket *client);
-/* MODULAR ACCESSIBLE */ int disconnect_socket(struct ClientSocket *client);
-int write_socket_force(struct ClientSocket *client, char* msg, int len);
+/* MODULAR ACCESSIBLE */ int destroy_socket(struct ClientSocket *client);
 /* MODULAR ACCESSIBLE */ int write_socket(struct ClientSocket *client, char* msg, int len);
 #ifdef HAVE_THREADS
 int clientsocket_parseorder_top(unsigned int tid);
 #endif
-int socket_loop(int timeout_seconds);
 /* MODULAR ACCESSIBLE */ void putsock(struct ClientSocket *client, const char *text, ...) PRINTF_LIKE(2, 3);
 /* MODULAR ACCESSIBLE */ struct ClientSocket* getBots(int flags, struct ClientSocket* last_bot);
 void init_sockets();