the paraslash-0.4.9 release tarball
[paraslash.git] / client.h
index 667607e23cf554e7598006d8f0d19268afe6c11d..f2d9ecb14c28041bbd7fbbd1dabd3d9a5472ca19 100644 (file)
--- a/client.h
+++ b/client.h
@@ -6,8 +6,6 @@
 
 /** \file client.h Common client functions and exported symbols from client_common.c. */
 
-#include <openssl/rc4.h>
-
 /** The different states of a connection from the view of the client. */
 enum {
        /** TCP connection is established. */
@@ -32,8 +30,8 @@ enum {
 struct client_task {
        /** The state of the connection. */
        int status;
-       /** The file descriptor and the rc4 keys. */
-       struct rc4_context rc4c;
+       /** The file descriptor and the session keys. */
+       struct stream_cipher_context scc;
        /** The configuration (including the command). */
        struct client_args_info conf;
        /** The config file for client options. */
@@ -44,9 +42,16 @@ struct client_task {
        char *user;
        /** The client task structure. */
        struct task task;
+       /** The buffer tree node of the client task. */
        struct btr_node *btrn;
 };
 
+void client_disconnect(struct client_task *ct);
 void client_close(struct client_task *ct);
+int client_parse_config(int argc, char *argv[], struct client_task **ct_ptr,
+               int *loglevel);
+int client_connect(struct client_task *ct, struct sched *s,
+               struct btr_node *parent, struct btr_node *child);
 int client_open(int argc, char *argv[], struct client_task **ct_ptr,
-               int *loglevel, struct btr_node *parent, struct btr_node *child);
+               int *loglevel, struct btr_node *parent, struct btr_node *child,
+               struct sched *sched);