extern char *mode_to_string PROTO((mode_t));
extern int change_mode PROTO((char *, char *, int));
extern int gzip_level;
extern int file_gzip_level;
#if defined (CLIENT_SUPPORT) || defined (SERVER_SUPPORT)
extern int cvsencrypt;
extern int cvsauthenticate;
#ifdef __STDC__
struct buffer;
#endif
# ifdef ENCRYPTION
# ifdef HAVE_KERBEROS
extern struct buffer *krb_encrypt_buffer_initialize ();
# endif
# ifdef HAVE_GSSAPI
extern int cvs_gssapi_encrypt;
# endif
# endif
# ifdef HAVE_GSSAPI
extern struct buffer *cvs_gssapi_wrap_buffer_initialize ();
# endif
#endif
#ifdef CLIENT_SUPPORT
extern int server_started;
extern int client_prune_dirs;
# ifdef AUTH_CLIENT_SUPPORT
extern int use_authenticating_server;
# endif
# if defined (AUTH_CLIENT_SUPPORT) || defined (HAVE_GSSAPI)
void connect_to_pserver PROTO ((cvsroot_t *,
struct buffer **,
struct buffer **,
int, int ));
# ifndef CVS_AUTH_PORT
# define CVS_AUTH_PORT 2401
# endif
# endif
# if HAVE_KERBEROS
# ifndef CVS_PORT
# define CVS_PORT 1999
# endif
# endif
void send_to_server PROTO((const char *str, size_t len));
void read_from_server PROTO((char *buf, size_t len));
int supported_request PROTO ((char *));
void option_with_arg PROTO((char *option, char *arg));
extern int get_responses_and_close PROTO((void));
extern int get_server_responses PROTO((void));
void
start_server PROTO((void));
void
send_file_names PROTO((int argc, char **argv, unsigned int flags));
# define SEND_EXPAND_WILD 1
void
send_files PROTO((int argc, char **argv, int local, int aflag,
unsigned int flags));
# define SEND_BUILD_DIRS 1
# define SEND_FORCE 2
# define SEND_NO_CONTENTS 4
# define BACKUP_MODIFIED_FILES 8
void
send_arg PROTO((char *string));
void
send_option_string PROTO((char *string));
extern void send_a_repository PROTO ((const char *, const char *,
const char *));
#endif
struct response
{
char *name;
#ifdef CLIENT_SUPPORT
void (*func) PROTO((char *args, int len));
enum {response_type_normal, response_type_ok, response_type_error} type;
#endif
enum {
rs_essential,
rs_optional,
rs_supported,
rs_not_supported
} status;
};
extern struct response responses[];
#ifdef CLIENT_SUPPORT
extern void client_senddate PROTO((const char *date));
extern void client_expand_modules PROTO((int argc, char **argv, int local));
extern void client_send_expansions PROTO((int local, char *where,
int build_dirs));
extern void client_nonexpanded_setup PROTO((void));
extern void send_init_command PROTO ((void));
extern char **failed_patches;
extern int failed_patches_count;
extern char *toplevel_wd;
extern void client_import_setup PROTO((char *repository));
extern int client_process_import_file
PROTO((char *message, char *vfile, char *vtag,
int targc, char *targv[], char *repository, int all_files_binary,
int modtime));
extern void client_import_done PROTO((void));
extern void client_notify PROTO((const char *, const char *, const char *, int,
const char *));
#endif