Annotation of src/usr.bin/rcs/rcsutil.h, Revision 1.9
1.9 ! millert 1: /* $OpenBSD: rcsutil.h,v 1.8 2006/08/16 07:39:15 ray Exp $ */
1.1 xsa 2: /*
3: * Copyright (c) 2006 Xavier Santolaria <xsa@openbsd.org>
4: * All rights reserved.
5: *
6: * Redistribution and use in source and binary forms, with or without
7: * modification, are permitted provided that the following conditions
8: * are met:
9: *
10: * 1. Redistributions of source code must retain the above copyright
11: * notice, this list of conditions and the following disclaimer.
12: * 2. The name of the author may not be used to endorse or promote products
13: * derived from this software without specific prior written permission.
14: *
15: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
16: * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
17: * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
18: * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20: * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
21: * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
22: * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
23: * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
24: * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25: */
26:
27: #ifndef RCSUTIL_H
28: #define RCSUTIL_H
29:
30: #include "rcs.h"
31:
1.4 xsa 32: struct rcs_line {
33: char *l_line;
34: int l_lineno;
35: TAILQ_ENTRY(rcs_line) l_list;
36: };
37:
38: TAILQ_HEAD(rcs_tqh, rcs_line);
39:
40: struct rcs_lines {
41: int l_nblines;
42: char *l_data;
43: struct rcs_tqh l_lines;
44: };
45:
46: struct rcs_argvector {
47: char *str;
48: char **argv;
49: };
50:
1.1 xsa 51: /* rcsutil.c */
1.4 xsa 52: int rcs_getopt(int, char **, const char *);
53: void rcs_set_mtime(RCSFILE *, time_t);
54: int rcs_choosefile(const char *, char *, size_t);
55: time_t rcs_get_mtime(RCSFILE *);
56: RCSNUM *rcs_getrevnum(const char *, RCSFILE *);
57: char *rcs_prompt(const char *);
1.6 ray 58: u_int rcs_rev_select(RCSFILE *, const char *);
1.8 ray 59: int rcs_set_description(RCSFILE *, const char *);
1.4 xsa 60: void rcs_set_rev(const char *, RCSNUM **);
61: void rcs_setrevstr(char **, char *);
62: void rcs_setrevstr2(char **, char **, char *);
1.7 niallo 63: BUF *rcs_patchfile(BUF *, BUF *,
1.4 xsa 64: int (*p)(struct rcs_lines *, struct rcs_lines *));
1.7 niallo 65: struct rcs_lines *rcs_splitlines(BUF *);
1.4 xsa 66: void rcs_freelines(struct rcs_lines *);
1.9 ! millert 67: int rcs_yesno(int);
1.6 ray 68: struct rcs_argvector *rcs_strsplit(const char *, const char *);
1.4 xsa 69: void rcs_argv_destroy(struct rcs_argvector *);
1.1 xsa 70:
71: #endif /* RCSUTIL_H */