(** A value which is either an ['a] or a ['b], just like Haskell's
"Either" type. *)
+val (//) : string -> string -> string
+ (** Concatenate two paths. *)
+
val verbose : unit -> bool
val set_verbose_flag : unit -> unit
(** If this contains [true] then {!debug} will send debugging
val utf8_rarrow : string (** UTF-8 RIGHTWARDS ARROW *)
+val human_size : int64 -> string
+ (** Convert a number of bytes into a human readable string. *)
+
val human_size_1k : int64 -> string
- (** Convert a number (of 1K blocks) into a human readable string. *)
+ (** Same as {!human_size} but the argument is 1KB blocks (used for
+ disk usage). *)
val unique : unit -> int
(** Return a new integer each time called. *)
(** Convenience function to make a label containing some text. It is
returned as a generic widget. *)
+val markup_escape : string -> string
+ (** Like g_markup_escape but with extra protection for strings
+ containing \0 characters. *)
+
val libguestfs_version_string : unit -> string
(** Return the version of libguestfs as a string. *)
val libvirt_version_string : unit -> string
(** Return the version of libvirt as a string. *)
-val (//) : string -> string -> string
- (** Concatenate two paths. *)
+val is_socket : int64 -> bool
+val is_symlink : int64 -> bool
+val is_regular_file : int64 -> bool
+val is_block : int64 -> bool
+val is_directory : int64 -> bool
+val is_char : int64 -> bool
+val is_fifo : int64 -> bool
+ (** File type tests. *)
+
+val is_suid : int64 -> bool
+val is_sgid : int64 -> bool
+val is_svtx : int64 -> bool
+ (** File setuid, setgid, sticky bit tests. *)
+
+val is_ru : int64 -> bool
+val is_wu : int64 -> bool
+val is_xu : int64 -> bool
+val is_rg : int64 -> bool
+val is_wg : int64 -> bool
+val is_xg : int64 -> bool
+val is_ro : int64 -> bool
+val is_wo : int64 -> bool
+val is_xo : int64 -> bool
+ (** rwx/ugo bits. *)
+
+val tmpdir : unit -> string
+ (** [tmpdir ()] returns a newly created temporary directory. The
+ tmp directory is automatically removed when the program exits.
+ Note that a fresh temporary directory is returned each time you
+ call this function. *)
+
+val windows_string_to_utf8 : string -> string
+ (** Convert a UTF16LE string to UTF8. This also removes the final
+ \0 word if there is one.
+
+ This may fail in multiple ways, raising a Camomile exception
+ which you probably need to catch. *)