summaryrefslogtreecommitdiff
path: root/libvyosconfig/lib
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2025-10-29 08:58:35 -0500
committerJohn Estabrook <jestabro@vyos.io>2025-11-05 07:49:39 -0600
commit47cc7ab10b9b6bc6fe21025440687a020bd16e35 (patch)
treede52e6334ae22a475acacb9c6cda62d1055d0e04 /libvyosconfig/lib
parentcc60275ab0db2c45f2ad7387d6a91a96fa9d6337 (diff)
downloadvyos-1x-47cc7ab10b9b6bc6fe21025440687a020bd16e35.tar.gz
vyos-1x-47cc7ab10b9b6bc6fe21025440687a020bd16e35.zip
T7969: expose boolean test value_exists
Diffstat (limited to 'libvyosconfig/lib')
-rw-r--r--libvyosconfig/lib/bindings.ml8
1 files changed, 8 insertions, 0 deletions
diff --git a/libvyosconfig/lib/bindings.ml b/libvyosconfig/lib/bindings.ml
index 2b222fb0b..64d22f21e 100644
--- a/libvyosconfig/lib/bindings.ml
+++ b/libvyosconfig/lib/bindings.ml
@@ -179,6 +179,13 @@ let exists c_ptr path =
let path = split_on_whitespace path in
if (Vytree.exists ct path) then 1 else 0
+let value_exists c_ptr path value =
+ let ct = Root.get c_ptr in
+ let path = split_on_whitespace path in
+ try
+ if (CT.value_exists ct path value) then 1 else 0
+ with VT.Empty_path -> 0
+
let list_nodes c_ptr path =
let ct = Root.get c_ptr in
let path = split_on_whitespace path in
@@ -325,6 +332,7 @@ struct
let () = I.internal "is_leaf" ((ptr void) @-> string @-> returning bool) is_leaf
let () = I.internal "get_subtree" ((ptr void) @-> string @-> bool @-> returning (ptr void)) get_subtree
let () = I.internal "exists" ((ptr void) @-> string @-> returning int) exists
+ let () = I.internal "value_exists" ((ptr void) @-> string @-> string @-> returning int) value_exists
let () = I.internal "list_nodes" ((ptr void) @-> string @-> returning string) list_nodes
let () = I.internal "return_value" ((ptr void) @-> string @-> returning string) return_value
let () = I.internal "return_values" ((ptr void) @-> string @-> returning string) return_values