/usr/lib/ocaml/batteries/batDigest.mli is in libbatteries-ocaml-dev 2.6.0-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | (*
* BatDigest - Additional functions for MD5 message digests
* Copyright (C) 1996 Xavier Leroy, INRIA Rocquencourt
* Copyright (C) 2009 David Teller, LIFO, Universite d'Orleans
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version,
* with the special exception on linking described in file LICENSE.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*)
(** MD5 message digest.
This module provides functions to compute 128-bit ``digests'' of
arbitrary-length strings or files. The digests are of cryptographic
quality: it is very hard, given a digest, to forge a string having
that digest. The algorithm used is MD5.
@author Xavier Leroy (Base module)
@author David Rajchenbach-Teller
*)
open BatIO
type t = string
(** The type of digests: 16-character strings. *)
val string : string -> t
(** Return the digest of the given string. *)
val bytes : Bytes.t -> t
(** Return the digest of the given byte sequence.
@since 2.3.0
*)
val substring : string -> int -> int -> t
(** [Digest.substring s ofs len] returns the digest of the substring
of [s] starting at character number [ofs] and containing [len]
characters. *)
val subbytes : Bytes.t -> int -> int -> t
(** [Digest.subbytes s ofs len] returns the digest of the subsequence
of [s] starting at index [ofs] and containing [len] bytes.
@since 2.3.0
*)
val file : string -> t
(** Return the digest of the file whose name is given. *)
val to_hex : t -> string
(** Return the printable hexadecimal representation of the given digest. *)
val from_hex : string -> t
(** Convert a hexadecimal representation back into the corresponding digest.
@raise Invalid_argument if the argument is not exactly 32 hexadecimal
characters.
@since 4.00.0 *)
val channel : input -> int -> Digest.t
(** If [len] is nonnegative, [Digest.channel ic len] reads [len]
characters from channel [ic] and returns their digest, or
@raise End_of_file if end-of-file is reached before [len] characters
are read. If [len] is negative, [Digest.channel ic len] reads
all characters from [ic] until end-of-file is reached and return
their digest.
{b Note} This version of [channel] is currently very inefficient
if [len] < 0 and requires copying the whole input to a temporary
file.
*)
val output : 'a output -> t -> unit
(** Write a digest on the given output. *)
val print : 'a output -> Digest.t -> unit
(** Write a digest on the given output in hexadecimal. *)
val input : input -> Digest.t
(** Read a digest from the given input. *)
val compare : t -> t -> int
(** The comparison function for 16-character digest, with the same
specification as {!Pervasives.compare} and the implementation
shared with {!String.compare}. Along with the type [t], this
function [compare] allows the module [Digest] to be passed as
argument to the functors {!Set.Make} and {!Map.Make}.
@since Batteries 2.0 *)
val equal : t -> t -> bool
(** The equal function for digests.
@since 2.5.0 *)
|