this repo has no description
at main 3.2 kB view raw
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