1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
/* $OpenBSD: rcsprog.h,v 1.52 2006/04/21 14:18:26 xsa Exp $ */
/*
* Copyright (c) 2005 Joris Vink <joris@openbsd.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef RCSPROG_H
#define RCSPROG_H
#include <err.h>
#include "log.h"
#include "rcs.h"
#include "worklist.h"
#include "util.h"
#include "xmalloc.h"
#define RCS_DEFAULT_SUFFIX ",v/"
#define RCS_TMPDIR_DEFAULT "/tmp"
/* flags specific to ci.c */
#define CI_SYMFORCE (1<<0)
#define CI_DEFAULT (1<<1)
#define CI_INIT (1<<2)
#define CI_KEYWORDSCAN (1<<3)
#define CI_SKIPDESC (1<<4)
/* flags specific to co.c */
#define CO_ACLAPPEND (1<<5)
#define CO_AUTHOR (1<<6)
#define CO_LOCK (1<<7)
#define CO_REVDATE (1<<8)
#define CO_REVERT (1<<9)
#define CO_STATE (1<<10)
#define CO_UNLOCK (1<<11)
/* flags specific to rcsprog.c */
#define RCSPROG_EFLAG (1<<12)
#define RCSPROG_LFLAG (1<<13)
#define RCSPROG_NFLAG (1<<14)
#define RCSPROG_TFLAG (1<<15)
#define RCSPROG_UFLAG (1<<16)
/* shared flags */
#define FORCE (1<<17)
#define INTERACTIVE (1<<18)
#define NEWFILE (1<<19)
#define PIPEOUT (1<<20)
#define PRESERVETIME (1<<21)
#define QUIET (1<<22)
extern char *__progname;
extern const char rcs_version[];
extern int rcs_optind;
extern char *rcs_optarg;
extern char *rcs_suffixes;
extern char *rcs_tmpdir;
extern struct cvs_wklhead rcs_temp_files;
/* date.y */
time_t cvs_date_parse(const char *);
/* ci.c */
int checkin_main(int, char **);
void checkin_usage(void);
/* co.c */
int checkout_main(int, char **);
int checkout_rev(RCSFILE *, RCSNUM *, const char *, int, const char *,
const char *, const char *, const char *);
void checkout_usage(void);
/* ident.c */
int ident_main(int, char **);
void ident_usage(void);
/* rcsclean.c */
int rcsclean_main(int, char **);
void rcsclean_usage(void);
/* rcsdiff.c */
int rcsdiff_main(int, char **);
void rcsdiff_usage(void);
/* rcsmerge.c */
int rcsmerge_main(int, char **);
void rcsmerge_usage(void);
/* rcsprog.c */
int rcs_init(char *, char **, int);
int rcs_getopt(int, char **, const char *);
int rcs_main(int, char **);
void rcs_set_mtime(const char *, time_t);
char *rcs_choosefile(const char *);
int rcs_statfile(char *, char *, size_t);
time_t rcs_get_mtime(const char *);
RCSNUM *rcs_getrevnum(const char *, RCSFILE *);
char *rcs_prompt(const char *);
u_int rcs_rev_select(RCSFILE *, char *);
void rcs_set_rev(const char *, RCSNUM **);
void rcs_setrevstr(char **, char *);
void rcs_setrevstr2(char **, char **, char *);
void rcs_usage(void);
void (*usage)(void);
/* rlog.c */
int rlog_main(int, char **);
void rlog_usage(void);
#endif /* RCSPROG_H */
|