summaryrefslogtreecommitdiff
path: root/src/config_diff.mli
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2024-11-07 18:03:45 +0000
committerGitHub <noreply@github.com>2024-11-07 18:03:45 +0000
commitacfac8d809d526e9e5af1ab26cbe093e45ff9f11 (patch)
treea59160862670da61bf6a0aaa825fa4c4d1ebc171 /src/config_diff.mli
parentd7260e772e39bc6a3a2d76d629567e03bbad16b5 (diff)
parentc94254e4a5771d4cabc0d373210cdd3362501b9d (diff)
downloadvyos1x-config-acfac8d809d526e9e5af1ab26cbe093e45ff9f11.tar.gz
vyos1x-config-acfac8d809d526e9e5af1ab26cbe093e45ff9f11.zip
Merge pull request #31 from jestabro/vyconf-minimal
T6718: use the vyconf daemon for validation of set commands
Diffstat (limited to 'src/config_diff.mli')
-rw-r--r--src/config_diff.mli10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/config_diff.mli b/src/config_diff.mli
index 6adf5a7..af8f87d 100644
--- a/src/config_diff.mli
+++ b/src/config_diff.mli
@@ -1,3 +1,4 @@
+type change = Unchanged | Added | Subtracted | Updated of string list
module Diff_tree : sig
type t = { left: Config_tree.t;
@@ -11,7 +12,7 @@ end
module Diff_string : sig
type t = { left: Config_tree.t;
- right : Config_tree.t;
+ right: Config_tree.t;
skel: Config_tree.t;
ppath: string list;
udiff: string;
@@ -22,6 +23,7 @@ module Diff_cstore : sig
type t = { left: Config_tree.t;
right: Config_tree.t;
handle: int;
+ out: string;
}
end
@@ -30,6 +32,11 @@ type _ result =
| Diff_string : Diff_string.t -> Diff_string.t result
| Diff_cstore : Diff_cstore.t -> Diff_cstore.t result
+val eval_result : 'a result -> 'a
+
+type 'a diff_func = ?recurse:bool -> string list -> 'a result -> change -> 'a result
+val diff : string list -> 'a diff_func -> 'a result -> Config_tree.t option * Config_tree.t option -> 'a result
+
exception Incommensurable
exception Empty_comparison
exception Nonexistent_child
@@ -38,3 +45,4 @@ val diff_tree : string list -> Config_tree.t -> Config_tree.t -> Config_tree.t
val show_diff : ?cmds:bool -> string list -> Config_tree.t -> Config_tree.t -> string
val tree_union : Config_tree.t -> Config_tree.t -> Config_tree.t
val mask_tree : Config_tree.t -> Config_tree.t -> Config_tree.t
+val make_diff_cstore : Config_tree.t -> Config_tree.t -> int -> Diff_cstore.t result