X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=utils.mli;h=ceff484971483e5ffe626465cff073f15b80f8d1;hb=63a55ccde74bd8ec7bac6ef5e4a54f2a803b2024;hp=1bc166905198d833e1572ef6cffde809cd99bdfe;hpb=02614e74adee2a5d499bd557a6adde99a3c56e73;p=guestfs-browser.git diff --git a/utils.mli b/utils.mli index 1bc1669..ceff484 100644 --- a/utils.mli +++ b/utils.mli @@ -22,6 +22,7 @@ val (+^) : int64 -> int64 -> int64 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 @@ -58,6 +59,15 @@ val set_connect_uri : string option -> unit 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 @@ -75,7 +85,8 @@ val mklabel : string -> GObj.widget 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. *) @@ -107,3 +118,36 @@ val is_ro : int64 -> bool 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. *)