cvs-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Cvs-cvs] Changes to ccvs/src/client.h [signed-commits2]


From: Derek Robert Price
Subject: [Cvs-cvs] Changes to ccvs/src/client.h [signed-commits2]
Date: Thu, 20 Oct 2005 17:33:58 -0400

Index: ccvs/src/client.h
diff -u /dev/null ccvs/src/client.h:1.61.2.1
--- /dev/null   Thu Oct 20 21:33:58 2005
+++ ccvs/src/client.h   Thu Oct 20 21:33:10 2005
@@ -0,0 +1,221 @@
+/*
+ * Copyright (C) 1994-2005 The Free Software Foundation, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/* Interface between the client and the rest of CVS.  */
+
+/* Stuff shared with the server.  */
+char *mode_to_string (mode_t);
+int change_mode (const char *, const char *, int);
+
+extern int gzip_level;
+extern int file_gzip_level;
+
+struct buffer;
+
+void make_bufs_from_fds (int, int, int, cvsroot_t *,
+                        struct buffer **, struct buffer **, int);
+
+
+#if defined (CLIENT_SUPPORT) || defined (SERVER_SUPPORT)
+
+/* Whether the connection should be encrypted.  */
+extern int cvsencrypt;
+
+/* Whether the connection should use per-packet authentication.  */
+extern int cvsauthenticate;
+
+# ifdef ENCRYPTION
+
+#   ifdef HAVE_KERBEROS
+
+/* We can't declare the arguments without including krb.h, and I don't
+   want to do that in every file.  */
+extern struct buffer *krb_encrypt_buffer_initialize ();
+
+#   endif /* HAVE_KERBEROS */
+
+# endif /* ENCRYPTION */
+
+#endif /* defined (CLIENT_SUPPORT) || defined (SERVER_SUPPORT) */
+
+#ifdef CLIENT_SUPPORT
+/*
+ * Flag variable for seeing whether the server has been started yet.
+ * As of this writing, only edit.c:notify_check() uses it.
+ */
+extern int server_started;
+
+/* Is the -P option to checkout or update specified?  */
+extern int client_prune_dirs;
+
+# ifdef AUTH_CLIENT_SUPPORT
+extern int use_authenticating_server;
+# endif /* AUTH_CLIENT_SUPPORT */
+# if defined (AUTH_CLIENT_SUPPORT) || defined (HAVE_GSSAPI)
+void connect_to_pserver (cvsroot_t *, struct buffer **, struct buffer **,
+                         int, int );
+#   ifndef CVS_AUTH_PORT
+#     define CVS_AUTH_PORT 2401
+#   endif /* CVS_AUTH_PORT */
+#   ifndef CVS_PROXY_PORT
+#     define CVS_PROXY_PORT 8080
+#   endif /* CVS_AUTH_PORT */
+# endif /* (AUTH_CLIENT_SUPPORT) || defined (HAVE_GSSAPI) */
+
+# if HAVE_KERBEROS
+#   ifndef CVS_PORT
+#     define CVS_PORT 1999
+#   endif
+# endif /* HAVE_KERBEROS */
+
+/* Talking to the server. */
+void send_to_server (const char *str, size_t len);
+void read_from_server (char *buf, size_t len);
+
+/* Internal functions that handle client communication to server, etc.  */
+bool supported_request (const char *);
+void option_with_arg (const char *option, const char *arg);
+
+/* Get the responses and then close the connection.  */
+int get_responses_and_close (void);
+
+int get_server_responses (void);
+
+/* Start up the connection to the server on the other end.  */
+void
+open_connection_to_server (cvsroot_t *root, struct buffer **to_server_p,
+                           struct buffer **from_server_p);
+void
+start_server (void);
+
+/* Send the names of all the argument files to the server.  */
+void
+send_file_names (int argc, char **argv, unsigned int flags);
+
+/* Flags for send_file_names.  */
+/* Expand wild cards?  */
+# define SEND_EXPAND_WILD 1
+
+/*
+ * Send Repository, Modified and Entry.  argc and argv contain only
+ * the files to operate on (or empty for everything), not options.
+ * local is nonzero if we should not recurse (-l option).
+ */
+void send_files (int argc, char **argv, int local, int aflag,
+                unsigned int flags);
+
+/* Flags for send_files.  */
+# define SEND_BUILD_DIRS       (1 << 0)
+# define SEND_FORCE            (1 << 1)
+# define SEND_NO_CONTENTS      (1 << 2)
+# define BACKUP_MODIFIED_FILES (1 << 3)
+# define SEND_SIGNATURES       (1 << 4)
+
+/* Send an argument to the remote server.  */
+void
+send_arg (const char *string);
+
+/* Send a string of single-char options to the remote server, one by one.  */
+void
+send_options (int argc, char * const *argv);
+
+void send_a_repository (const char *, const char *, const char *);
+
+#endif /* CLIENT_SUPPORT */
+
+/*
+ * This structure is used to catalog the responses the client is
+ * prepared to see from the server.
+ */
+
+struct response
+{
+    /* Name of the response.  */
+    const char *name;
+
+#ifdef CLIENT_SUPPORT
+    /*
+     * Function to carry out the response.  ARGS is the text of the
+     * command after name and, if present, a single space, have been
+     * stripped off.  The function can scribble into ARGS if it wants.
+     * Note that although LEN is given, ARGS is also guaranteed to be
+     * '\0' terminated.
+     */
+    void (*func) (char *args, size_t len);
+
+    /*
+     * ok and error are special; they indicate we are at the end of the
+     * responses, and error indicates we should exit with nonzero
+     * exitstatus.
+     */
+    enum {response_type_normal, response_type_ok, response_type_error,
+         response_type_redirect} type;
+#endif
+
+    /* Used by the server to indicate whether response is supported by
+       the client, as set by the Valid-responses request.  */
+    enum {
+      /*
+       * Failure to implement this response can imply a fatal
+       * error.  This should be set only for responses which were in the
+       * original version of the protocol; it should not be set for new
+       * responses.
+       */
+      rs_essential,
+
+      /* Some clients might not understand this response.  */
+      rs_optional,
+
+      /*
+       * Set by the server to one of the following based on what this
+       * client actually supports.
+       */
+      rs_supported,
+      rs_not_supported
+      } status;
+};
+
+/* Table of responses ending in an entry with a NULL name.  */
+
+extern struct response responses[];
+
+#ifdef CLIENT_SUPPORT
+
+void client_senddate (const char *date);
+void client_expand_modules (int argc, char **argv, int local);
+void client_send_expansions (int local, char *where, int build_dirs);
+void client_nonexpanded_setup (void);
+
+void send_init_command (void);
+
+extern char **failed_patches;
+extern int failed_patches_count;
+extern char *toplevel_wd;
+void client_import_setup (char *repository);
+int client_process_import_file
+    (char *message, char *vfile, char *vtag, int targc, char *targv[],
+     char *repository, int all_files_binary, int modtime);
+void client_import_done (void);
+void client_notify (const char *, const char *, const char *, int,
+                    const char *);
+
+#if defined AUTH_CLIENT_SUPPORT || defined HAVE_KERBEROS || defined HAVE_GSSAPI
+# include <sys/socket.h>
+# include <netinet/in.h>
+# include <arpa/inet.h>
+# include <netdb.h>
+struct hostent *init_sockaddr (struct sockaddr_in *, char *, unsigned int);
+#endif
+
+#endif /* CLIENT_SUPPORT */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]