2025-02-01 15:54:10 +00:00
|
|
|
#require "mirage-crypto-rng-miou-unix" ;;
|
|
|
|
#require "vif" ;;
|
|
|
|
|
|
|
|
let rng =
|
|
|
|
let open Mirage_crypto_rng_miou_unix in
|
|
|
|
let finally = kill in
|
2025-02-02 12:29:07 +00:00
|
|
|
Vif.D.device ~name:"rng" ~finally [] @@ fun () -> initialize (module Pfortuna)
|
2025-02-01 15:54:10 +00:00
|
|
|
;;
|
|
|
|
|
|
|
|
type foo = Foo ;;
|
|
|
|
|
|
|
|
let foo =
|
|
|
|
let finally Foo = () in
|
2025-02-02 12:29:07 +00:00
|
|
|
Vif.D.device ~name:"foo" ~finally [] @@ fun () -> Foo
|
2025-02-01 15:54:10 +00:00
|
|
|
;;
|
|
|
|
|
|
|
|
let default req target server () =
|
|
|
|
let _rng = Vif.S.device rng server in
|
|
|
|
let Foo = Vif.S.device foo server in
|
|
|
|
Vif.Response.with_string server `OK "ok\n"
|
|
|
|
;;
|
|
|
|
|
|
|
|
let () =
|
2025-02-02 12:29:07 +00:00
|
|
|
Miou_unix.run @@ fun () -> Vif.run ~default ~devices:Vif.Ds.[ rng; foo ] [] ()
|
2025-02-01 15:54:10 +00:00
|
|
|
;;
|