1 #ifndef _ClientSocket_h
2 #define _ClientSocket_h
6 #define SOCKET_FLAG_DEAD 0x01
7 #define SOCKET_FLAG_CONNECTED 0x02
8 #define SOCKET_FLAG_READY 0x04
9 #define SOCKET_FLAG_PREFERRED 0x08 /* prefered bot to send datas to the IRC World (NOTICE's WHO's etc pp) */
19 char buffer[BUF_SIZ*2]; //we need to store up to 2 full commands at once
20 unsigned int bufferpos;
24 struct UserNode *user;
25 unsigned long traffic_in;
26 unsigned long traffic_out;
27 time_t connection_time;
32 struct ClientSocket *next;
35 struct ClientSocket* create_socket(char *host, int port, char *pass, struct UserNode *user);
36 int connect_socket(struct ClientSocket *client);
37 int close_socket(struct ClientSocket *client);
38 int write_socket(struct ClientSocket *client, char* msg, int len);
39 void socket_loop(int timeout_seconds);
40 void putsock(struct ClientSocket *client, const char *text, ...) PRINTF_LIKE(2, 3);
41 struct ClientSocket* getBots(int flags, struct ClientSocket* last_bot);