xref: /openbsd-src/usr.bin/cvs/trigger.h (revision c9192196cbf67b33f1921444812e5be0e656c147)
1*c9192196Sxsa /*	$OpenBSD: trigger.h,v 1.2 2008/06/10 05:29:14 xsa Exp $	*/
2b034d592Sjoris /*
3b034d592Sjoris  * Copyright (c) 2008 Tobias Stoeckmann <tobias@openbsd.org>
4b034d592Sjoris  * Copyright (c) 2008 Jonathan Armani <dbd@asystant.net>
5b034d592Sjoris  *
6b034d592Sjoris  * Permission to use, copy, modify, and distribute this software for any
7b034d592Sjoris  * purpose with or without fee is hereby granted, provided that the above
8b034d592Sjoris  * copyright notice and this permission notice appear in all copies.
9b034d592Sjoris  *
10b034d592Sjoris  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11b034d592Sjoris  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12b034d592Sjoris  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13b034d592Sjoris  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14b034d592Sjoris  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15b034d592Sjoris  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16b034d592Sjoris  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17b034d592Sjoris  */
18b034d592Sjoris 
19b034d592Sjoris #define CVS_TRIGGER_COMMITINFO		1
20b034d592Sjoris #define CVS_TRIGGER_LOGINFO		2
21b034d592Sjoris #define CVS_TRIGGER_VERIFYMSG		3
22b034d592Sjoris #define CVS_TRIGGER_RCSINFO		4
23b034d592Sjoris #define CVS_TRIGGER_EDITINFO		5
24b034d592Sjoris #define CVS_TRIGGER_TAGINFO		6
25b034d592Sjoris 
26b034d592Sjoris struct trigger_line {
27b034d592Sjoris 	char *line;
28b034d592Sjoris 	TAILQ_ENTRY(trigger_line) flist;
29b034d592Sjoris };
30b034d592Sjoris 
31b034d592Sjoris TAILQ_HEAD(trigger_list, trigger_line);
32b034d592Sjoris 
33b034d592Sjoris struct file_info {
34b034d592Sjoris 	char	*file_path;
35b034d592Sjoris 	char	*file_wd;
36b034d592Sjoris 	char	*crevstr;
37b034d592Sjoris 	char	*nrevstr;
38b034d592Sjoris 	char	*tag_new;
39b034d592Sjoris 	char	*tag_old;
40b034d592Sjoris 	char	*tag_op;
41b034d592Sjoris 	char	 tag_type;
42b034d592Sjoris 	TAILQ_ENTRY(file_info) flist;
43b034d592Sjoris };
44b034d592Sjoris 
45b034d592Sjoris TAILQ_HEAD(file_info_list, file_info);
46b034d592Sjoris 
47*c9192196Sxsa int			 cvs_trigger_handle(int, char *, char *,
48*c9192196Sxsa 			     struct trigger_list *, struct file_info_list *);
49b034d592Sjoris struct trigger_list	*cvs_trigger_getlines(char *, char *);
50b034d592Sjoris void			 cvs_trigger_freelist(struct trigger_list *);
51b034d592Sjoris void			 cvs_trigger_freeinfo(struct file_info_list *);
52b034d592Sjoris void			 cvs_trigger_loginfo_header(BUF *, char *);
53