ftp.nice.ch/pub/next/unix/developer/rcvs.0.7.9.s.tar.gz#/src/rcvs.h

This is rcvs.h in view mode; [Download] [Up]

#include <grp.h>

#define CVSUSER_ENV        "CVSUSER"      /* user's login name, optional */
#define CVSDOMAIN_ENV      "CVSDOMAIN"    /* network domain, optional */
#define CVSMODE_ENV        "CVSMODE"      /* local or remote mode */
#define CVSROOTr_ENV       "CVSROOTr"     /* CVSROOTr variable */
#define CVSREC_ENV         "CVSREC"       /* CVSREC variable */
#define RCVSADM_REMOTE     "CVS/Remote"   /* file to memorize repository */
#define RCVS_CLONE         ".clone"       /* label for clone directory */
#define RCVSLOCK           "#rcvs.lock"   /* prefix of all lock files */
#define RCVSLOCK_WFL       "#rcvs.lock"   /* write lock by remote CVS */
#define RCVSLOCK_RFL       "#rcvs.lockr"  /* read lock by remote CVS */
#define RCVSLOCK_wfl       "#rcvs.lockX"  /* write lock by local CVS */
#define RCVSLOCK_rfl       "#rcvs.lockXr" /* read lock by local CVS */
#define RCVSMOD            "$_"           /* module prefix in CVS/Remote */
#define RCVSTMP            "/tmp/RCVS"    /* RCVS temporary directory*/
#define RCVSMSG            "/tmp/rcvs.msg"/* msg from in-shell CVS*/
#define CVSROOTADM_COMMITLOG      "commitlog"      /* commitlog file */
#define CVSROOTADM_HISTORY_NEW    "history.tmp"    /* new history */
#define CVSROOTADM_COMMITLOG_NEW  "commitlog.tmp"  /* new commitinfo */
#define MAXARG             200            /* Maximum number of argument */


/* commands */

struct CMD
{
    char *fullname;    
    char *sync_name;
    char *msg;
    int (*func) ();    
    char *phases;
    int need_repos;    
    int add_hist;    
};

/* who's who variables */
extern char *RCVSdir;
extern char *RCVShost;
extern char *RCVSroot;
extern char *RCVSuser;
extern char *CVSroot_v;         /* $CVSROOT */
extern char *CVSroot_n;        
extern char *CVSrootr_v;        /* $CVSROOTr */
extern char *CVSrootr_n;     
extern char *CVSrootd_v;        /* -d */
extern char *CVSrootd_n;     
extern char *rcvs_ID;           /* CVSROOT of choice */
extern char *rcvs_Id;           
extern char *rcvs_cvsrec;       /* account which receives rdist in phase 1*/
extern char *rcvs_domain;       /* network domain */
extern char *rcvs_username;     /* value of $CVSUSER */
extern char *rcvs_msgfile;      /* file for msg returned by in-shell CVS */
extern char *rcvs_tmpname;      /* temporary directory in /tmp/RCVS  */
extern FILE *msgfp;

extern List *rcvs_chmodlist;    /* list of directory to be chmod */
extern List *rcvs_rmlist;       /* list of files to be removed */
extern List *rcvs_dirlist;      /* list of directory to be sent by rdist */
extern List *rcvs_filelist;     /* list of files to be sent by rdist */
extern struct CMD *rcvs_CM;     /* RCVS command */
extern char *version_rcvs;      /* RCVS version number in char string */
extern int  ver_rcvs;           /* RCVS version number in integer */
extern int  ver_rcvs_server;    /* RCVS server version number in integer */
extern int  ver_rcvs_client;    /* RCVS client version number in integer */
/* flow control variables */
extern int  rcvs_inshell;       /* execute CVS in shell, RCVS phase 2 */
extern int  rcvs_native;        /* native mode, CVS or RCVS */
extern int  rcvs_native_CVS;    /* native CVS, no remote folder involved */
extern int  rcvs_native_RCVS;   /* native RCVS, has remote folder involved*/
extern int  rcvs_set_p3_lock;   /* set phase 3 lock on server */
extern int  rcvs_sync;
extern int  rcvs_sync_backward;
extern int  rcvs_sync_forward;
extern int  rcvs_sync_check_error;
extern int  rcvs_copt_change_repos;  /* -c option, change local repository */
extern int  rcvs_Copt_change_repos;  /* -C option, change remote repository*/
extern int  rcvs_Ropt_remote;        /* -R option, checkout from remote root */

