1 /* patch-logs.h:
2  *
3  ****************************************************************
4  * Copyright (C) 2003 Tom Lord
5  *
6  * See the file "COPYING" for further information about
7  * the copyright and warranty status of this work.
8  */
9 
10 #ifndef INCLUDE__LIBARCH__PATCH_LOGS_H
11 #define INCLUDE__LIBARCH__PATCH_LOGS_H
12 
13 
14 #include "tla/libawk/relational.h"
15 #include "tla/libawk/associative.h"
16 
17 
18 
19 
20 enum arch_log_headers_summary
21 {
22   arch_include_date = 1,
23   arch_include_creator = 2,
24   arch_include_summary = 4,
25   arch_include_foreign_merges = 8,
26   arch_include_local_merges = 16,
27 };
28 
29 
30 
31 /* automatically generated __STDC__ prototypes */
32 extern t_uchar * arch_make_log_file (const t_uchar * tree_root,
33                                      const t_uchar * archive,
34                                      const t_uchar * version);
35 extern t_uchar * arch_make_log (const t_uchar * tree_root,
36                                 const t_uchar * archive,
37                                 const t_uchar * version);
38 extern t_uchar * arch_auto_log_message (const t_uchar * tree_root,
39                                         const t_uchar * archive,
40                                         const t_uchar * version,
41                                         const t_uchar * summary,
42                                         const t_uchar * body);
43 extern t_uchar * arch_log_for_merge (const t_uchar * tree_root,
44                                      const t_uchar * archive,
45                                      const t_uchar * version,
46                                      int reverse);
47 extern t_uchar * arch_log_dir (const t_uchar * tree_root,
48                                const t_uchar * archive,
49                                const t_uchar * version);
50 extern t_uchar * arch_log_file (const t_uchar * tree_root,
51                                 const t_uchar * archive,
52                                 const t_uchar * revision);
53 extern t_uchar * arch_log_contents (const t_uchar * tree_root,
54                                     const t_uchar * archive,
55                                     const t_uchar * revision);
56 extern int arch_tree_has_log (const t_uchar * tree_root,
57                               const t_uchar * archive,
58                               const t_uchar * revision);
59 extern void arch_add_log_version (const t_uchar * tree_root,
60                                   const t_uchar * archive,
61                                   const t_uchar * version);
62 extern void arch_remove_log_version (const t_uchar * tree_root,
63                                      const t_uchar * archive,
64                                      const t_uchar * version);
65 extern int arch_has_patch_log (const t_uchar * tree_root,
66                                const t_uchar * archive,
67                                const t_uchar * version);
68 extern rel_table arch_log_versions (const t_uchar * tree_root,
69                                     const t_uchar * only_archive,
70                                     const t_uchar * only_category_param,
71                                     const t_uchar * only_branch_param,
72                                     const t_uchar * only_version_param);
73 extern t_uchar * arch_highest_patch_level (const t_uchar * tree_root,
74                                            const t_uchar * archive,
75                                            const t_uchar * version);
76 extern t_uchar * arch_latest_logged_version (const t_uchar * tree_root,
77                                              const t_uchar * archive,
78                                              const t_uchar * package);
79 extern rel_table arch_logs (const t_uchar * tree_root,
80                             const t_uchar * archive,
81                             const t_uchar * version,
82                             int full);
83 extern int arch_valid_log_file (const t_uchar * log);
84 extern void arch_parse_log (rel_table * headers_list,
85                             assoc_table * headers,
86                             const t_uchar ** body,
87                             const t_uchar * log);
88 extern void arch_print_headers_summary (int out_fd,
89                                         int indent_level,
90                                         assoc_table headers,
91                                         int summarized_headers);
92 extern void arch_print_log_list_header (int out_fd,
93                                         const t_uchar * header,
94                                         rel_table list,
95                                         int field);
96 extern void arch_print_log_pairs_header (int out_fd,
97                                          const t_uchar * header,
98                                          rel_table list,
99                                          int field_a,
100                                          int field_b);
101 extern void arch_copy_to_patch_log (const t_uchar * tree_root,
102                                     const t_uchar * archive,
103                                     const t_uchar * revision,
104                                     const t_uchar * log_file);
105 extern void arch_rename_to_patch_log (const t_uchar * tree_root,
106                                       const t_uchar * archive,
107                                       const t_uchar * revision,
108                                       const t_uchar * log_file);
109 extern rel_table arch_all_logs (const t_uchar * tree_root);
110 
111 extern t_uchar *
112 arch_tree_latest_revision (t_uchar * base_tree_root);
113 
114 
115 #endif  /* INCLUDE__LIBARCH__PATCH_LOGS_H */
116 
117 
118 /* tag: Tom Lord Sat Jan  5 15:26:10 2002 (patch-logs.h)
119  */
120