-struct ClientSocket* create_socket(char *host, int port, char *pass, struct UserNode *user);
-int connect_socket(struct ClientSocket *client);
-int close_socket(struct ClientSocket *client);
-int write_socket(struct ClientSocket *client, char* msg, int len);
-void socket_loop(int timeout_seconds);
-void putsock(struct ClientSocket *client, const char *text, ...) PRINTF_LIKE(2, 3);
-struct ClientSocket* getBots(int flags, struct ClientSocket* last_bot);
+#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 */ 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 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();