X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=client.h;h=d4eae31a51a82e8b42b9df096599c6ce957c8981;hp=5fc336827f4ba187d7b6171a4daeb057806d865d;hb=60ef885705932a682097ad2b9f2379282d814e79;hpb=dd462c7e1b61864d6da01a877ced78dab72e2244 diff --git a/client.h b/client.h index 5fc33682..d4eae31a 100644 --- a/client.h +++ b/client.h @@ -1,74 +1,52 @@ /* - * Copyright (C) 1997-2009 Andre Noll + * Copyright (C) 1997-2010 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ -/** \file client.h common client functions and exported symbols from client_common.c */ +/** \file client.h Common client functions and exported symbols from client_common.c. */ #include -/** - * the different states of a connection from the view of the client - */ +/** The different states of a connection from the view of the client. */ enum { - /** tcp connection is established */ + /** TCP connection is established. */ CL_CONNECTED, - /** server sends the welcome message */ + /** Server sends the welcome message. */ CL_RECEIVED_WELCOME, - /** client sends the authentification request */ + /** Client sends the authentification request. */ CL_SENT_AUTH, - /** server sends a challenge */ - CL_RECEIVED_CHALLENGE, - /** clientd solves the challenge and sends the result */ + /** Client solves the challenge and sends the result. */ CL_SENT_CH_RESPONSE, - /** server accepts this authentication */ + /** Server accepts this authentication. */ CL_RECEIVED_PROCEED, - /** client sends the command */ + /** Client sends the command. */ CL_SENT_COMMAND, - /** server expects data */ + /** Server expects data. */ CL_SENDING, - /** client expects data */ + /** Client expects data. */ CL_RECEIVING, }; -/** size of the receiving buffer */ -#define CLIENT_BUFSIZE 8192 - -/** - * data specific to a client task - */ +/** Data specific to a client task. */ struct client_task { - /** the state of the connection */ + /** The state of the connection. */ int status; /** The file descriptor and the rc4 keys. */ struct rc4_context rc4c; - /** the configuration (including the command) */ + /** The configuration (including the command). */ struct client_args_info conf; - /** the config file for client options */ + /** The config file for client options. */ char *config_file; - /** the RSA private key */ + /** The RSA private key. */ char *key_file; - /** paraslash user name */ + /** Paraslash user name. */ char *user; - /** the client task structure */ + /** The client task structure. */ struct task task; - /** the buffer used for handshake and receiving */ - char *buf; - /** number of bytes loaded in \p buf */ - size_t loaded; - /** non-zero if the pre_select hook added \p fd to the read fd set */ - int check_r; - /** non-zero if the pre_select hook added \p fd to the write fd set */ - int check_w; - /** pointer to the data to be sent to para_server */ - char *inbuf; - /** number of bytes loaded in \p inbuf */ - size_t *in_loaded; - /** Non-zero if input task encountered an eof or an error condition. */ - int *in_error; + struct btr_node *btrn; }; void client_close(struct client_task *ct); -int client_open(int argc, char *argv[], struct client_task **ct, - int *loglevel); +int client_open(int argc, char *argv[], struct client_task **ct_ptr, + int *loglevel, struct btr_node *parent, struct btr_node *child);