this repo has no description
1open Ctypes
2
3(* This Types_generated module is an instantiation of the Types
4 functor defined in the type_description.ml file. It's generated by
5 a C program that Dune creates and runs behind the scenes. *)
6module Types = Types_generated
7
8module Functions (F : Ctypes.FOREIGN) = struct
9 open F
10
11 let init = foreign "libzfs_init" (void @-> returning Types.libzfs_handle_t)
12 let errno = foreign "libzfs_errno" (Types.libzfs_handle_t @-> returning int)
13
14 let debug =
15 foreign "libzfs_print_on_error"
16 (Types.libzfs_handle_t @-> bool @-> returning void)
17
18 module Zpool = struct
19 let open_ =
20 foreign "zpool_open"
21 (Types.libzfs_handle_t @-> string @-> returning Types.zpool_handle_t)
22
23 let close = foreign "zpool_close" (Types.zpool_handle_t @-> returning void)
24
25 let get_name =
26 foreign "zpool_get_name" (Types.zpool_handle_t @-> returning string)
27
28 let get_state =
29 foreign "zpool_get_state" (Types.zpool_handle_t @-> returning int)
30 end
31
32 let create_ancestors =
33 foreign "zfs_create_ancestors" (Types.libzfs_handle_t @-> string @-> returning int)
34
35 let create =
36 foreign "zfs_create"
37 (Types.libzfs_handle_t @-> string @-> int @-> ptr Types.nvlist_t
38 @-> returning int)
39
40 let open_ =
41 foreign "zfs_open"
42 (Types.libzfs_handle_t @-> string @-> int @-> returning Types.zfs_handle_t)
43
44 let mount =
45 foreign "zfs_mount" (Types.zfs_handle_t @-> string_opt @-> int @-> returning int)
46
47 let unmount =
48 foreign "zfs_unmount"
49 (Types.zfs_handle_t @-> string_opt @-> int @-> returning int)
50
51 let close = foreign "zfs_close" (Types.zfs_handle_t @-> returning void)
52 let destroy = foreign "zfs_destroy" (Types.zfs_handle_t @-> bool @-> returning int)
53 let get_type = foreign "zfs_get_type" (Types.zfs_handle_t @-> returning int)
54
55 module Nvlist = struct
56 let alloc =
57 foreign "nvlist_alloc"
58 (ptr (ptr Types.nvlist_t) @-> int @-> int @-> returning int)
59
60 let free = foreign "nvlist_free" (ptr Types.nvlist_t @-> returning void)
61
62 let add_bool =
63 foreign "nvlist_add_boolean_value"
64 (ptr Types.nvlist_t @-> string @-> bool @-> returning int)
65
66 let add_string =
67 foreign "nvlist_add_string"
68 (ptr Types.nvlist_t @-> string @-> string @-> returning int)
69
70 let add_byte =
71 foreign "nvlist_add_byte"
72 (ptr Types.nvlist_t @-> string @-> uchar @-> returning int)
73
74 let add_int64 =
75 foreign "nvlist_add_int64"
76 (ptr Types.nvlist_t @-> string @-> int64_t @-> returning int)
77 end
78
79 let clone =
80 foreign "zfs_clone"
81 (Types.zfs_handle_t @-> string @-> ptr Types.nvlist_t @-> returning int)
82
83 let snapshot =
84 foreign "zfs_snapshot"
85 (Types.libzfs_handle_t @-> string @-> bool @-> ptr Types.nvlist_t
86 @-> returning int)
87
88 let exists =
89 foreign "zfs_dataset_exists"
90 (Types.libzfs_handle_t @-> string @-> int @-> returning bool)
91
92 let is_mounted =
93 foreign "is_mounted"
94 (Types.libzfs_handle_t @-> string @-> ptr (ptr char) @-> returning bool)
95
96 let diff =
97 foreign "zfs_show_diffs"
98 (Types.zfs_handle_t @-> int @-> string @-> string_opt @-> int
99 @-> returning int)
100end