[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Libguestfs] [PATCH nbdkit v2 3/3] ocaml: Add bindings for nbdkit_peer_{pid, uid, gid}.



---
 plugins/ocaml/NBDKit.mli |  7 +++++++
 plugins/ocaml/NBDKit.ml  |  4 ++++
 plugins/ocaml/bindings.c | 24 ++++++++++++++++++++++++
 3 files changed, 35 insertions(+)

diff --git a/plugins/ocaml/NBDKit.mli b/plugins/ocaml/NBDKit.mli
index ececd5fd..8abfeb49 100644
--- a/plugins/ocaml/NBDKit.mli
+++ b/plugins/ocaml/NBDKit.mli
@@ -162,3 +162,10 @@ val shutdown : unit -> unit
 
 (** Print a debug message when nbdkit is in verbose mode. *)
 val debug : ('a, unit, string, unit) format4 -> 'a
+
+(** Binding for [nbdkit_peer_pid]. *)
+val peer_pid : unit -> int
+(** Binding for [nbdkit_peer_uid]. *)
+val peer_uid : unit -> int
+(** Binding for [nbdkit_peer_gid]. *)
+val peer_gid : unit -> int
diff --git a/plugins/ocaml/NBDKit.ml b/plugins/ocaml/NBDKit.ml
index 739210fa..76fa3a77 100644
--- a/plugins/ocaml/NBDKit.ml
+++ b/plugins/ocaml/NBDKit.ml
@@ -257,3 +257,7 @@ external _debug : string -> unit = "ocaml_nbdkit_debug" "noalloc"
 
 let debug fs =
   ksprintf _debug fs
+
+external peer_pid : unit -> int = "ocaml_nbdkit_peer_pid"
+external peer_uid : unit -> int = "ocaml_nbdkit_peer_uid"
+external peer_gid : unit -> int = "ocaml_nbdkit_peer_gid"
diff --git a/plugins/ocaml/bindings.c b/plugins/ocaml/bindings.c
index 6c92cd3e..d231ec89 100644
--- a/plugins/ocaml/bindings.c
+++ b/plugins/ocaml/bindings.c
@@ -190,3 +190,27 @@ ocaml_nbdkit_debug (value strv)
 
   return Val_unit;
 }
+
+value
+ocaml_nbdkit_peer_pid (value unitv)
+{
+  int id = nbdkit_peer_pid ();
+  if (id == -1) caml_failwith ("nbdkit_peer_pid");
+  return Val_int (id);
+}
+
+value
+ocaml_nbdkit_peer_uid (value unitv)
+{
+  int id = nbdkit_peer_uid ();
+  if (id == -1) caml_failwith ("nbdkit_peer_uid");
+  return Val_int (id);
+}
+
+value
+ocaml_nbdkit_peer_gid (value unitv)
+{
+  int id = nbdkit_peer_gid ();
+  if (id == -1) caml_failwith ("nbdkit_peer_gid");
+  return Val_int (id);
+}
-- 
2.27.0


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]