val (-^) : int64 -> int64 -> int64
val ( *^ ) : int64 -> int64 -> int64
val (/^) : int64 -> int64 -> int64
+val (&^) : int64 -> int64 -> int64
(** Int64 arithmetic operators. *)
type ('a, 'b) either = Left of 'a | Right of 'b
This is set through the [--connect] command line option. *)
+val pretty_string_of_exn : exn -> string * string
+ (** Pretty string from exception.
+
+ Returns a title and a detailed message, for use in message dialogs.
+
+ To get raw exception string, use {!Printexc.to_string} from the
+ standard library. *)
+
+val utf8_copyright : string (** UTF-8 copyright symbol *)
val utf8_rarrow : string (** UTF-8 RIGHTWARDS ARROW *)
val human_size : int64 -> string
returned as a generic widget. *)
val markup_escape : string -> string
- (** Call g_markup_escape. *)
+ (** 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 is_wo : int64 -> bool
val is_xo : int64 -> bool
(** rwx/ugo bits. *)
+
+val file_permissions_string : int64 -> string
+ (** Convert [0755] to [-rwxr-xr-x] etc. *)
+
+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. *)
+
+val printable_hivex_value : ?split_long_lines:bool -> Hivex.hive_type -> string -> string
+ (** [printable_hivex_value t v] converts raw registry value
+ [v] of type [t] to a printable string. *)
+
+val local_file_exists : string -> bool
+ (** Returns true if the (local) file exists. *)
+
+val basename : string -> string
+ (** Get the basename of a file, using path conventions which are valid
+ for libguestfs. So {!Filename.basename} won't necessarily work
+ because it will use host path conventions. *)
+
+val extension : string -> string
+ (** Get the extension of a file using libguestfs path conventions,
+ including the leading point (eg. [.txt]). Might return an empty
+ string if there is no extension. *)