1 /* changeset-report.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__CHANGESET_REPORT_H
11 #define INCLUDE__LIBARCH__CHANGESET_REPORT_H
12 
13 
14 #include "tla/libawk/relational.h"
15 
16 
17 
18 struct arch_changeset_report
19 {
20   rel_table orig_files_index;   /* [0] loc [1] id      (sort by 1) */
21   rel_table orig_dirs_index;    /* [0] loc [1] id      (sort by 1) */
22   rel_table mod_files_index;    /* [0] loc [1] id      (sort by 1) */
23   rel_table mod_dirs_index;     /* [0] loc [1] id      (sort by 1) */
24 
25   rel_table removed_dirs;       /* [0] loc [1] id [2] perms            (sort by 0) */
26   rel_table added_dirs;         /* [0] loc [1] id [2] perms            (sort by 0) */
27 
28   rel_table removed_files;      /* [0] loc [1] id [2] archive-path     (sort by 0)*/
29   rel_table added_files;        /* [0] loc [1] id [2] archive-path     (sort by 0) */
30 
31   rel_table removed_symlinks;   /* [0] loc [1] id [2] archive-path     (sort by 0) */
32   rel_table added_symlinks;     /* [0] loc [1] id [2] archive-path     (sort by 0) */
33 
34   rel_table renamed_files;      /* [0] orig-loc [1] mod-loc [2] id     (sort by 0) */
35   rel_table renamed_dirs;       /* [0] orig-loc [1] mod-loc [2] id     (sort by 0) */
36 
37   rel_table patched_regular_files; /* [0] mod-loc [1] id [2] patch-path (sort by 0) */
38   rel_table patched_symlinks;   /* [0] mod-loc [1] id [2] patch-path-sans-suffix (sort by 0) */
39   rel_table patched_binaries;   /* [0] mod-loc [1] id [2] patch-path-sans-suffix (sort by 0) */
40   rel_table file_metadata_changed; /* [0] mod-loc [1] id [2] patch-path-sans-suffix (sort by 0) */
41   rel_table dir_metadata_changed; /*  [0] mod-loc [1] id [2] patch-path-sans-suffix (sort by 0) */
42   rel_table symlink_to_file;    /* [0] mod-loc [1] id [2] patch-path-sans-suffix (sort by 0) */
43   rel_table file_to_symlink;    /* [0] mod-loc [1] id [2] patch-path-sans-suffix (sort by 0) */
44 };
45 
46 
47 /* automatically generated __STDC__ prototypes */
48 extern int arch_any_changes (struct arch_changeset_report * report);
49 extern void arch_evaluate_changeset (struct arch_changeset_report * report, t_uchar * path);
50 extern void arch_reverse_changeset (struct arch_changeset_report * report);
51 extern void arch_print_changeset_diffs (int out_fd, struct arch_changeset_report * report, int escape_classes);
52 extern void arch_print_changeset_custom_diffs (int out_fd, struct arch_changeset_report * report, t_uchar * orig_dir, t_uchar * mod_dir, t_uchar ** opts, int escape_classes);
53 extern void arch_print_changeset  (int out_fd, struct arch_changeset_report * report, int diffs, int escape_classes);
54 extern void arch_free_changeset_report_data (struct arch_changeset_report * r);
55 #endif  /* INCLUDE__LIBARCH__CHANGESET_REPORT_H */
56 
57 
58 /* tag: Tom Lord Sat Jan  5 15:26:10 2002 (changeset-report.h)
59  */
60