Autoconfify.
[ocaml-bitstring.git] / bitmatch.mli
1 (* Bitmatch library.
2  * $Id: bitmatch.mli,v 1.6 2008-04-01 19:10:45 rjones Exp $
3  *)
4
5 exception Construct_failure of string * string * int * int
6
7 type bitstring = string * int * int
8
9 val empty_bitstring : bitstring
10
11 val create_bitstring : int -> bitstring
12
13 val make_bitstring : int -> char -> bitstring
14
15 val bitstring_of_chan : in_channel -> bitstring
16
17 val bitstring_of_file : string -> bitstring
18
19 val hexdump_bitstring : out_channel -> bitstring -> unit
20
21 val bitstring_length : bitstring -> int
22
23 module Buffer : sig
24   type t
25   val create : unit -> t
26   val contents : t -> bitstring
27   val add_bits : t -> string -> int -> unit
28   val add_bit : t -> bool -> unit
29   val add_byte : t -> int -> unit
30 end
31
32 val debug : bool ref
33
34 (**/**)
35 (* Private functions, called from generated code.  Do not use
36  * these directly - they are not safe.
37  *)
38
39 val extract_bitstring : string -> int -> int -> int -> bitstring * int * int
40
41 val extract_remainder : string -> int -> int -> bitstring * int * int
42
43 val extract_bit : string -> int -> int -> int -> bool * int * int
44
45 val extract_char_unsigned : string -> int -> int -> int -> int * int * int
46
47 val extract_int_be_unsigned : string -> int -> int -> int -> int * int * int
48
49 val extract_int_le_unsigned : string -> int -> int -> int -> int * int * int
50
51 val extract_int32_be_unsigned : string -> int -> int -> int -> int32 * int * int
52
53 val extract_int32_le_unsigned : string -> int -> int -> int -> int32 * int * int
54
55 val extract_int64_be_unsigned : string -> int -> int -> int -> int64 * int * int
56
57 val construct_bit : Buffer.t -> bool -> int -> unit
58
59 val construct_char_unsigned : Buffer.t -> int -> int -> exn -> unit
60
61 val construct_int64_be_unsigned : Buffer.t -> int64 -> int -> exn -> unit