/* lock variables */
extern int  rcvs_lock_WFL_local;  /* rCVS write lock is set on clone */
extern int  rcvs_lock_WFL_remote; /* rCVS write lock is set on server */
extern int  rcvs_lock_RFL;        /* rCVS read lock is set on clone */
extern int  rcvs_lock_wfl;        /* CVS write lock is set on server */
extern int  rcvs_lock_rfl;        /* CVS read lock is set on server */
extern int  rcvs_Lopt_lock;       /* -L option, set RCVS lock */
extern int  rcvs_Uopt_unlock;     /* -U option, clear RCVS lock */
extern int  rcvs_lock_phase3;     /* phase 3 problem, keep the lock */


extern char *rcvs_Popt_phases;  /* -P, combination of [1-3] phases */
extern int  rcvs_file_mode;     /* file mode for sync */
extern char *rcvs_module;       /* name of module defined in modules */
extern char *rcvs_dopt_where;   /* folder specified with -d */
extern int  rcvs_level;         /* level of sub-directory in a module */
extern int  rcvs_cmd_optind;    /* # of command options */  
extern int  rcvs_gen_optind;    /* # of CVS general options */  
extern int  rcvs_parse_opt;     /* parse command-line options */
extern int  rcvs_do_rdist;      /* need to call rdist for sync step */

/* Externs that are included directly in the CVS sources */
#if __STDC__
int rcvs_Add_chmodlist (List **mlist, char *repository, char *update_dir,
		    char *realdir);
int rcvs_addlist (List **listp, char *lkey, char *pkey, char *pdata);
int rcvs_add_onedir (int argc, char *argv[], Node *p);
int rcvs_Add_Dirlist (List **mlist,  char *prepath, char *realdir);
int rcvs_Add_filelist (List **mlist, char *dir, char *filename);
int rcvs_Cleanup();
int rcvs_create_adm (char *dir, char *repository);
int rcvs_dump_list (char *msg, List *mlist);
int rcvs_GetAttr (Node *p);
char *rcvs_gethostdomain ();
char *rcvs_Get_ID (char *dir, char **Repos);
int rcvs_hist_and_lock (int err, char* cvsroot, char* rcvsuser,
			char *rcvshost, char *rcvsroot, char *rcvsdir);
int rcvs_Print_Mod (Node *p);
int rcvs_Print_Node (Node *p);
int rcvs_Rdist ();
int rcvs_Rdist_Init ();
int rcvs_walklist (int argc, char *argv[], char *msg, List *list, 
		   int (*proc) ());
#else
int rcvs_Add_chmodlist ();
int rcvs_addlist ();
int rcvs_add_onedir ();
int rcvs_Add_Dirlist ();
int rcvs_Add_filelist ();
int rcvs_Cleanup ();
int rcvs_create_adm ();
int rcvs_dump_list ();
int rcvs_GetAttr ();
char *rcvs_gethostdomain ();
char *rcvs_Get_ID ();
int rcvs_hist_and_lock ();
int rcvs_Print_Mod ();
int rcvs_Print_Node ();
int rcvs_Rdist ();
int rcvs_Rdist_Init ();
int rcvs_walklist ();
#endif                       /*__STDC__ */

/* code for HP and SGI */
/*+IS*/
#ifdef __hpux
static char *rshcmd = "remsh";
#else
#ifdef __sgi
static char *rshcmd = "/usr/bsd/rsh";
#else
static char *rshcmd = "rsh";
#endif /* __sgi */
#endif /* __hpux */
/*-IS*/

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.