2 * Copyright (C) 1986-2005 The Free Software Foundation, Inc.
4 * Portions Copyright (C) 1998-2005 Derek Price, Ximbiot <http://ximbiot.com>,
7 * Portions Copyright (C) 1992, Brian Berliner and Jeff Polk
8 * Portions Copyright (C) 1989-1992, Brian Berliner
10 * You may distribute under the terms of the GNU General Public License as
11 * specified in the README file that comes with the CVS kit.
14 /* CVSroot data structures */
16 /* Access method specified in CVSroot. */
28 extern const char method_names[][16]; /* change this in root.c if you change
31 typedef struct cvsroot_s {
32 char *original; /* The complete source CVSroot string. */
33 CVSmethod method; /* One of the enum values above. */
34 char *directory; /* The directory name. */
35 unsigned char isremote; /* Nonzero if we are doing remote access. */
37 char *username; /* The username or NULL if method == local. */
38 char *password; /* The password or NULL if method == local. */
39 char *hostname; /* The hostname or NULL if method == local. */
40 int port; /* The port or zero if method == local. */
41 char *proxy_hostname; /* The hostname of the proxy server, or NULL
42 * when method == local or no proxy will be
45 int proxy_port; /* The port of the proxy or zero, as above. */
46 #endif /* CLIENT_SUPPORT */
49 cvsroot_t *Name_Root PROTO((const char *dir, const char *update_dir));
50 void free_cvsroot_t PROTO((cvsroot_t *root_in));
51 cvsroot_t *parse_cvsroot PROTO((const char *root));
52 cvsroot_t *local_cvsroot PROTO((const char *dir));
53 void Create_Root PROTO((const char *dir, const char *rootdir));
54 void root_allow_add PROTO ((char *));
55 void root_allow_free PROTO ((void));
56 int root_allow_ok PROTO ((char *));
57 int root_allow_used PROTO ((void));