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. */ 17typedef 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; 28extern const char method_names[][16]; /* change this in root.c if you change 29 the enum above */ 30 31typedef 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 49cvsroot_t *Name_Root PROTO((const char *dir, const char *update_dir)); 50void free_cvsroot_t PROTO((cvsroot_t *root_in)); 51cvsroot_t *parse_cvsroot PROTO((const char *root)); 52cvsroot_t *local_cvsroot PROTO((const char *dir)); 53void Create_Root PROTO((const char *dir, const char *rootdir)); 54void root_allow_add PROTO ((char *)); 55void root_allow_free PROTO ((void)); 56int root_allow_ok PROTO ((char *)); 57int root_allow_used PROTO ((void)); 58