]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/cvs/src/root.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / cvs / src / root.h
1 /*
2  * Copyright (C) 1986-2005 The Free Software Foundation, Inc.
3  *
4  * Portions Copyright (C) 1998-2005 Derek Price, Ximbiot <http://ximbiot.com>,
5  *                                  and others.
6  *
7  * Portions Copyright (C) 1992, Brian Berliner and Jeff Polk
8  * Portions Copyright (C) 1989-1992, Brian Berliner
9  *
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.
12  */
13
14 /* CVSroot data structures */
15
16 /* Access method specified in CVSroot. */
17 typedef enum {
18     null_method,
19     local_method,
20     server_method,
21     pserver_method,
22     kserver_method,
23     gserver_method,
24     ext_method,
25     extssh_method,
26     fork_method
27 } CVSmethod;
28 extern const char method_names[][16];   /* change this in root.c if you change
29                                            the enum above */
30
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. */
36 #ifdef CLIENT_SUPPORT
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
43                                  * used.
44                                  */
45     int proxy_port;             /* The port of the proxy or zero, as above. */
46 #endif /* CLIENT_SUPPORT */
47 } cvsroot_t;
48
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));